Class: Rubee::AssocArray
- Inherits:
-
Array
- Object
- Array
- Rubee::AssocArray
- Includes:
- Hookable
- Defined in:
- lib/rubee/models/assoc_array.rb
Instance Method Summary collapse
- #^ ⇒ Object
- #all ⇒ Object
- #find_first(*args) ⇒ Object
- #find_last(*args) ⇒ Object
-
#initialize(*args, model, query_dataset, **options) ⇒ AssocArray
constructor
A new instance of AssocArray.
- #join(*args) ⇒ Object
- #limit(*args) ⇒ Object
- #offset(*args) ⇒ Object
- #order(*args) ⇒ Object
- #owns_many(*args) ⇒ Object
- #paginate(*args) ⇒ Object
- #pagination_meta ⇒ Object
- #where(*args) ⇒ Object
Methods included from Hookable
Constructor Details
#initialize(*args, model, query_dataset, **options) ⇒ AssocArray
Returns a new instance of AssocArray.
10 11 12 13 14 15 |
# File 'lib/rubee/models/assoc_array.rb', line 10 def initialize(*args, model, query_dataset, **) super(*args) @__model = model @__query_dataset = query_dataset @__pagination_meta = [:pagination_meta] end |
Instance Method Details
#^ ⇒ Object
73 74 75 |
# File 'lib/rubee/models/assoc_array.rb', line 73 def ^ @__query_dataset end |
#all ⇒ Object
17 18 19 |
# File 'lib/rubee/models/assoc_array.rb', line 17 def all @__model.all(__query_dataset: @__query_dataset) end |
#find_first(*args) ⇒ Object
25 26 27 |
# File 'lib/rubee/models/assoc_array.rb', line 25 def find_first(*args) @__model.find_first(*args, __query_dataset: @__query_dataset) end |
#find_last(*args) ⇒ Object
29 30 31 |
# File 'lib/rubee/models/assoc_array.rb', line 29 def find_last(*args) @__model.find_last(*args, __query_dataset: @__query_dataset) end |
#join(*args) ⇒ Object
37 38 39 |
# File 'lib/rubee/models/assoc_array.rb', line 37 def join(*args) @__model.join(*args, __query_dataset: @__query_dataset) end |
#limit(*args) ⇒ Object
41 42 43 |
# File 'lib/rubee/models/assoc_array.rb', line 41 def limit(*args) @__model.limit(*args, __query_dataset: @__query_dataset) end |
#offset(*args) ⇒ Object
45 46 47 |
# File 'lib/rubee/models/assoc_array.rb', line 45 def offset(*args) @__model.offset(*args, __query_dataset: @__query_dataset) end |
#order(*args) ⇒ Object
33 34 35 |
# File 'lib/rubee/models/assoc_array.rb', line 33 def order(*args) @__model.order(*args, __query_dataset: @__query_dataset) end |
#owns_many(*args) ⇒ Object
49 50 51 |
# File 'lib/rubee/models/assoc_array.rb', line 49 def owns_many(*args) @__model.owns_many(*args, __query_dataset: @__query_dataset) end |
#paginate(*args) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rubee/models/assoc_array.rb', line 53 def paginate(*args) total_count = @__query_dataset.count current_page, per_page = args = { current_page:, per_page:, total_count:, first_page: current_page == 1, last_page: current_page == (total_count / per_page.to_f).ceil, prev: current_page > 1 ? current_page - 1 : nil, next: current_page < (total_count / per_page.to_f).ceil ? current_page + 1 : nil, } @__model.paginate(*args, __query_dataset: @__query_dataset, __pagination_meta:) end |
#pagination_meta ⇒ Object
69 70 71 |
# File 'lib/rubee/models/assoc_array.rb', line 69 def @__pagination_meta end |
#where(*args) ⇒ Object
21 22 23 |
# File 'lib/rubee/models/assoc_array.rb', line 21 def where(*args) @__model.where(*args, __query_dataset: @__query_dataset) end |