Class: MilkTea::Types::EnumBase
Instance Attribute Summary collapse
-
#backing_type ⇒ Object
readonly
Returns the value of attribute backing_type.
-
#external ⇒ Object
readonly
Returns the value of attribute external.
-
#hash ⇒ Object
readonly
Returns the value of attribute hash.
-
#module_name ⇒ Object
readonly
Returns the value of attribute module_name.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #define_member_values(member_values) ⇒ Object
- #define_members(backing_type, member_names) ⇒ Object
- #eql?(other) ⇒ Boolean (also: #==)
-
#initialize(name, module_name: nil, external: false) ⇒ EnumBase
constructor
A new instance of EnumBase.
- #member(name) ⇒ Object
- #member_value(name) ⇒ Object
- #members ⇒ Object
- #to_s ⇒ Object
Methods inherited from Base
#accept, #bitwise?, #boolean?, #children, #field_c_name, #float?, #integer?, #numeric?, #sendable?, #void?
Constructor Details
#initialize(name, module_name: nil, external: false) ⇒ EnumBase
Returns a new instance of EnumBase.
1213 1214 1215 1216 1217 1218 1219 1220 1221 |
# File 'lib/milk_tea/core/types.rb', line 1213 def initialize(name, module_name: nil, external: false) @name = name @module_name = module_name @external = external @backing_type = nil @members = {} @member_values = {} @hash = [self.class, name, module_name, external].hash end |
Instance Attribute Details
#backing_type ⇒ Object (readonly)
Returns the value of attribute backing_type.
1211 1212 1213 |
# File 'lib/milk_tea/core/types.rb', line 1211 def backing_type @backing_type end |
#external ⇒ Object (readonly)
Returns the value of attribute external.
1211 1212 1213 |
# File 'lib/milk_tea/core/types.rb', line 1211 def external @external end |
#hash ⇒ Object (readonly)
Returns the value of attribute hash.
1259 1260 1261 |
# File 'lib/milk_tea/core/types.rb', line 1259 def hash @hash end |
#module_name ⇒ Object (readonly)
Returns the value of attribute module_name.
1211 1212 1213 |
# File 'lib/milk_tea/core/types.rb', line 1211 def module_name @module_name end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
1211 1212 1213 |
# File 'lib/milk_tea/core/types.rb', line 1211 def name @name end |
Instance Method Details
#define_member_values(member_values) ⇒ Object
1232 1233 1234 1235 |
# File 'lib/milk_tea/core/types.rb', line 1232 def define_member_values(member_values) @member_values = member_values.freeze self end |
#define_members(backing_type, member_names) ⇒ Object
1223 1224 1225 1226 1227 1228 1229 1230 |
# File 'lib/milk_tea/core/types.rb', line 1223 def define_members(backing_type, member_names) @backing_type = backing_type @members = member_names.each_with_object({}) do |member_name, members| members[member_name] = self end.freeze @member_values = {} self end |
#eql?(other) ⇒ Boolean Also known as: ==
1250 1251 1252 1253 1254 1255 |
# File 'lib/milk_tea/core/types.rb', line 1250 def eql?(other) other.class == self.class && other.name == name && other.module_name == module_name && other.external == external end |
#member(name) ⇒ Object
1237 1238 1239 |
# File 'lib/milk_tea/core/types.rb', line 1237 def member(name) @members[name] end |
#member_value(name) ⇒ Object
1241 1242 1243 |
# File 'lib/milk_tea/core/types.rb', line 1241 def member_value(name) @member_values[name] end |
#members ⇒ Object
1245 1246 1247 |
# File 'lib/milk_tea/core/types.rb', line 1245 def members @members.keys end |
#to_s ⇒ Object
1261 1262 1263 |
# File 'lib/milk_tea/core/types.rb', line 1261 def to_s module_name ? "#{module_name}.#{name}" : name end |