module NoSE::StatementSettings::ClassMethods

Add methods to the class for populating settings

Private Instance Methods

settings_from_tree(tree, params) click to toggle source

Extract settings from a parse tree @return [Array<FieldSetting>]

# File lib/nose/statements.rb, line 544
def settings_from_tree(tree, params)
  params[:settings] = tree[:settings].map do |setting|
    field = params[:entity][setting[:field].to_s]
    value = setting[:value]

    type = field.class.const_get 'TYPE'
    value = field.class.value_from_string(value.to_s) \
      unless type.nil? || value.nil?

    setting.delete :value
    FieldSetting.new field, value
  end
end