Class: InstagramApi::Subscription

Inherits:
Object
  • Object
show all
Includes:
Client
Defined in:
lib/instagram_api/subscription.rb

Constant Summary

Constants included from Client

Client::BASE_API_URI, Client::ERROR_CODES

Instance Method Summary collapse

Constructor Details

#initialize(fake_param = nil) ⇒ Subscription

Returns a new instance of Subscription.



9
10
11
12
13
14
# File 'lib/instagram_api/subscription.rb', line 9

def initialize(fake_param = nil)
  @client_id = InstagramApi.client_id
  @client_secret = InstagramApi.client_secret
  raise 'Invalid configuration: client ID is missing' unless @client_id
  raise 'Invalid configuration: client secret is missing' unless @client_secret
end

Instance Method Details

#create(options) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/instagram_api/subscription.rb', line 16

def create(options)
  @@verify_token = options[:verify_token] || generate_verify_token
  options = {
    client_id: @client_id,
    client_secret: @client_secret,
    verify_token: @@verify_token,
  }.merge(options)
  make_request resource_path,
               { body: options },
               :post
end

#destroy(options) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/instagram_api/subscription.rb', line 37

def destroy(options)
  options = {
    client_id: @client_id,
    client_secret: @client_secret
  }.merge(options)
  make_request resource_path,
               { query: options },
               :delete
end

#indexObject



28
29
30
31
32
33
34
35
# File 'lib/instagram_api/subscription.rb', line 28

def index
  options = {
    client_id: @client_id,
    client_secret: @client_secret
  }
  make_request resource_path,
               { query: options }
end

#validate(params, verify_token = nil) ⇒ Object



47
48
49
50
51
# File 'lib/instagram_api/subscription.rb', line 47

def validate(params, verify_token = nil)
  verify_token = verify_token || @@verify_token
  return unless params['hub.mode'] == 'subscribe' || params['hub.verify_token'] == verify_token
  params['hub.challenge']
end