Module: Espresso::Model::ClassMethods
- Defined in:
- lib/espresso/model.rb
Instance Method Summary collapse
-
#make_slug(object) ⇒ String
Make a slug from object’s NameField.
-
#name_field ⇒ Symbol
«NameField» is a main field, used to represent model in to_s method and in simple queries.
-
#paginate_found(page = nil, query = nil, simple_query = nil) ⇒ Array
Paginates search results.
-
#parse_simple_query(query) ⇒ Hash
Make searchlogic query from simple query option Needed to be reimplemented in subclasses.
Instance Method Details
#make_slug(object) ⇒ String
Make a slug from object’s NameField
47 48 49 |
# File 'lib/espresso/model.rb', line 47 def make_slug(object) object.send(name_field).parameterize end |
#name_field ⇒ Symbol
«NameField» is a main field, used to represent model in to_s method and in simple queries
40 41 42 |
# File 'lib/espresso/model.rb', line 40 def name_field :name end |
#paginate_found(page = nil, query = nil, simple_query = nil) ⇒ Array
TODO:
Add an options to paginating
Paginates search results
20 21 22 23 24 25 26 |
# File 'lib/espresso/model.rb', line 20 def paginate_found(page = nil, query = nil, simple_query = nil) query ||= {} query.merge!(parse_simple_query(simple_query)) if simple_query.present? @search = search(query) @results = @search.paginate(:page => page) [@search, @results] end |
#parse_simple_query(query) ⇒ Hash
Make searchlogic query from simple query option Needed to be reimplemented in subclasses
33 34 35 |
# File 'lib/espresso/model.rb', line 33 def parse_simple_query(query) {:"#{name_field}_like" => query} end |