Skip to content

Commit a6875aa

Browse files
authored
Revert "Fix enum support" (#1645)
* Revert "Fix enum support (#1559)" This reverts commit e06a27d. * Patch specs
1 parent 0189ed1 commit a6875aa

File tree

4 files changed

+2
-46
lines changed

4 files changed

+2
-46
lines changed

lib/ransack/nodes/condition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ def validated_values
226226
end
227227

228228
def casted_values_for_attribute(attr)
229-
validated_values.map(&:cast_array)
229+
validated_values.map { |v| v.cast(predicate.type || attr.type) }
230230
end
231231

232232
def formatted_values_for_attribute(attr)

lib/ransack/nodes/value.rb

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,6 @@ def cast(type)
4343
end
4444
end
4545

46-
def cast_array
47-
if value.is_a?(Array)
48-
cast_to_date(value)
49-
else
50-
value
51-
end
52-
end
53-
5446
def cast_to_date(val)
5547
if val.respond_to?(:to_date)
5648
val.to_date rescue nil

spec/ransack/search_spec.rb

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -450,9 +450,6 @@ module Ransack
450450
let(:people_name_field) {
451451
"#{quote_table_name("people")}.#{quote_column_name("name")}"
452452
}
453-
let(:people_temperament_field) {
454-
"#{quote_table_name("people")}.#{quote_column_name("temperament")}"
455-
}
456453
let(:children_people_name_field) {
457454
"#{quote_table_name("children_people")}.#{quote_column_name("name")}"
458455
}
@@ -467,36 +464,6 @@ module Ransack
467464
children_people_name_field} = 'Ernie'/
468465
end
469466

470-
context 'when evaluating enums' do
471-
before do
472-
Person.take.update_attribute(:temperament, 'choleric')
473-
end
474-
475-
it 'evaluates enum key correctly' do
476-
s = Search.new(Person, temperament_eq: 'choleric')
477-
478-
expect(s.result.to_sql).not_to match /#{
479-
people_temperament_field} = 0/
480-
481-
expect(s.result.to_sql).to match /#{
482-
people_temperament_field} = #{Person.temperaments[:choleric]}/
483-
484-
expect(s.result).not_to be_empty
485-
end
486-
487-
it 'evaluates enum value correctly' do
488-
s = Search.new(Person, temperament_eq: Person.temperaments[:choleric])
489-
490-
expect(s.result.to_sql).not_to match /#{
491-
people_temperament_field} = 0/
492-
493-
expect(s.result.to_sql).to match /#{
494-
people_temperament_field} = #{Person.temperaments[:choleric]}/
495-
496-
expect(s.result).not_to be_empty
497-
end
498-
end
499-
500467
it 'use appropriate table alias' do
501468
s = Search.new(Person, {
502469
name_eq: "person_name_query",

spec/support/schema.rb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,6 @@ class Person < ApplicationRecord
8181
scope :sort_by_reverse_name_asc, lambda { order(Arel.sql("REVERSE(name) ASC")) }
8282
scope :sort_by_reverse_name_desc, lambda { order("REVERSE(name) DESC") }
8383

84-
enum :temperament, { sanguine: 1, choleric: 2, melancholic: 3, phlegmatic: 4 }
85-
8684
alias_attribute :full_name, :name
8785

8886
ransack_alias :term, :name_or_email
@@ -118,7 +116,7 @@ class Person < ApplicationRecord
118116
)
119117
end
120118

121-
ransacker :sql_literal_id do
119+
ransacker :sql_literal_id, type: :integer do
122120
Arel.sql('people.id')
123121
end
124122

@@ -302,7 +300,6 @@ def self.create
302300
t.string :new_start
303301
t.string :stop_end
304302
t.integer :salary
305-
t.integer :temperament
306303
t.date :life_start
307304
t.boolean :awesome, default: false
308305
t.boolean :terms_and_conditions, default: false

0 commit comments

Comments
 (0)