module CmAdmin::Models::DslMethod
def column(field_name, options={})
def column(field_name, options={}) @available_fields[@current_action.name.to_sym] ||= [] if @available_fields[@current_action.name.to_sym].select{|x| x.lockable}.size > 0 && options[:lockable] raise 'Only one column can be locked in a table.' end duplicate_columns = @available_fields[@current_action.name.to_sym].filter{|x| x.field_name.to_sym == field_name} terminate = false if duplicate_columns.size.positive? duplicate_columns.each do |column| if options[:field_type].to_s != 'association' terminate = true elsif options[:field_type].to_s == 'association' && column.association_name.to_s == options[:association_name].to_s terminate = true end end end unless terminate @available_fields[@current_action.name.to_sym] << CmAdmin::Models::Column.new(field_name, options) end end