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