nimbu-api 0.4.2 → 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 (43) 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 +49 -26
  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 +9 -10
  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 +21 -0
  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/request.rb +1 -1
  40. data/lib/nimbu-api/version.rb +3 -1
  41. data/lib/nimbu-api.rb +46 -37
  42. data/nimbu-api.gemspec +25 -16
  43. metadata +82 -18
@@ -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
@@ -61,8 +61,8 @@ module Nimbu
61
61
  request.body = extract_data_from_params(params) unless params.empty?
62
62
  end
63
63
  else
64
- request.path = path
65
64
  request.body = params
65
+ request.url(path)
66
66
  end
67
67
  end
68
68
  Response::Wrapper.new(response, self).auto_paginate
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nimbu
2
4
  module API
3
- VERSION = "0.4.2"
5
+ VERSION = "0.5.0"
4
6
  end
5
7
  end
data/lib/nimbu-api.rb CHANGED
@@ -1,44 +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'
17
-
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'
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"
20
+
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"
42
52
 
43
53
  module Nimbu
44
54
  extend Configuration
@@ -58,6 +68,5 @@ module Nimbu
58
68
  def respond_to?(method, include_private = false)
59
69
  new.respond_to?(method, include_private) || super(method, include_private)
60
70
  end
61
-
62
71
  end
63
- 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.2
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: 2018-11-30 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,8 @@ 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
272
+ - lib/nimbu-api/endpoints/users.rb
209
273
  - lib/nimbu-api/endpoints/videos.rb
210
274
  - lib/nimbu-api/endpoints/webhooks.rb
211
275
  - lib/nimbu-api/errors.rb
@@ -225,6 +289,7 @@ files:
225
289
  - lib/nimbu-api/errors/unknown_value.rb
226
290
  - lib/nimbu-api/errors/unprocessable_entity.rb
227
291
  - lib/nimbu-api/errors/validations.rb
292
+ - lib/nimbu-api/file.rb
228
293
  - lib/nimbu-api/pagination.rb
229
294
  - lib/nimbu-api/pagination/page_iterator.rb
230
295
  - lib/nimbu-api/pagination/page_links.rb
@@ -274,15 +339,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
339
  requirements:
275
340
  - - ">="
276
341
  - !ruby/object:Gem::Version
277
- version: '0'
342
+ version: 2.5.0
278
343
  required_rubygems_version: !ruby/object:Gem::Requirement
279
344
  requirements:
280
345
  - - ">="
281
346
  - !ruby/object:Gem::Version
282
- version: '0'
347
+ version: 1.3.7
283
348
  requirements: []
284
- rubyforge_project:
285
- rubygems_version: 2.7.6
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