module Tickethub class Reseller < Resource path '/resellers' require_relative 'contact' require_relative 'reseller/channel' association :contact, Tickethub::Contact association :token, Tickethub::Token association :category, App::Category collection :subscriptions, App::Subscription attribute :currency, type: :currency def self.[](attributes) token = attributes[:token].is_a?(String) ? attributes[:token] : attributes[:token][:access_token] self.new Tickethub.endpoint(auth_type: :bearer, password: token)['/reseller'] end def initialize(endpoint, attributes = nil) attributes ||= endpoint.get if attributes['token'] endpoint = Tickethub.endpoint(auth_type: :bearer, password: attributes['token']['access_token'])[self.class.path] end super(endpoint, attributes) end end end