Sha256: a8ff72727da7888662d1aab45b3b7da66f73d931a2c3afedc7fe4e9c6d55eb59

Contents?: true

Size: 718 Bytes

Versions: 1

Compression:

Stored size: 718 Bytes

Contents

module Yaks
  class Resource
    class Form
      include Yaks::Mapper::Form.attributes

      def [](name)
        fields.find {|field| field.name == name}.value
      end

      def values
        fields.each_with_object({}) do |field, values|
          values[field.name] = field.value
        end
      end

      class Field
        include Yaks::Mapper::Form::Field.attributes.add(:error => nil)

        def value(arg = Undefined)
          return @value if arg.eql?(Undefined)
          if type == :select
            selected = options.find { |option| option.selected }
            selected.value if selected
          else
            update(value: arg)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yaks-0.7.7 lib/yaks/resource/form.rb