lib/active_scaffold/finder.rb in active_scaffold-3.4.1 vs lib/active_scaffold/finder.rb in active_scaffold-3.4.2

- old
+ new

@@ -16,19 +16,19 @@ tokens = [tokens] if tokens.is_a? String where_clauses = [] columns.each do |column| Array(column.search_sql).each do |search_sql| - where_clauses << "#{search_sql} #{(column.column.nil? || column.column.text?) ? ActiveScaffold::Finder.like_operator : '='} ?" + where_clauses << "#{search_sql} #{column.text? ? ActiveScaffold::Finder.like_operator : '='} ?" end end phrase = where_clauses.join(' OR ') tokens.collect do |value| columns.inject([phrase]) do |condition, column| Array(column.search_sql).size.times do - condition.push((column.column.nil? || column.column.text?) ? like_pattern.sub('?', value) : column.column.type_cast(value)) + condition.push(column.text? ? like_pattern.sub('?', value) : column.column.type_cast(value)) end condition end end end @@ -60,11 +60,11 @@ when :date, :time, :datetime, :timestamp condition_for_datetime(column, value) when :select, :multi_select, :country, :usa_state, :chosen, :multi_chosen ["%{search_sql} in (?)", Array(value)] else - if column.column.nil? || column.column.text? + if column.text? ["%{search_sql} #{ActiveScaffold::Finder.like_operator} ?", like_pattern.sub('?', value)] else ["%{search_sql} = ?", column.column.type_cast(value)] end end @@ -95,11 +95,11 @@ end end def condition_for_range(column, value, like_pattern = nil) if !value.is_a?(Hash) - if column.column.nil? || column.column.text? + if column.text? ["%{search_sql} #{ActiveScaffold::Finder.like_operator} ?", like_pattern.sub('?', value)] else ["%{search_sql} = ?", column.column.type_cast(value)] end elsif ActiveScaffold::Finder::NullComparators.include?(value[:opt]) @@ -318,15 +318,15 @@ id_condition, # for list with id (e.g. /users/:id/index) active_scaffold_conditions, # from the search modules conditions_for_collection, # from the dev conditions_from_params, # from the parameters (e.g. /users/list?first_name=Fred) conditions_from_constraints, # from any constraints (embedded scaffolds) - active_scaffold_session_storage[:conditions] # embedding conditions (weaker constraints) + active_scaffold_session_storage['conditions'] # embedding conditions (weaker constraints) ].reject(&:blank?) end def id_condition - {:id => params[:id]} if params[:id] + {active_scaffold_config.model.primary_key => params[:id]} if params[:id] end # returns a single record (the given id) but only if it's allowed for the specified security options. # security options can be a hash for authorized_for? method or a value to check as a :crud_type # accomplishes this by checking model.#{action}_authorized?