lib/formulaic/form.rb in formulaic-0.0.6 vs lib/formulaic/form.rb in formulaic-0.1.0
- old
+ new
@@ -8,32 +8,34 @@
Array => Formulaic::Inputs::ArrayInput,
String => Formulaic::Inputs::StringInput,
Fixnum => Formulaic::Inputs::StringInput,
TrueClass => Formulaic::Inputs::BooleanInput,
FalseClass => Formulaic::Inputs::BooleanInput,
+ File => Formulaic::Inputs::FileInput,
}.freeze
- def initialize(model_name, attributes)
+ def initialize(model_name, action, attributes)
+ @action = action
@inputs = build_inputs(model_name, attributes)
- @session = session
end
def fill
@inputs.each { |input| input.fill }
end
private
- attr_reader :session, :model_name, :inputs
+ attr_reader :model_name, :inputs, :action
def build_inputs(model_name, attributes)
attributes.map do |field, value|
build_input(model_name, field, value)
end
end
def build_input(model_name, field, value)
- input_class_for(value).new(model_name, field, value)
+ label = Label.new(model_name, field, action)
+ input_class_for(value).new(label, value)
end
def input_class_for(value)
ATTRIBUTE_INPUT_MAP.fetch(value.class) do
raise InvalidAttributeTypeError.new("Formulaic does not know how to fill in a #{value.class} value")