Class: Patreon::API

Inherits:
Object
  • Object
show all
Defined in:
lib/patreon/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(access_token) ⇒ API

Returns a new instance of API.



3
4
5
# File 'lib/patreon/api.rb', line 3

def initialize(access_token)
  @access_token = access_token
end

Instance Method Details

#fetch_campaign(opts = {}) ⇒ Object



11
12
13
# File 'lib/patreon/api.rb', line 11

def fetch_campaign(opts = {})
  get_parse_json(Utils::JSONAPI::URLUtil.build_url('current_user/campaigns', opts[:includes], opts[:fields]))
end

#fetch_campaign_and_patrons(opts = {}) ⇒ Object



15
16
17
18
19
# File 'lib/patreon/api.rb', line 15

def fetch_campaign_and_patrons(opts = {})
  opts[:includes] = opts[:includes] ? Array(opts[:includes]) : []
  opts[:includes].concat(Schemas::Campaign.default_relationships + [Schemas::Campaign::Relationships::PLEDGES])
  fetch_campaign(opts)
end

#fetch_page_of_pledges(campaign_id, opts = {}) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/patreon/api.rb', line 21

def fetch_page_of_pledges(campaign_id, opts = {})
  params = {}
  params["page[count]"] = opts[:count] || 10
  params["page[cursor]"] = opts[:cursor] if opts[:cursor]
  url = "campaigns/#{campaign_id}/pledges?#{Rack::Utils.build_query(params)}"
  get_parse_json(Patreon::Utils::JSONAPI::URLUtil.build_url(url, opts[:includes], opts[:fields]))
end

#fetch_user(opts = {}) ⇒ Object



7
8
9
# File 'lib/patreon/api.rb', line 7

def fetch_user(opts = {})
  get_parse_json(Utils::JSONAPI::URLUtil.build_url('current_user', opts[:includes], opts[:fields]))
end