module Tickethub class App < Resource path '/apps' require_relative 'contact' require_relative 'app/category' require_relative 'app/subscription' 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['/app', auth_type: :bearer, password: token] 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