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.
1218 1219 1220 1221 1222 1223 1224 1225 1226 |
# File 'lib/milk_tea/core/types.rb', line 1218 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.
1216 1217 1218 |
# File 'lib/milk_tea/core/types.rb', line 1216 def backing_type @backing_type end |
#external ⇒ Object (readonly)
Returns the value of attribute external.
1216 1217 1218 |
# File 'lib/milk_tea/core/types.rb', line 1216 def external @external end |
#hash ⇒ Object (readonly)
Returns the value of attribute hash.
1264 1265 1266 |
# File 'lib/milk_tea/core/types.rb', line 1264 def hash @hash end |
#module_name ⇒ Object (readonly)
Returns the value of attribute module_name.
1216 1217 1218 |
# File 'lib/milk_tea/core/types.rb', line 1216 def module_name @module_name end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
1216 1217 1218 |
# File 'lib/milk_tea/core/types.rb', line 1216 def name @name end |
Instance Method Details
#define_member_values(member_values) ⇒ Object
1237 1238 1239 1240 |
# File 'lib/milk_tea/core/types.rb', line 1237 def define_member_values(member_values) @member_values = member_values.freeze self end |
#define_members(backing_type, member_names) ⇒ Object
1228 1229 1230 1231 1232 1233 1234 1235 |
# File 'lib/milk_tea/core/types.rb', line 1228 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: ==
1255 1256 1257 1258 1259 1260 |
# File 'lib/milk_tea/core/types.rb', line 1255 def eql?(other) other.class == self.class && other.name == name && other.module_name == module_name && other.external == external end |
#member(name) ⇒ Object
1242 1243 1244 |
# File 'lib/milk_tea/core/types.rb', line 1242 def member(name) @members[name] end |
#member_value(name) ⇒ Object
1246 1247 1248 |
# File 'lib/milk_tea/core/types.rb', line 1246 def member_value(name) @member_values[name] end |
#members ⇒ Object
1250 1251 1252 |
# File 'lib/milk_tea/core/types.rb', line 1250 def members @members.keys end |
#to_s ⇒ Object
1266 1267 1268 |
# File 'lib/milk_tea/core/types.rb', line 1266 def to_s module_name ? "#{module_name}.#{name}" : name end |