Sha256: 806c2d20eac5bc78a17b0ba243e8473b3e2ebad8730eaef179d8244354e44ff3
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module Yaks class Mapper class Form extend Util::Deprecated, Configurable include Attributes.new( name: nil, action: nil, title: nil, method: nil, media_type: nil, fields: [] ) deprecated_alias :href, :action Builder = StatefulBuilder.new( self, self.attributes.names + HTML5Forms::INPUT_TYPES + [:field] ) def self.create(name = nil, options = {}, &block) Builder.build(new({name: name}.merge(options)), &block) end def add_to_resource(resource, mapper, _context) resource.add_form(to_resource(mapper)) end def to_resource(mapper) attrs = { fields: resource_fields(mapper), action: mapper.expand_uri(action, true) } [:name, :title, :method, :media_type].each do |attr| attrs[attr] = mapper.expand_value(public_send(attr)) end Resource::Form.new(attrs) end def resource_fields(mapper) fields.map { |field| field.to_resource(mapper) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yaks-0.7.7 | lib/yaks/mapper/form.rb |