Class: ToFactory::OptionsParser

Inherits:
Object
  • Object
show all
Defined in:
lib/to_factory/options_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ OptionsParser

Returns a new instance of OptionsParser.



3
4
5
# File 'lib/to_factory/options_parser.rb', line 3

def initialize(options)
  @options = options
end

Instance Method Details

#calculate_name(klass) ⇒ Object



30
31
32
# File 'lib/to_factory/options_parser.rb', line 30

def calculate_name(klass)
  klass.name.to_s.underscore
end

#from_array(name, record) ⇒ Object



24
25
26
27
28
# File 'lib/to_factory/options_parser.rb', line 24

def from_array(name, record)
  parent_name = calculate_name(record.class)
  parent_name = nil if parent_name.to_s == name.to_s
  [name, parent_name, nil, record]
end

#from_record(record) ⇒ Object



18
19
20
21
22
# File 'lib/to_factory/options_parser.rb', line 18

def from_record(record)
  name = calculate_name record.class

  [name, nil, nil, record]
end

#get_instanceObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/to_factory/options_parser.rb', line 7

def get_instance
  args = case @options
  when ActiveRecord::Base
    from_record(@options)
  when Array
    from_array(*@options)
  end

  Representation.new(*args)
end