Class: Flags
- Inherits:
-
Object
- Object
- Flags
- Defined in:
- ext/soup/soup.c
Direct Known Subclasses
Instance Method Summary collapse
- #&(other) ⇒ Object
- #<=>(other) ⇒ Object
- #coerce(other) ⇒ Object
- #fullname ⇒ Object
- #inspect ⇒ Object
- #name ⇒ Object
- #to_i ⇒ Object
- #to_s ⇒ Object
- #to_str ⇒ Object
- #|(other) ⇒ Object
Instance Method Details
#&(other) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'ext/soup/soup.c', line 176 static VALUE rubber_flags_and(VALUE value, VALUE other) { FlagsData *data = NULL; int original = 0; int other_num = 0; Data_Get_Struct(value, FlagsData, data); original = data->value; other_num = flags_value_to_int(value, CLASS_OF(value)); // return INT2NUM(original & other_num); return make_flags_value(CLASS_OF(value), original & other_num, "", ""); } |
#<=>(other) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 |
# File 'ext/soup/soup.c', line 137 static VALUE rubber_flags_cmp(VALUE value, VALUE other) { VALUE a,b; a = rb_funcall(value, rb_intern("to_i"), 0); b = rb_funcall(other, rb_intern("to_i"), 0); #ifdef RB_NUM_COERCE_FUNCS_NEED_OPID return rb_num_coerce_cmp(a, b, rb_intern("==")); #else return rb_num_coerce_cmp(a, b); #endif } |
#coerce(other) ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'ext/soup/soup.c', line 158 static VALUE rubber_flags_coerce(VALUE value, VALUE other) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); switch(TYPE(other)) { case T_FIXNUM: case T_BIGNUM: return INT2FIX(data->value); case T_FLOAT: return Qnil; default: return Qnil; } } |
#fullname ⇒ Object
120 121 122 123 124 125 126 127 |
# File 'ext/soup/soup.c', line 120 static VALUE rubber_flags_to_s(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return rb_str_new2(data->fullname); } |
#inspect ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'ext/soup/soup.c', line 101 static VALUE rubber_flags_inspect(VALUE value) { FlagsData *data = NULL; volatile VALUE str = rb_str_new("#<", 2); char number[16] = ""; Data_Get_Struct(value, FlagsData, data); rb_str_cat2(str, rb_obj_classname(value)); rb_str_cat2(str, " - "); rb_str_cat2(str, data->name); rb_str_cat2(str, "("); sprintf(number, "%i", data->value); rb_str_cat2(str, number); rb_str_cat2(str, ")>"); return str; } |
#name ⇒ Object
128 129 130 131 132 133 134 135 |
# File 'ext/soup/soup.c', line 128 static VALUE rubber_flags_name(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return rb_str_new2(data->name); } |
#to_i ⇒ Object
149 150 151 152 153 154 155 156 |
# File 'ext/soup/soup.c', line 149 static VALUE rubber_flags_to_i(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return INT2FIX(data->value); } |
#to_s ⇒ Object
120 121 122 123 124 125 126 127 |
# File 'ext/soup/soup.c', line 120 static VALUE rubber_flags_to_s(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return rb_str_new2(data->fullname); } |
#to_str ⇒ Object
120 121 122 123 124 125 126 127 |
# File 'ext/soup/soup.c', line 120 static VALUE rubber_flags_to_s(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return rb_str_new2(data->fullname); } |
#|(other) ⇒ Object
192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'ext/soup/soup.c', line 192 static VALUE rubber_flags_or(VALUE value, VALUE other) { FlagsData *data = NULL; int original = 0; int other_num = 0; Data_Get_Struct(value, FlagsData, data); original = data->value; other_num = flags_value_to_int(value, CLASS_OF(value)); return make_flags_value(CLASS_OF(value), original | other_num, "", ""); } |