rails-pinterest 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: acea05888eb1f4e066d2ccd569c06247dafcc2017c6d00ce8ca8d6ba09123e79
4
- data.tar.gz: 34f53ac40b094a888c2a2ddde8ebe4b21c6abe012a262e60ad337c3257607ad2
3
+ metadata.gz: e94c9217ac9b389dc20d380d2ac4a9ff143eae9db049001d241835a3e3c4ddc2
4
+ data.tar.gz: 61560a661ce160863fa75c89b0a0272b5b344d390788ee519b9ca92e43ef7619
5
5
  SHA512:
6
- metadata.gz: aa1d8f190e023964ee127492199ea371d27a9c4701f6cd15d152ff16fcfe2cdafc3d33d81b132fff78eaf9862063943f6d6f5f30e6bf0080cf97024f73adfde9
7
- data.tar.gz: 7a1019812589c76673aee7ebd408dc2496dc8b31cbbb2665d42c72824cfa46b84661b22a78327698f17d029f74858a226d4b2d5fe5b2d14c2ddce3c9b5fc6037
6
+ metadata.gz: '0038c6c2baf964775a853dedecc910cb8b9274b064cee1243712322d3b4aa63faa18359a831ab83722000e376ad213fde64babd52b5c167886ef2c27d1378dfd'
7
+ data.tar.gz: cbf1ce610a1ae06eb2a04899c42e4cd81d69d66a8849c4b082f81ffaaba555946a59429fbe965d37578071e0057c4f5b577b5d94cd896012e944dec09d7e4338
data/CHANGELOG.md CHANGED
@@ -44,4 +44,7 @@
44
44
  - Fix param requirement for Media#register_media_upload
45
45
 
46
46
  ## [0.2.3] - 2024-03-11
47
- - Revert V.0.2.3
47
+ - Revert V.0.2.3
48
+
49
+ ## [0.2.4] - 2024-04-09
50
+ - Add User Account to API
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails-pinterest (0.2.3)
4
+ rails-pinterest (0.2.4)
5
5
  faraday (>= 1)
6
6
  faraday-multipart (>= 1)
7
7
 
@@ -46,5 +46,9 @@ module Pinterest
46
46
  def media
47
47
  @media ||= Pinterest::Media.new(client: self)
48
48
  end
49
+
50
+ def user_account
51
+ @user_account ||= Pinterest::UserAccount.new(client: self)
52
+ end
49
53
  end
50
54
  end
@@ -0,0 +1,144 @@
1
+ module Pinterest
2
+ class UserAccount
3
+ def initialize(client: nil)
4
+ @client = client
5
+ end
6
+
7
+ def get_user_account(parameters: {})
8
+ @client.get(path: "/user_account", parameters: parameters)
9
+ end
10
+
11
+ def get_user_account_analytics(start_date:, end_date:, parameters: {})
12
+ query_string = "/user_account/analytics?start_date=#{start_date}&end_date=#{end_date}"
13
+ if parameters[:from_claimed_content] && !parameters[:from_claimed_content].empty?
14
+ query_string += "&from_claimed_content=#{parameters[:from_claimed_content]}"
15
+ end
16
+ if parameters[:pin_format] && !parameters[:pin_format].empty?
17
+ query_string += "&pin_format=#{parameters[:pin_format]}"
18
+ end
19
+ if parameters[:app_types] && !parameters[:app_types].empty?
20
+ query_string += "&app_types=#{parameters[:app_types]}"
21
+ end
22
+ if parameters[:content_type] && !parameters[:content_type].empty?
23
+ query_string += "&content_type=#{parameters[:content_type]}"
24
+ end
25
+ if parameters[:source] && !parameters[:source].empty?
26
+ query_string += "&source=#{parameters[:source]}"
27
+ end
28
+ if parameters[:metric_types] && !parameters[:metric_types].empty?
29
+ query_string += "&metric_types=#{parameters[:metric_types]}"
30
+ end
31
+ if parameters[:split_field] && !parameters[:split_field].empty?
32
+ query_string += "&split_field=#{parameters[:split_field]}"
33
+ end
34
+ if parameters[:ad_account_id] && !parameters[:ad_account_id].empty?
35
+ query_string += "&ad_account_id=#{parameters[:ad_account_id]}"
36
+ end
37
+ @client.get(path: query_string, parameters: parameters)
38
+ end
39
+
40
+ def get_user_account_top_pins_analytics(start_date:, end_date:, sort_by:, parameters: {})
41
+ query_string = "/user_account/analytics?start_date=#{start_date}&end_date=#{end_date}&sort_by=#{sort_by}"
42
+ if parameters[:from_claimed_content] && !parameters[:from_claimed_content].empty?
43
+ query_string += "&from_claimed_content=#{parameters[:from_claimed_content]}"
44
+ end
45
+ if parameters[:pin_format] && !parameters[:pin_format].empty?
46
+ query_string += "&pin_format=#{parameters[:pin_format]}"
47
+ end
48
+ if parameters[:app_types] && !parameters[:app_types].empty?
49
+ query_string += "&app_types=#{parameters[:app_types]}"
50
+ end
51
+ if parameters[:content_type] && !parameters[:content_type].empty?
52
+ query_string += "&content_type=#{parameters[:content_type]}"
53
+ end
54
+ if parameters[:source] && !parameters[:source].empty?
55
+ query_string += "&source=#{parameters[:source]}"
56
+ end
57
+ if parameters[:metric_types] && !parameters[:metric_types].empty?
58
+ query_string += "&metric_types=#{parameters[:metric_types]}"
59
+ end
60
+ if parameters[:num_of_pins] && !parameters[:num_of_pins].empty?
61
+ query_string += "&num_of_pins=#{parameters[:num_of_pins]}"
62
+ end
63
+ if parameters[:created_in_last_n_days] && !parameters[:created_in_last_n_days].empty?
64
+ query_string += "&created_in_last_n_days=#{parameters[:created_in_last_n_days]}"
65
+ end
66
+ if parameters[:ad_account_id] && !parameters[:ad_account_id].empty?
67
+ query_string += "&ad_account_id=#{parameters[:ad_account_id]}"
68
+ end
69
+ @client.get(path: query_string, parameters: parameters)
70
+ end
71
+
72
+ def get_user_account_top_video_pins_analytics(start_date:, end_date:, sort_by:, parameters: {})
73
+ query_string = "/user_account/analytics?start_date=#{start_date}&end_date=#{end_date}&sort_by=#{sort_by}"
74
+ if parameters[:from_claimed_content] && !parameters[:from_claimed_content].empty?
75
+ query_string += "&from_claimed_content=#{parameters[:from_claimed_content]}"
76
+ end
77
+ if parameters[:pin_format] && !parameters[:pin_format].empty?
78
+ query_string += "&pin_format=#{parameters[:pin_format]}"
79
+ end
80
+ if parameters[:app_types] && !parameters[:app_types].empty?
81
+ query_string += "&app_types=#{parameters[:app_types]}"
82
+ end
83
+ if parameters[:content_type] && !parameters[:content_type].empty?
84
+ query_string += "&content_type=#{parameters[:content_type]}"
85
+ end
86
+ if parameters[:source] && !parameters[:source].empty?
87
+ query_string += "&source=#{parameters[:source]}"
88
+ end
89
+ if parameters[:metric_types] && !parameters[:metric_types].empty?
90
+ query_string += "&metric_types=#{parameters[:metric_types]}"
91
+ end
92
+ if parameters[:num_of_pins] && !parameters[:num_of_pins].empty?
93
+ query_string += "&num_of_pins=#{parameters[:num_of_pins]}"
94
+ end
95
+ if parameters[:created_in_last_n_days] && !parameters[:created_in_last_n_days].empty?
96
+ query_string += "&created_in_last_n_days=#{parameters[:created_in_last_n_days]}"
97
+ end
98
+ if parameters[:ad_account_id] && !parameters[:ad_account_id].empty?
99
+ query_string += "&ad_account_id=#{parameters[:ad_account_id]}"
100
+ end
101
+ @client.get(path: query_string, parameters: parameters)
102
+ end
103
+
104
+ def list_linked_businesses(parameters: {})
105
+ @client.get(path: "/user_account/businesses", parameters: parameters)
106
+ end
107
+
108
+ def list_followers(parameters: {})
109
+ @client.get(path: "/user_account/followers", parameters: parameters)
110
+ end
111
+
112
+ def list_following(parameters: {})
113
+ @client.get(path: "/user_account/following", parameters: parameters)
114
+ end
115
+
116
+ def list_following_boards(parameters: {})
117
+ @client.get(path: "/user_account/following/boards", parameters: parameters)
118
+ end
119
+
120
+ def follow_user(username:, parameters: {})
121
+ @client.json_post(path: "/user_account/following/#{username}", parameters: parameters)
122
+ end
123
+
124
+ def verify_website(parameters: {})
125
+ @client.json_post(path: "/user_account/websites", parameters: parameters)
126
+ end
127
+
128
+ def get_user_websites(parameters: {})
129
+ @client.get(path: "/user_account/websites", parameters: parameters)
130
+ end
131
+
132
+ def unverify_website(website:)
133
+ @client.delete(path: "/user_account/websites?website=#{website}")
134
+ end
135
+
136
+ def get_user_verification_code_for_website_claiming(parameters: {})
137
+ @client.get(path: "/user_account/websites/verification", parameters: parameters)
138
+ end
139
+
140
+ def list_following_interests(username:, parameters: {})
141
+ @client.get(path: "/users/#{username}/interests/follow", parameters: parameters)
142
+ end
143
+ end
144
+ end
@@ -1,3 +1,3 @@
1
1
  module Pinterest
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
data/lib/pinterest.rb CHANGED
@@ -8,6 +8,7 @@ require_relative "pinterest/media"
8
8
  require_relative "pinterest/oauth"
9
9
  require_relative "pinterest/pins"
10
10
  require_relative "pinterest/terms"
11
+ require_relative "pinterest/user_account"
11
12
  require_relative "pinterest/version"
12
13
 
13
14
  module Pinterest
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-pinterest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Lee
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-12 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -65,6 +65,7 @@ files:
65
65
  - lib/pinterest/oauth.rb
66
66
  - lib/pinterest/pins.rb
67
67
  - lib/pinterest/terms.rb
68
+ - lib/pinterest/user_account.rb
68
69
  - lib/pinterest/version.rb
69
70
  - lib/ruby/pinterest.rb
70
71
  - rails-pinterest.gemspec