# frozen_string_literal: true module Qismo module Model class Data < OpenStruct # rubocop:disable Style/OpenStructUse end class Collection < Array def initialize(data, prev_page: nil, next_page: nil, prev_func: -> { nil }, next_func: -> { nil }) super(data) @prev_page = prev_page @next_page = next_page @prev_func = prev_func @next_func = next_func end def has_next_page? @next_page != nil end alias_method :next_page?, :has_next_page? def has_prev_page? @prev_page != nil end alias_method :prev_page?, :has_prev_page? def next_page @next_func.call end def prev_page @prev_func.call end end class Response attr_reader :data, :meta def initialize(data, meta = {}) @data = data @meta = meta end end end end