class SimpleEnumeration::Collection
Constants
- FOR_SELECT_METHOD_NAME_SUFFIX
- HUMANIZED_METHOD_NAME_SUFFIX
- METHOD_NAME_SUFFIX
- MissingTypeError
- VALUE_METHOD_NAME_SUFFIX
- VALUE_PREDICATE_METHOD_NAME_SUFFIX
Attributes
name[R]
types[R]
Public Class Methods
collection_name_from_for_select_method_name(method_name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 32 def self.collection_name_from_for_select_method_name(method_name) method_name.to_s.gsub(FOR_SELECT_METHOD_NAME_SUFFIX, '') end
collection_name_from_humanized_method_name(method_name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 36 def self.collection_name_from_humanized_method_name(method_name) method_name.to_s.gsub(HUMANIZED_METHOD_NAME_SUFFIX, '') end
collection_name_from_method_name(method_name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 20 def self.collection_name_from_method_name(method_name) method_name.to_s.gsub(METHOD_NAME_SUFFIX, '') end
collection_name_from_value_method_name(method_name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 24 def self.collection_name_from_value_method_name(method_name) method_name.to_s.gsub(VALUE_METHOD_NAME_SUFFIX, '') end
collection_name_from_value_predicate_method_name(method_name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 28 def self.collection_name_from_value_predicate_method_name(method_name) method_name.to_s.gsub(VALUE_PREDICATE_METHOD_NAME_SUFFIX, '') end
new(name:, types: {})
click to toggle source
# File lib/simple_enumeration/collection.rb, line 9 def initialize(name:, types: {}) @name = name @types = types end
Public Instance Methods
add_type(name, value)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 66 def add_type(name, value) types[name] = value end
for_select_method_name()
click to toggle source
# File lib/simple_enumeration/collection.rb, line 52 def for_select_method_name [name, FOR_SELECT_METHOD_NAME_SUFFIX].join end
get_type(name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 60 def get_type(name) types[name].tap do |value| raise MissingTypeError, "Missing type for #{name}" unless value end end
humanized_method_name()
click to toggle source
# File lib/simple_enumeration/collection.rb, line 56 def humanized_method_name [name, HUMANIZED_METHOD_NAME_SUFFIX].join end
method_name()
click to toggle source
# File lib/simple_enumeration/collection.rb, line 40 def method_name [name, METHOD_NAME_SUFFIX].join end
remove_type(name)
click to toggle source
# File lib/simple_enumeration/collection.rb, line 70 def remove_type(name) types[name] = nil end
value_method_name()
click to toggle source
# File lib/simple_enumeration/collection.rb, line 44 def value_method_name [name, VALUE_METHOD_NAME_SUFFIX].join end
value_predicate_method_name()
click to toggle source
# File lib/simple_enumeration/collection.rb, line 48 def value_predicate_method_name [name, VALUE_PREDICATE_METHOD_NAME_SUFFIX].join end