rails-pinterest 0.2.2 → 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: b1a4501772a0e79ce5a6e98df055a0d15a4c351d11f5831fccb1b69512219162
4
- data.tar.gz: 4d6e15a765dc2b3660a5ff469eaa5b2fd8fc499499d6d387e38badec51a4ed1a
3
+ metadata.gz: e94c9217ac9b389dc20d380d2ac4a9ff143eae9db049001d241835a3e3c4ddc2
4
+ data.tar.gz: 61560a661ce160863fa75c89b0a0272b5b344d390788ee519b9ca92e43ef7619
5
5
  SHA512:
6
- metadata.gz: ef9afaabc3af7ae78c21fa4018d29ff9da8a5e51c97f885165bdb892dbdb805a459a9e17a7eb8fe9790c07ffde09daaef7d4044c7bd5e622c55bea10f23a3b14
7
- data.tar.gz: d213e04fe17e90d540693bfd3315d43d6f47ab88884a30516624e1ef7c5939006b1b52b45644c6e115504b29423eac212fe401e476a958ab97126193817d16ac
6
+ metadata.gz: '0038c6c2baf964775a853dedecc910cb8b9274b064cee1243712322d3b4aa63faa18359a831ab83722000e376ad213fde64babd52b5c167886ef2c27d1378dfd'
7
+ data.tar.gz: cbf1ce610a1ae06eb2a04899c42e4cd81d69d66a8849c4b082f81ffaaba555946a59429fbe965d37578071e0057c4f5b577b5d94cd896012e944dec09d7e4338
data/CHANGELOG.md CHANGED
@@ -41,4 +41,10 @@
41
41
  - Add Media to API
42
42
 
43
43
  ## [0.2.2] - 2024-03-11
44
- - Fix param requirement for Media#register_media_upload
44
+ - Fix param requirement for Media#register_media_upload
45
+
46
+ ## [0.2.3] - 2024-03-11
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.2)
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
@@ -8,7 +8,7 @@ module Pinterest
8
8
  @client.get(path: "/media", parameters: parameters)
9
9
  end
10
10
 
11
- def register_media_upload(media_type:, parameters: {})
11
+ def register_media_upload(parameters: {})
12
12
  @client.json_post(path: "/media", parameters: parameters)
13
13
  end
14
14
 
@@ -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.2"
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.2
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