class SimpleEnumeration::TypeBuilder

Attributes

definition[R]
enum_class[R]

Public Class Methods

call(*params, **options, &block) click to toggle source
# File lib/simple_enumeration/type_builder.rb, line 12
def self.call(*params, **options, &block)
  new(*params, **options).call(&block)
end
new(enum_class:, definition:) click to toggle source
# File lib/simple_enumeration/type_builder.rb, line 7
def initialize(enum_class:, definition:)
  @enum_class = enum_class
  @definition = definition
end

Public Instance Methods

call() click to toggle source
# File lib/simple_enumeration/type_builder.rb, line 16
def call
  factory_klass.call(
    enum_class: enum_class,
    definition: definition
  )
end
factory_klass() click to toggle source
# File lib/simple_enumeration/type_builder.rb, line 23
def factory_klass
  if definition.is_a?(Hash)
    Types::HashFactory
  else
    Types::StringFactory
  end
end