Sha256: bdd99a7b6159756515fac6e502393b4704afc8818c2edae4ded349f35aee5400
Contents?: true
Size: 1.11 KB
Versions: 6
Compression:
Stored size: 1.11 KB
Contents
require 'sunrise/config/field' module Sunrise module Config class NestedField < Field # Array for store all defined fields def fields @fields ||= [] end # Defines a configuration for a field. def field(name = :custom, options = {}, &block) options = { :name => name.to_sym }.merge(options) fields << Field.new(abstract_model, self, options, &block) end def nested? true end def multiply? @config_options[:multiply] != false end def sort? @config_options[:sort] != false end def sort_hidden_field? sort? && sort_options[:hidden_field] end def sort_column sort_options[:column] end def sort_options @sort_options ||= build_sort_options end protected def build_sort_options options = (@config_options[:sort].is_a?(Hash) ? @config_options[:sort] : {}).symbolize_keys { :column => :sort_order, :hidden_field => true }.merge(options) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems