class RPM::Source
Public Class Methods
new(*args)
click to toggle source
Creates a new Source
object @param [String] url @param
[Number] source number (index) @param [Boolean] nosource Sets the NoSource
flag (default false)
@example
RPM::Source.new ('http://example.com/hoge/hoge.tar.bz2', 0) RPM:: Source.new ('http://example.com/fuga/fuga.tar.gz', 1, true)
static VALUE source_initialize(int argc, VALUE* argv, VALUE src) { switch (argc) { case 0: case 1: rb_raise(rb_eArgError, "argument too few(2..3)"); case 2: case 3: if (TYPE(argv[0]) != T_STRING) { rb_raise(rb_eTypeError, "illegal argument type"); } rb_ivar_set(src, id_full, argv[0]); rb_ivar_set(src, id_num, rb_Integer(argv[1])); if (argc == 3) { rb_ivar_set(src, id_no, RTEST(argv[2]) ? Qtrue : Qfalse); } else { rb_ivar_set(src, id_no, Qfalse); } break; default: rb_raise(rb_eArgError, "argument too many(2..3)"); } return src; }
Public Instance Methods
filename()
click to toggle source
@return [String] Source's filename @example
src = RPM::Source.new('http://example.com/hoge/hoge.tar.bz2', 0) src.filename => 'hoge.tar.bz2'
VALUE rpm_source_get_filename(VALUE src) { VALUE fn = rb_ivar_get(src, id_fn); if (NIL_P(fn)) { VALUE full = rb_ivar_get(src, id_full); const char* p = strrchr(RSTRING_PTR(full), '/'); if (p == NULL) { p = RSTRING_PTR(full); } else { p++; } fn = rb_str_new2(p); rb_ivar_set(src, id_fn, fn); } return fn; }
fullname()
click to toggle source
@return [String] Source's fullname @example
src = RPM::Source.new('http://example.com/hoge/hoge.tar.bz2', 0) src.fullname => 'http://example.com/hoge/hoge.tar.bz2'
VALUE rpm_source_get_fullname(VALUE src) { return rb_ivar_get(src, id_full); }
Also aliased as: to_s
no?()
click to toggle source
@return [Boolean] Whether the NoSource flag is set @example
src = RPM::Source.new('http://example.com/hoge/hoge.tar.bz2', 0, true) src.no? => true
VALUE rpm_source_is_no(VALUE src) { return rb_ivar_get(src, id_no); }
num()
click to toggle source
@return [Number] Source's index @example
src = RPM::Source.new ('http://example.com/hoge/hoge.tar.bz2', 0) src.num => 0
VALUE rpm_source_get_num(VALUE src) { return rb_ivar_get(src, id_num); }