Store the wrapper API attributes in the leaves

This commit is contained in:
Rafael Mendonça França 2014-03-10 18:40:54 -03:00
parent 95da39311f
commit dda200645a
3 changed files with 7 additions and 6 deletions

View File

@ -47,9 +47,9 @@ module SimpleForm
def use(name, options=nil, &block)
if options && wrapper = options[:wrap_with]
@components << Single.new(name, wrapper)
@components << Single.new(name, wrapper, options.except(:wrap_with))
else
@components << Leaf.new(name)
@components << Leaf.new(name, options)
end
end

View File

@ -1,10 +1,11 @@
module SimpleForm
module Wrappers
class Leaf
attr_reader :namespace
attr_reader :namespace, :options
def initialize(namespace)
def initialize(namespace, options={})
@namespace = namespace
@options = options
end
def render(input)

View File

@ -2,8 +2,8 @@ module SimpleForm
module Wrappers
# `Single` is an optimization for a wrapper that has only one component.
class Single < Many
def initialize(name, options={})
super(name, [Leaf.new(name)], options)
def initialize(name, wrapper_options={}, options={})
super(name, [Leaf.new(name, options)], wrapper_options)
end
def render(input)