nimbu-api 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -0
  3. data/README.md +25 -17
  4. data/lib/nimbu-api/client.rb +47 -28
  5. data/lib/nimbu-api/connection.rb +29 -31
  6. data/lib/nimbu-api/endpoint.rb +43 -44
  7. data/lib/nimbu-api/endpoints/activities.rb +3 -4
  8. data/lib/nimbu-api/endpoints/authorizations.rb +16 -23
  9. data/lib/nimbu-api/endpoints/blogs/articles.rb +60 -0
  10. data/lib/nimbu-api/endpoints/blogs.rb +48 -0
  11. data/lib/nimbu-api/endpoints/channels/entries.rb +19 -20
  12. data/lib/nimbu-api/endpoints/channels.rb +11 -13
  13. data/lib/nimbu-api/endpoints/collections.rb +10 -10
  14. data/lib/nimbu-api/endpoints/coupons.rb +10 -10
  15. data/lib/nimbu-api/endpoints/customers.rb +14 -14
  16. data/lib/nimbu-api/endpoints/devices.rb +11 -11
  17. data/lib/nimbu-api/endpoints/functions.rb +3 -4
  18. data/lib/nimbu-api/endpoints/jobs.rb +3 -4
  19. data/lib/nimbu-api/endpoints/login.rb +4 -7
  20. data/lib/nimbu-api/endpoints/menus.rb +48 -0
  21. data/lib/nimbu-api/endpoints/orders.rb +6 -6
  22. data/lib/nimbu-api/endpoints/pages.rb +50 -0
  23. data/lib/nimbu-api/endpoints/products.rb +16 -16
  24. data/lib/nimbu-api/endpoints/redirects.rb +50 -0
  25. data/lib/nimbu-api/endpoints/roles.rb +10 -10
  26. data/lib/nimbu-api/endpoints/simulator.rb +3 -4
  27. data/lib/nimbu-api/endpoints/sites.rb +7 -9
  28. data/lib/nimbu-api/endpoints/themes/assets.rb +6 -8
  29. data/lib/nimbu-api/endpoints/themes/layouts.rb +7 -8
  30. data/lib/nimbu-api/endpoints/themes/snippets.rb +6 -8
  31. data/lib/nimbu-api/endpoints/themes/templates.rb +6 -8
  32. data/lib/nimbu-api/endpoints/themes.rb +14 -16
  33. data/lib/nimbu-api/endpoints/translations.rb +10 -10
  34. data/lib/nimbu-api/endpoints/uploads.rb +50 -0
  35. data/lib/nimbu-api/endpoints/users.rb +3 -4
  36. data/lib/nimbu-api/endpoints/videos.rb +6 -8
  37. data/lib/nimbu-api/endpoints/webhooks.rb +8 -8
  38. data/lib/nimbu-api/file.rb +13 -0
  39. data/lib/nimbu-api/version.rb +3 -1
  40. data/lib/nimbu-api.rb +45 -37
  41. data/nimbu-api.gemspec +25 -16
  42. metadata +81 -17
@@ -1,31 +1,31 @@
1
1
  # encoding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Nimbu
4
5
  module Endpoints
5
6
  class Webhooks < Endpoint
6
- def list(*args)
7
+ def list(*args, &block)
7
8
  arguments(args)
8
9
 
9
10
  response = get_request("/webhooks", arguments.params)
10
11
  return response unless block_given?
11
- response.each { |el| yield el }
12
+ response.each(&block)
12
13
  end
13
- alias :all :list
14
+ alias_method :all, :list
14
15
 
15
16
  def get(*args)
16
- arguments(args, :required => [:webhook_id])
17
+ arguments(args, required: [:webhook_id])
17
18
 
18
19
  get_request("/webhooks/#{webhook_id}", arguments.params)
19
20
  end
20
- alias :find :get
21
+ alias_method :find, :get
21
22
 
22
23
  def delete(*args)
23
- arguments(args, :required => [:webhook_id])
24
+ arguments(args, required: [:webhook_id])
24
25
 
25
26
  delete_request("/webhooks/#{webhook_id}", arguments.params)
26
27
  end
27
- alias :remove :delete
28
-
28
+ alias_method :remove, :delete
29
29
  end # Webhooks
30
30
  end # Endpoints
31
31
  end # Nimbu
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ module Nimbu
5
+ class File
6
+ def self.new(filename)
7
+ require "marcel"
8
+
9
+ mime_type = Marcel::MimeType.for(::File.open(filename))
10
+ Faraday::UploadIO.new(filename, mime_type)
11
+ end
12
+ end # File
13
+ end # Nimbu
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nimbu
2
4
  module API
3
- VERSION = "0.4.4"
5
+ VERSION = "0.5.0"
4
6
  end
5
7
  end
data/lib/nimbu-api.rb CHANGED
@@ -1,45 +1,54 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "nimbu-api/version"
2
4
 
3
- require 'openssl'
4
- require 'excon'
5
- require 'faraday'
6
- require 'multi_json'
5
+ require "openssl"
6
+ require "excon"
7
+ require "faraday"
8
+ require "multi_json"
7
9
 
8
10
  require "nimbu-api/utils/all"
9
11
  require "nimbu-api/configuration"
10
12
  require "nimbu-api/connection"
11
- require 'nimbu-api/pagination'
12
- require 'nimbu-api/response'
13
- require 'nimbu-api/request'
14
- require 'nimbu-api/authentication'
15
- require 'nimbu-api/endpoint'
16
- require 'nimbu-api/client'
13
+ require "nimbu-api/pagination"
14
+ require "nimbu-api/response"
15
+ require "nimbu-api/request"
16
+ require "nimbu-api/authentication"
17
+ require "nimbu-api/endpoint"
18
+ require "nimbu-api/client"
19
+ require "nimbu-api/file"
17
20
 
18
- require 'nimbu-api/endpoints/authorizations'
19
- require 'nimbu-api/endpoints/login'
20
- require 'nimbu-api/endpoints/simulator'
21
- require 'nimbu-api/endpoints/sites'
22
- require 'nimbu-api/endpoints/themes'
23
- require 'nimbu-api/endpoints/themes/layouts'
24
- require 'nimbu-api/endpoints/themes/templates'
25
- require 'nimbu-api/endpoints/themes/snippets'
26
- require 'nimbu-api/endpoints/themes/assets'
27
- require 'nimbu-api/endpoints/activities'
28
- require 'nimbu-api/endpoints/channels'
29
- require 'nimbu-api/endpoints/channels/entries'
30
- require 'nimbu-api/endpoints/products'
31
- require 'nimbu-api/endpoints/customers'
32
- require 'nimbu-api/endpoints/collections'
33
- require 'nimbu-api/endpoints/coupons'
34
- require 'nimbu-api/endpoints/videos'
35
- require 'nimbu-api/endpoints/devices'
36
- require 'nimbu-api/endpoints/webhooks'
37
- require 'nimbu-api/endpoints/translations'
38
- require 'nimbu-api/endpoints/orders'
39
- require 'nimbu-api/endpoints/functions'
40
- require 'nimbu-api/endpoints/jobs'
41
- require 'nimbu-api/endpoints/roles'
42
- require 'nimbu-api/endpoints/users'
21
+ require "nimbu-api/endpoints/activities"
22
+ require "nimbu-api/endpoints/authorizations"
23
+ require "nimbu-api/endpoints/blogs"
24
+ require "nimbu-api/endpoints/blogs/articles"
25
+ require "nimbu-api/endpoints/channels"
26
+ require "nimbu-api/endpoints/channels/entries"
27
+ require "nimbu-api/endpoints/collections"
28
+ require "nimbu-api/endpoints/coupons"
29
+ require "nimbu-api/endpoints/customers"
30
+ require "nimbu-api/endpoints/devices"
31
+ require "nimbu-api/endpoints/functions"
32
+ require "nimbu-api/endpoints/jobs"
33
+ require "nimbu-api/endpoints/login"
34
+ require "nimbu-api/endpoints/menus"
35
+ require "nimbu-api/endpoints/orders"
36
+ require "nimbu-api/endpoints/pages"
37
+ require "nimbu-api/endpoints/products"
38
+ require "nimbu-api/endpoints/redirects"
39
+ require "nimbu-api/endpoints/roles"
40
+ require "nimbu-api/endpoints/simulator"
41
+ require "nimbu-api/endpoints/sites"
42
+ require "nimbu-api/endpoints/themes"
43
+ require "nimbu-api/endpoints/themes/assets"
44
+ require "nimbu-api/endpoints/themes/layouts"
45
+ require "nimbu-api/endpoints/themes/snippets"
46
+ require "nimbu-api/endpoints/themes/templates"
47
+ require "nimbu-api/endpoints/translations"
48
+ require "nimbu-api/endpoints/uploads"
49
+ require "nimbu-api/endpoints/users"
50
+ require "nimbu-api/endpoints/videos"
51
+ require "nimbu-api/endpoints/webhooks"
43
52
 
44
53
  module Nimbu
45
54
  extend Configuration
@@ -59,6 +68,5 @@ module Nimbu
59
68
  def respond_to?(method, include_private = false)
60
69
  new.respond_to?(method, include_private) || super(method, include_private)
61
70
  end
62
-
63
71
  end
64
- end # Nimbu
72
+ end # Nimbu
data/nimbu-api.gemspec CHANGED
@@ -1,31 +1,40 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'nimbu-api/version'
5
+ require "nimbu-api/version"
5
6
 
6
7
  Gem::Specification.new do |gem|
7
8
  gem.name = "nimbu-api"
8
9
  gem.version = Nimbu::API::VERSION
10
+ gem.platform = Gem::Platform::RUBY
9
11
  gem.authors = ["Peter Dedene"]
10
12
  gem.email = ["support@nimbu.io"]
11
- gem.summary = 'Ruby bindings for the Nimbu API'
12
- gem.description = 'Nimbu is the easiest way to build a beautiful multi-lingual online store! See http://nimbu.io for more information.'
13
+ gem.summary = "Ruby bindings for the Nimbu API"
14
+ gem.description = "Nimbu is the easiest way to build a beautiful multi-lingual online store! See http://nimbu.io for more information."
13
15
  gem.homepage = "http://www.nimbu.io"
14
16
  gem.license = "MIT"
15
17
 
16
18
  gem.files = `git ls-files`.split($/)
17
19
  gem.require_paths = ["lib"]
18
20
 
19
- gem.add_dependency 'hashie'
20
- gem.add_dependency 'faraday', "~> 0.15"
21
- gem.add_dependency 'multi_json'
22
- gem.add_dependency 'oauth2'
23
- gem.add_dependency 'excon'
21
+ gem.required_ruby_version = ">= 2.5.0"
22
+ gem.required_rubygems_version = ">= 1.3.7"
23
+
24
+ gem.add_dependency("excon")
25
+ gem.add_dependency("faraday", "~> 0.15")
26
+ gem.add_dependency("hashie")
27
+ gem.add_dependency("marcel")
28
+ gem.add_dependency("multi_json")
29
+ gem.add_dependency("oauth2")
24
30
 
25
- gem.add_development_dependency "bundler", "~> 1.3"
26
- gem.add_development_dependency "rake"
27
- gem.add_development_dependency "awesome_print"
28
- gem.add_development_dependency 'pry'
29
- gem.add_development_dependency 'pry-remote'
30
- gem.add_development_dependency 'pry-stack_explorer'
31
+ gem.add_development_dependency("awesome_print")
32
+ gem.add_development_dependency("bundler", "> 2.2.33")
33
+ gem.add_development_dependency("pry")
34
+ gem.add_development_dependency("pry-remote")
35
+ gem.add_development_dependency("pry-stack_explorer")
36
+ gem.add_development_dependency("rake")
37
+ gem.add_development_dependency("rubocop")
38
+ gem.add_development_dependency("rubocop-performance")
39
+ gem.add_development_dependency("rubocop-shopify")
31
40
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nimbu-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Dedene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-17 00:00:00.000000000 Z
11
+ date: 2022-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: hashie
14
+ name: excon
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.15'
41
+ - !ruby/object:Gem::Dependency
42
+ name: hashie
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: marcel
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: multi_json
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -67,13 +95,13 @@ dependencies:
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
- name: excon
98
+ name: awesome_print
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - ">="
74
102
  - !ruby/object:Gem::Version
75
103
  version: '0'
76
- type: :runtime
104
+ type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
@@ -84,18 +112,18 @@ dependencies:
84
112
  name: bundler
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">"
88
116
  - !ruby/object:Gem::Version
89
- version: '1.3'
117
+ version: 2.2.33
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - ">"
95
123
  - !ruby/object:Gem::Version
96
- version: '1.3'
124
+ version: 2.2.33
97
125
  - !ruby/object:Gem::Dependency
98
- name: rake
126
+ name: pry
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - ">="
@@ -109,7 +137,7 @@ dependencies:
109
137
  - !ruby/object:Gem::Version
110
138
  version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
- name: awesome_print
140
+ name: pry-remote
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - ">="
@@ -123,7 +151,7 @@ dependencies:
123
151
  - !ruby/object:Gem::Version
124
152
  version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
- name: pry
154
+ name: pry-stack_explorer
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
157
  - - ">="
@@ -137,7 +165,7 @@ dependencies:
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
139
167
  - !ruby/object:Gem::Dependency
140
- name: pry-remote
168
+ name: rake
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
171
  - - ">="
@@ -151,7 +179,35 @@ dependencies:
151
179
  - !ruby/object:Gem::Version
152
180
  version: '0'
153
181
  - !ruby/object:Gem::Dependency
154
- name: pry-stack_explorer
182
+ name: rubocop
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop-performance
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rubocop-shopify
155
211
  requirement: !ruby/object:Gem::Requirement
156
212
  requirements:
157
213
  - - ">="
@@ -173,6 +229,7 @@ extensions: []
173
229
  extra_rdoc_files: []
174
230
  files:
175
231
  - ".gitignore"
232
+ - ".rubocop.yml"
176
233
  - Gemfile
177
234
  - LICENSE.txt
178
235
  - README.md
@@ -186,6 +243,8 @@ files:
186
243
  - lib/nimbu-api/endpoint.rb
187
244
  - lib/nimbu-api/endpoints/activities.rb
188
245
  - lib/nimbu-api/endpoints/authorizations.rb
246
+ - lib/nimbu-api/endpoints/blogs.rb
247
+ - lib/nimbu-api/endpoints/blogs/articles.rb
189
248
  - lib/nimbu-api/endpoints/channels.rb
190
249
  - lib/nimbu-api/endpoints/channels/entries.rb
191
250
  - lib/nimbu-api/endpoints/collections.rb
@@ -195,8 +254,11 @@ files:
195
254
  - lib/nimbu-api/endpoints/functions.rb
196
255
  - lib/nimbu-api/endpoints/jobs.rb
197
256
  - lib/nimbu-api/endpoints/login.rb
257
+ - lib/nimbu-api/endpoints/menus.rb
198
258
  - lib/nimbu-api/endpoints/orders.rb
259
+ - lib/nimbu-api/endpoints/pages.rb
199
260
  - lib/nimbu-api/endpoints/products.rb
261
+ - lib/nimbu-api/endpoints/redirects.rb
200
262
  - lib/nimbu-api/endpoints/roles.rb
201
263
  - lib/nimbu-api/endpoints/simulator.rb
202
264
  - lib/nimbu-api/endpoints/sites.rb
@@ -206,6 +268,7 @@ files:
206
268
  - lib/nimbu-api/endpoints/themes/snippets.rb
207
269
  - lib/nimbu-api/endpoints/themes/templates.rb
208
270
  - lib/nimbu-api/endpoints/translations.rb
271
+ - lib/nimbu-api/endpoints/uploads.rb
209
272
  - lib/nimbu-api/endpoints/users.rb
210
273
  - lib/nimbu-api/endpoints/videos.rb
211
274
  - lib/nimbu-api/endpoints/webhooks.rb
@@ -226,6 +289,7 @@ files:
226
289
  - lib/nimbu-api/errors/unknown_value.rb
227
290
  - lib/nimbu-api/errors/unprocessable_entity.rb
228
291
  - lib/nimbu-api/errors/validations.rb
292
+ - lib/nimbu-api/file.rb
229
293
  - lib/nimbu-api/pagination.rb
230
294
  - lib/nimbu-api/pagination/page_iterator.rb
231
295
  - lib/nimbu-api/pagination/page_links.rb
@@ -275,14 +339,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
275
339
  requirements:
276
340
  - - ">="
277
341
  - !ruby/object:Gem::Version
278
- version: '0'
342
+ version: 2.5.0
279
343
  required_rubygems_version: !ruby/object:Gem::Requirement
280
344
  requirements:
281
345
  - - ">="
282
346
  - !ruby/object:Gem::Version
283
- version: '0'
347
+ version: 1.3.7
284
348
  requirements: []
285
- rubygems_version: 3.0.3
349
+ rubygems_version: 3.0.3.1
286
350
  signing_key:
287
351
  specification_version: 4
288
352
  summary: Ruby bindings for the Nimbu API