Class: InstagramBasicDisplay::Profile

Inherits:
Object
  • Object
show all
Defined in:
lib/instagram_basic_display/profile.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Profile

Returns a new instance of Profile.



24
25
26
# File 'lib/instagram_basic_display/profile.rb', line 24

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#media_feed(user_id: nil, fields: %i[id media_url],, paginated_url: nil, **params) ⇒ Object

document that you can add a limit here



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/instagram_basic_display/profile.rb', line 42

def media_feed(user_id: nil, fields: i[id media_url], paginated_url: nil, **params)
  check_for_auth_token!(params)

  uri = if paginated_url
          URI(paginated_url)
        else
          URI(base_profile_uri(user_id: user_id) + '/media')
        end

  params = {
    fields: fields.map(&:to_s).join(','),
    access_token: configuration.auth_token,
    **params
  }

  make_request(uri, params)
end

#media_node(media_id:, fields: %i[id media_url],, **params) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/instagram_basic_display/profile.rb', line 61

def media_node(media_id:, fields: i[id media_url], **params)
  check_for_auth_token!(params)

  uri = URI("https://graph.instagram.com/#{media_id}")
  params = {
    fields: fields.map(&:to_s).join(','),
    access_token: configuration.auth_token,
    **params
  }

  make_request(uri, params)
end

#profile(user_id: nil, fields: %i[id username],, **params) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/instagram_basic_display/profile.rb', line 28

def profile(user_id: nil, fields: i[id username], **params)
  check_for_auth_token!(params)

  uri = URI(base_profile_uri(user_id: user_id))
  params = {
    fields: fields.map(&:to_s).join(','),
    access_token: configuration.auth_token,
    **params
  }

  make_request(uri, params)
end