Module: Thron::Pageable::ClassMethods
- Defined in:
- lib/thron/pageable.rb
Instance Method Summary collapse
Instance Method Details
#paginate(*apis) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/thron/pageable.rb', line 6 def paginate(*apis) (@paginated_apis = apis).each do |api| define_method("#{api}_paginator") do |*args| = args.empty? ? {} : args.last limit = .delete(:limit) { Paginator::MAX_LIMIT } body = ->(limit, offset) { send(api, .merge!({ offset: offset, limit: limit })) } Paginator::new(body: body, limit: limit) end end end |
#paginator_methods ⇒ Object
17 18 19 |
# File 'lib/thron/pageable.rb', line 17 def paginator_methods Array(@paginated_apis).map { |api| :"#{api}_paginator" } end |