Class: Lims::Core::Persistence::Search::SearchSequelPersistor
- Inherits:
-
SearchPersistor
- Object
- Persistor
- SearchPersistor
- Lims::Core::Persistence::Search::SearchSequelPersistor
- Defined in:
- lib/lims-core/persistence/search/search_sequel_persistor.rb
Constant Summary
Constants included from Lims::Core::Persistence::Sequel::Filters
Lims::Core::Persistence::Sequel::Filters::COMPARISON_OPERATORS, Lims::Core::Persistence::Sequel::Filters::LIKE_OPERATOR
Constants inherited from SearchPersistor
Lims::Core::Persistence::Search::SearchPersistor::Model
Class Method Summary collapse
Instance Method Summary collapse
- #filter_attributes_on_load(attributes) ⇒ Object
- #filter_attributes_on_save(attributes, *args) ⇒ Object
Methods included from Lims::Core::Persistence::Sequel::Persistor
#bulk_insert, #bulk_load, #count, #dataset, included, #initialize, #table_name
Methods included from Lims::Core::Persistence::Sequel::Filters
#add_comparison_filter, #comparison_filter, #multi_criteria_filter
Methods inherited from SearchPersistor
Methods inherited from Persistor
#[], #bind_state_to_id, #bind_state_to_resource, #bulk_delete, #bulk_delete_raw, #bulk_insert, #bulk_retrieve, #bulk_update, #children, #count, #deletable_children, #deletable_parents, #dirty_key_for, #for_each_in_slice, #id_for, #ids_for, inherited, #initialize, #invalid_resource?, #load_children, #model, #new_from_attributes, #new_object, #object_for, #on_object_load, #parents, #parents_for_attributes, #purge_invalid_object, register_model, #retrieve, #slice, #state_for, #state_for?, #state_for_id
Class Method Details
.table_name ⇒ Object
14 15 16 |
# File 'lib/lims-core/persistence/search/search_sequel_persistor.rb', line 14 def self.table_name :searches end |
Instance Method Details
#filter_attributes_on_load(attributes) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/lims-core/persistence/search/search_sequel_persistor.rb', line 18 def filter_attributes_on_load(attributes) filter_parameters = @session.unserialize(attributes[:filter_parameters]) # The first key should be a symbol, @see persistence/comparison_filter.rb for example filter_parameters.rekey! { |k| k.to_sym } { :description => attributes[:description], :model => constant(attributes[:model]), :filter => Persistence.const_get(attributes[:filter_type]).new(filter_parameters) } end |
#filter_attributes_on_save(attributes, *args) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/lims-core/persistence/search/search_sequel_persistor.rb', line 28 def filter_attributes_on_save(attributes, *args) filter = attributes[:filter] { :description => attributes[:description], :model => attributes[:model].name, :filter_type => filter.class.name.split('::').last, :filter_parameters => @session.serialize(filter.attributes) } end |