Class: Refine::Stabilizers::DatabaseStabilizer

Inherits:
Object
  • Object
show all
Defined in:
app/models/refine/stabilizers/database_stabilizer.rb

Instance Method Summary collapse

Instance Method Details

#from_stable_id(id:, initial_query: nil) ⇒ Object



10
11
12
13
14
# File 'app/models/refine/stabilizers/database_stabilizer.rb', line 10

def from_stable_id(id:, initial_query: nil)
  # Find the associated StoredFilter by id and return state. Decode to create blueprint
  state = ActiveSupport::JSON.decode(model.find(id).state).deep_symbolize_keys
  Refine::Filter.from_state(state, initial_query)
end

#model ⇒ Object



16
17
18
# File 'app/models/refine/stabilizers/database_stabilizer.rb', line 16

def model
  Refine::StoredFilter
end

#to_stable_id(filter:, name: nil) ⇒ Object



5
6
7
8
# File 'app/models/refine/stabilizers/database_stabilizer.rb', line 5

def to_stable_id(filter:, name: nil)
  # Serialize the filter class and blueprint. Reference via id.
  model.find_or_create_by!(state: filter.state, name: name).id
end