lib/ransack/constants.rb in ransack-1.5.1 vs lib/ransack/constants.rb in ransack-1.6.0
- old
+ new
@@ -1,162 +1,68 @@
module Ransack
module Constants
ASC = 'asc'.freeze
DESC = 'desc'.freeze
+ ASC_DESC = [ASC, DESC].freeze
+
ASC_ARROW = '▲'.freeze
DESC_ARROW = '▼'.freeze
+
OR = 'or'.freeze
AND = 'and'.freeze
+ SPACED_AND = ' AND '.freeze
+
SORT = 'sort'.freeze
SORT_LINK = 'sort_link'.freeze
+ SORT_DIRECTION = 'sort_direction'.freeze
+
+ CAP_SEARCH = 'Search'.freeze
SEARCH = 'search'.freeze
- DEFAULT_SEARCH_KEY = 'q'.freeze
+ SEARCHES = 'searches'.freeze
+
ATTRIBUTE = 'attribute'.freeze
- DISTINCT = 'DISTINCT '.freeze
+ ATTRIBUTES = 'attributes'.freeze
COMBINATOR = 'combinator'.freeze
+
SPACE = ' '.freeze
COMMA_SPACE = ', '.freeze
+ COLON_SPACE = ': '.freeze
+ TWO_COLONS = '::'.freeze
UNDERSCORE = '_'.freeze
+ LEFT_PARENTHESIS = '('.freeze
+ Q = 'q'.freeze
+ I = 'i'.freeze
NON_BREAKING_SPACE = ' '.freeze
+ DOT_ASTERIX = '.*'.freeze
EMPTY = ''.freeze
+
STRING_JOIN = 'string_join'.freeze
ASSOCIATION_JOIN = 'association_join'.freeze
STASHED_JOIN = 'stashed_join'.freeze
JOIN_NODE = 'join_node'.freeze
TRUE_VALUES = [true, 1, '1', 't', 'T', 'true', 'TRUE'].to_set
FALSE_VALUES = [false, 0, '0', 'f', 'F', 'false', 'FALSE'].to_set
- BOOLEAN_VALUES = TRUE_VALUES + FALSE_VALUES
+ BOOLEAN_VALUES = (TRUE_VALUES + FALSE_VALUES).freeze
S_SORTS = %w(s sorts).freeze
- ASC_DESC = %w(asc desc).freeze
AND_OR = %w(and or).freeze
IN_NOT_IN = %w(in not_in).freeze
SUFFIXES = %w(_any _all).freeze
AREL_PREDICATES = %w(
eq not_eq matches does_not_match lt lteq gt gteq in not_in
).freeze
+ A_S_I = %w(a s i).freeze
EQ = 'eq'.freeze
NOT_EQ = 'not_eq'.freeze
EQ_ANY = 'eq_any'.freeze
NOT_EQ_ALL = 'not_eq_all'.freeze
+ CONT = 'cont'.freeze
- DERIVED_PREDICATES = [
- ['cont'.freeze, {
- :arel_predicate => 'matches'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}%" }
- }
- ],
- ['i_cont'.freeze, {
- :arel_predicate => 'i_matches'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}%" }
- }
- ],
- ['not_cont'.freeze, {
- :arel_predicate => 'does_not_match'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}%" }
- }
- ],
- ['i_not_cont'.freeze, {
- :arel_predicate => 'i_does_not_match'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}%" }
- }
- ],
- ['start'.freeze, {
- :arel_predicate => 'matches'.freeze,
- :formatter => proc { |v| "#{escape_wildcards(v)}%" }
- }
- ],
- ['not_start'.freeze, {
- :arel_predicate => 'does_not_match'.freeze,
- :formatter => proc { |v| "#{escape_wildcards(v)}%" }
- }
- ],
- ['end'.freeze, {
- :arel_predicate => 'matches'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}" }
- }
- ],
- ['not_end'.freeze, {
- :arel_predicate => 'does_not_match'.freeze,
- :formatter => proc { |v| "%#{escape_wildcards(v)}" }
- }
- ],
- ['true'.freeze, {
- :arel_predicate => proc { |v| v ? EQ : NOT_EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| true }
- }
- ],
- ['not_true'.freeze, {
- :arel_predicate => proc { |v| v ? NOT_EQ : EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| true }
- }
- ],
- ['false'.freeze, {
- :arel_predicate => proc { |v| v ? EQ : NOT_EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| false }
- }
- ],
- ['not_false'.freeze, {
- :arel_predicate => proc { |v| v ? NOT_EQ : EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| false }
- }
- ],
- ['present'.freeze, {
- :arel_predicate => proc { |v| v ? NOT_EQ_ALL : EQ_ANY },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| [nil, Ransack::Constants::EMPTY] }
- }
- ],
- ['blank'.freeze, {
- :arel_predicate => proc { |v| v ? EQ_ANY : NOT_EQ_ALL },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| [nil, Ransack::Constants::EMPTY] }
- }
- ],
- ['null'.freeze, {
- :arel_predicate => proc { |v| v ? EQ : NOT_EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v)},
- :formatter => proc { |v| nil }
- }
- ],
- ['not_null'.freeze, {
- :arel_predicate => proc { |v| v ? NOT_EQ : EQ },
- :compounds => false,
- :type => :boolean,
- :validator => proc { |v| BOOLEAN_VALUES.include?(v) },
- :formatter => proc { |v| nil } }
- ]
- ].freeze
+ RAILS_4_1 = '4.1'.freeze
- module_function
- # replace % \ to \% \\
- def escape_wildcards(unescaped)
- case ActiveRecord::Base.connection.adapter_name
- when "Mysql2".freeze, "PostgreSQL".freeze
- # Necessary for PostgreSQL and MySQL
- unescaped.to_s.gsub(/([\\|\%|.])/, '\\\\\\1')
- else
- unescaped
- end
- end
+ RANSACK_SLASH_SEARCHES = 'ransack/searches'.freeze
+ RANSACK_SLASH_SEARCHES_SLASH_SEARCH = 'ransack/searches/search'.freeze
end
end
+