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
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'ext/soup/soup.c', line 181 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
142 143 144 145 146 147 148 149 150 151 152 |
# File 'ext/soup/soup.c', line 142 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
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'ext/soup/soup.c', line 163 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
125 126 127 128 129 130 131 132 |
# File 'ext/soup/soup.c', line 125 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
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'ext/soup/soup.c', line 106 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
133 134 135 136 137 138 139 140 |
# File 'ext/soup/soup.c', line 133 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
154 155 156 157 158 159 160 161 |
# File 'ext/soup/soup.c', line 154 static VALUE rubber_flags_to_i(VALUE value) { FlagsData *data = NULL; Data_Get_Struct(value, FlagsData, data); return INT2FIX(data->value); } |
#to_s ⇒ Object
125 126 127 128 129 130 131 132 |
# File 'ext/soup/soup.c', line 125 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
125 126 127 128 129 130 131 132 |
# File 'ext/soup/soup.c', line 125 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
197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
# File 'ext/soup/soup.c', line 197 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, "", ""); } |