class Sunrise::Config::NestedField

Public Instance Methods

field(name = :custom, options = {}, &block) click to toggle source

Defines a configuration for a field.

# File lib/sunrise/config/nested_field.rb, line 14
def field(name = :custom, options = {}, &block)
  options = { name: name.to_sym }.merge(options)
  fields << Field.new(abstract_model, self, options, &block)
end
fields() click to toggle source

Array for store all defined fields

# File lib/sunrise/config/nested_field.rb, line 9
def fields
  @fields ||= []
end
multiply?() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 23
def multiply?
  @config_options[:multiply] != false
end
nested?() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 19
def nested?
  true
end
sort?() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 27
def sort?
  @config_options[:sort] != false
end
sort_column() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 35
def sort_column
  sort_options[:column]
end
sort_hidden_field?() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 31
def sort_hidden_field?
  sort? && sort_options[:hidden_field]
end
sort_options() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 39
def sort_options
  @sort_options ||= build_sort_options
end

Protected Instance Methods

build_sort_options() click to toggle source
# File lib/sunrise/config/nested_field.rb, line 45
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