Module: ActiveTools::Misc::InputSource::AttributesAssignment

Included in:
OnLoadActiveRecord
Defined in:
lib/active_tools/misc/input_source.rb

Instance Method Summary collapse

Instance Method Details

#assign_attributes(*args) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/active_tools/misc/input_source.rb', line 61

def assign_attributes(*args)
  new_attributes = args.first
  if new_attributes.respond_to?(:input_source)
    @input_source = new_attributes.input_source
  end
  super(*args)
end

#field_of(attribute) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/active_tools/misc/input_source.rb', line 69

def field_of(attribute)
  if @input_source && has_attribute?(attribute)
    "#{@input_source}[#{attribute}]".tap do |input_source|
      input_source.instance_eval do
        def to_id
          self.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "")
        end
      end
    end
  end
end