Sha256: 193b5e7bffd6671ec7f1590e090fc4a0790d61db5871db72b34b0e6f52712165

Contents?: true

Size: 787 Bytes

Versions: 8

Compression:

Stored size: 787 Bytes

Contents

module DynamicScaffold
  module Form
    module Item
      class JSONObject < Base
        attr_reader :form
        def initialize(config, type, name, options = {})
          super
          @options = options
          @form = FormBuilder.new(config)
          @form.parent_item = self
          yield(@form)
        end

        # the lable is always empty.
        def render_label(_view, _depth)
          ''
        end

        def extract_parameters(permitting)
          hash = permitting.find {|e| e.is_a?(Hash) && e.key?(name) }
          if hash.nil?
            hash = {}
            hash[name] = form.items.map(&:name)
            permitting << hash
          else
            hash[name].concat(form.items.map(&:name))
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dynamic_scaffold-1.12.2 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.12.1 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.12.0 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.11.0 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.10.0 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.9.0 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.8.1 lib/dynamic_scaffold/form/item/json_object.rb
dynamic_scaffold-1.8.0 lib/dynamic_scaffold/form/item/json_object.rb