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?