Module: LoadMore::ActiveRecord::ClassMethods
- Defined in:
- lib/load_more.rb
Instance Method Summary collapse
- #last_load(id = nil) ⇒ Object
- #load_limit ⇒ Object
- #load_limit=(limit) ⇒ Object
- #load_more(options = {}) ⇒ Object
- #sort_column ⇒ Object
- #sort_column=(col) ⇒ Object
- #sort_method ⇒ Object
- #sort_method=(method) ⇒ Object
Instance Method Details
#last_load(id = nil) ⇒ Object
68 69 70 |
# File 'lib/load_more.rb', line 68 def last_load(id = nil) load_more(last_load: id) end |
#load_limit ⇒ Object
31 32 33 |
# File 'lib/load_more.rb', line 31 def load_limit defined?(@@load_limit) ? @@load_limit : LoadMore.config.load_limit end |
#load_limit=(limit) ⇒ Object
27 28 29 |
# File 'lib/load_more.rb', line 27 def load_limit=(limit) @@load_limit = limit end |
#load_more(options = {}) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/load_more.rb', line 51 def load_more( = {}) load_limit = .delete(:load_limit) || self.load_limit sort_column = .delete(:sort_column) || self.sort_column sort_method = .delete(:sort_method) || self.sort_method last_load_id = .delete(:last_load) rel = order(sort_column => sort_method).limit(load_limit) if last_load_id where_query = if sort_method == :desc "#{self.table_name}.#{sort_column} < ?" else "#{self.table_name}.#{sort_column} > ?" end rel = rel.where(where_query, last_load_id) end rel end |
#sort_column ⇒ Object
39 40 41 |
# File 'lib/load_more.rb', line 39 def sort_column defined?(@@sort_column) ? @@sort_column : LoadMore.config.sort_column end |
#sort_column=(col) ⇒ Object
35 36 37 |
# File 'lib/load_more.rb', line 35 def sort_column=(col) @@sort_column = col end |
#sort_method ⇒ Object
47 48 49 |
# File 'lib/load_more.rb', line 47 def sort_method defined?(@@sort_method) ? @@sort_method : LoadMore.config.sort_method end |
#sort_method=(method) ⇒ Object
43 44 45 |
# File 'lib/load_more.rb', line 43 def sort_method=(method) @@sort_method = method end |