Class: Pagelux::Query
- Inherits:
-
Object
- Object
- Pagelux::Query
- Defined in:
- lib/pagelux/query.rb
Instance Attribute Summary collapse
-
#limit ⇒ Object
Returns the value of attribute limit.
-
#page ⇒ Object
Returns the value of attribute page.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(page = nil, limit = nil) ⇒ Query
constructor
A new instance of Query.
- #normalize_page(n) ⇒ Object
- #perform(query) ⇒ Object
Constructor Details
#initialize(page = nil, limit = nil) ⇒ Query
Returns a new instance of Query.
5 6 7 8 |
# File 'lib/pagelux/query.rb', line 5 def initialize(page=nil, limit=nil) @limit = (limit || self.class.default_limit).to_i @page = normalize_page(page) end |
Instance Attribute Details
#limit ⇒ Object
Returns the value of attribute limit.
3 4 5 |
# File 'lib/pagelux/query.rb', line 3 def limit @limit end |
#page ⇒ Object
Returns the value of attribute page.
3 4 5 |
# File 'lib/pagelux/query.rb', line 3 def page @page end |
Class Method Details
.default_limit ⇒ Object
14 15 16 |
# File 'lib/pagelux/query.rb', line 14 def self.default_limit 100 end |
.default_page ⇒ Object
10 11 12 |
# File 'lib/pagelux/query.rb', line 10 def self.default_page 1 end |
Instance Method Details
#normalize_page(n) ⇒ Object
18 19 20 21 22 |
# File 'lib/pagelux/query.rb', line 18 def normalize_page(n) n = (n || self.class.default_page).to_i n = self.class.default_page if n < self.class.default_page n end |
#perform(query) ⇒ Object
24 25 26 |
# File 'lib/pagelux/query.rb', line 24 def perform(query) query.offset((page-1) * limit).limit(limit) end |