class ToFactory::OptionsParser

Public Class Methods

new(options) click to toggle source
# File lib/to_factory/options_parser.rb, line 3
def initialize(options)
  @options = options
end

Public Instance Methods

calculate_name(klass) click to toggle source
# File lib/to_factory/options_parser.rb, line 30
def calculate_name(klass)
  klass.name.to_s.underscore
end
from_array(name, record) click to toggle source
# 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) click to toggle source
# File lib/to_factory/options_parser.rb, line 18
def from_record(record)
  name = calculate_name record.class

  [name, nil, nil, record]
end
get_instance() click to toggle source
# 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