nimbu-api 0.3.0 → 0.4.0

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
- SHA1:
3
- metadata.gz: a289593238198dc1e0293a1240c1e08e71e96724
4
- data.tar.gz: d0b1a2bd1f661098cf5b963ac46477c8e23b9840
2
+ SHA256:
3
+ metadata.gz: d5294252784e0860897d26a11750d1682e7941cbe3151d18665984e534c5ceb9
4
+ data.tar.gz: c31500b2d80101452c83c8e9a936f4a68ccba47b581ab9cf5c4b6ccfcf885e7b
5
5
  SHA512:
6
- metadata.gz: 819375778ab5af0b4b2011bc89fe4c8b0db31e46e22d7d19a178798b55263c7129d27c8fec5dd2744c13881611cb8dfe6e50afbc25d238b864980d946425f8ec
7
- data.tar.gz: c50214737928a355554638f1dcb767c991ad232145dd27ad100f5d009244312c3c83e43e8c8434dc9128d743a82d3a31718858712087bf4dab8042ea12a61c16
6
+ metadata.gz: d3eef8c4f7f1c1b3700f9c3f7cc2ee43b7bc6cfe81bb3f6bf6ef7b18be080cf37b4da77f827eefea0fec40af759fe86f27a2c0aee7755ea034c924f3cfbf0746
7
+ data.tar.gz: 2f1e726f2a3310e70ebfab95f08351f144fae5f607ac32d75446870916e56c2beb03e6331335210eaa1de98da46cd1766a001a8e053d0d0a105d905db4cb6527
data/.gitignore CHANGED
@@ -16,3 +16,4 @@ spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
+ .idea
@@ -24,12 +24,21 @@ require 'nimbu-api/endpoints/themes/layouts'
24
24
  require 'nimbu-api/endpoints/themes/templates'
25
25
  require 'nimbu-api/endpoints/themes/snippets'
26
26
  require 'nimbu-api/endpoints/themes/assets'
27
+ require 'nimbu-api/endpoints/activities'
27
28
  require 'nimbu-api/endpoints/channels'
28
29
  require 'nimbu-api/endpoints/channels/entries'
29
30
  require 'nimbu-api/endpoints/products'
30
31
  require 'nimbu-api/endpoints/customers'
31
32
  require 'nimbu-api/endpoints/collections'
33
+ require 'nimbu-api/endpoints/coupons'
32
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'
33
42
 
34
43
  module Nimbu
35
44
  extend Configuration
@@ -42,6 +42,14 @@ module Nimbu
42
42
  Nimbu::Builder.new('Collections', current_options.merge(options), &block)
43
43
  end
44
44
 
45
+ def devices(options={}, &block)
46
+ Nimbu::Builder.new('Devices', current_options.merge(options), &block)
47
+ end
48
+
49
+ def coupons(options={}, &block)
50
+ Nimbu::Builder.new('Coupons', current_options.merge(options), &block)
51
+ end
52
+
45
53
  def authenticate(options={}, &block)
46
54
  Nimbu::Builder.new('Login', current_options.merge(options), &block).response
47
55
  end
@@ -16,8 +16,7 @@ module Nimbu
16
16
  def default_options(options={})
17
17
  {
18
18
  :ssl => options.fetch(:ssl) { ssl },
19
- :url => options.fetch(:endpoint) { Nimbu.endpoint },
20
- :subdomain => options.fetch(:subdomain) { Nimbu.subdomain }
19
+ :url => options.fetch(:endpoint) { Nimbu.endpoint }
21
20
  }.merge(options)
22
21
  end
23
22
 
@@ -65,9 +64,9 @@ module Nimbu
65
64
  def stack(options={}, &block)
66
65
  @stack ||= begin
67
66
  if block_given?
68
- Faraday::Builder.new(&block)
67
+ Faraday::RackBuilder.new(&block)
69
68
  else
70
- Faraday::Builder.new(&default_middleware(options))
69
+ Faraday::RackBuilder.new(&default_middleware(options))
71
70
  end
72
71
  end
73
72
  end
@@ -75,7 +74,7 @@ module Nimbu
75
74
  # Returns a Fraday::Connection object
76
75
  #
77
76
  def connection(options={})
78
- conn_options = default_options(options)
77
+ conn_options = default_options(options).keep_if {|k,_| ALLOWED_OPTIONS.include? k }
79
78
  clear_cache unless options.empty?
80
79
  puts "OPTIONS:#{conn_options.inspect}" if ENV['DEBUG']
81
80
 
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Activities < Endpoint
6
+
7
+ def get(*args)
8
+ arguments(args, :required => [:activity_id])
9
+
10
+ get_request("/activities/#{activity_id}", arguments.params)
11
+ end
12
+ alias :find :get
13
+
14
+ end # Authorizations
15
+ end # Endpoints
16
+ end # Nimbu
@@ -18,6 +18,12 @@ module Nimbu
18
18
  end
19
19
  alias :all :list
20
20
 
21
+ def first(*args)
22
+ arguments(args)
23
+
24
+ get_request("/channels", arguments.params.merge(limit: 1)).first
25
+ end
26
+
21
27
  def get(*args)
22
28
  arguments(args, :required => [:channel_id])
23
29
 
@@ -25,6 +31,23 @@ module Nimbu
25
31
  end
26
32
  alias :find :get
27
33
 
34
+ def webhooks(*args)
35
+ arguments(args, :required => [:channel_id])
36
+
37
+ get_request("/channels/#{channel_id}/webhooks", arguments.params)
38
+ end
39
+
40
+ def add_webhook(*args)
41
+ arguments(args, :required => [:channel_id])
42
+
43
+ post_request("/channels/#{channel_id}/webhooks", arguments.params)
44
+ end
45
+
46
+ def poll_webhook(*args)
47
+ arguments(args, :required => [:channel_id])
48
+
49
+ post_request("/channels/#{channel_id}/webhooks/poll", arguments.params)
50
+ end
28
51
 
29
52
  end # Authorizations
30
53
  end # Endpoints
@@ -17,6 +17,25 @@ module Nimbu
17
17
  end
18
18
  alias :all :list
19
19
 
20
+ def first(*args)
21
+ arguments(args, :required => [:channel_id])
22
+
23
+ get_request("/channels/#{channel_id}/entries", arguments.params.merge(limit: 1)).first
24
+ end
25
+
26
+ def list_deleted(*args)
27
+ arguments(args, :required => [:channel_id])
28
+
29
+ get_request("/channels/#{channel_id}/entries/deleted", arguments.params)
30
+ end
31
+ alias :list_removed :list_deleted
32
+
33
+ def count(*args)
34
+ arguments(args, :required => [:channel_id])
35
+
36
+ get_request("/channels/#{channel_id}/entries/count", arguments.params)
37
+ end
38
+
20
39
  def get(*args)
21
40
  arguments(args, :required => [:channel_id, :entry_id])
22
41
 
@@ -43,8 +62,7 @@ module Nimbu
43
62
  delete_request("/channels/#{channel_id}/entries/#{entry_id}", arguments.params)
44
63
  end
45
64
  alias :remove :delete
46
-
47
-
65
+
48
66
  end # Channel::Entries
49
67
  end # Endpoints
50
68
  end # Nimbu
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Coupons < Endpoint
6
+ def list(*args)
7
+ arguments(args)
8
+
9
+ response = get_request("/coupons", arguments.params)
10
+ return response unless block_given?
11
+ response.each { |el| yield el }
12
+ end
13
+ alias :all :list
14
+
15
+ def count(*args)
16
+ arguments(args)
17
+
18
+ get_request("/coupons/count", arguments.params)
19
+ end
20
+
21
+ def get(*args)
22
+ arguments(args, :required => [:coupon_id])
23
+
24
+ get_request("/coupons/#{coupon_id}", arguments.params)
25
+ end
26
+ alias :find :get
27
+
28
+ def create(*args)
29
+ arguments(args)
30
+
31
+ post_request("/coupons", arguments.params)
32
+ end
33
+
34
+ def update(*args)
35
+ arguments(args, :required => [:coupon_id])
36
+
37
+ patch_request("/coupons/#{coupon_id}", arguments.params)
38
+ end
39
+ alias :edit :update
40
+
41
+ def delete(*args)
42
+ arguments(args, :required => [:coupon_id])
43
+
44
+ delete_request("/coupons/#{coupon_id}", arguments.params)
45
+ end
46
+ alias :remove :delete
47
+
48
+ end # Products
49
+ end # Endpoints
50
+ end # Nimbu
@@ -12,6 +12,12 @@ module Nimbu
12
12
  end
13
13
  alias :all :list
14
14
 
15
+ def count(*args)
16
+ arguments(args)
17
+
18
+ get_request("/customers/count", arguments.params)
19
+ end
20
+
15
21
  def get(*args)
16
22
  arguments(args, :required => [:customer_id])
17
23
 
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Devices < Endpoint
6
+ def list(*args)
7
+ arguments(args)
8
+
9
+ response = get_request("/devices", arguments.params)
10
+ return response unless block_given?
11
+ response.each { |el| yield el }
12
+ end
13
+ alias :all :list
14
+
15
+ def count(*args)
16
+ arguments(args)
17
+
18
+ get_request("/devices/count", arguments.params)
19
+ end
20
+
21
+ def get(*args)
22
+ arguments(args, :required => [:device_id])
23
+
24
+ get_request("/devices/#{device_id}", arguments.params)
25
+ end
26
+ alias :find :get
27
+
28
+ def create(*args)
29
+ arguments(args)
30
+
31
+ post_request("/devices", arguments.params)
32
+ end
33
+
34
+ def update(*args)
35
+ arguments(args, :required => [:device_id])
36
+
37
+ patch_request("/devices/#{device_id}", arguments.params)
38
+ end
39
+ alias :edit :update
40
+
41
+ def delete(*args)
42
+ arguments(args, :required => [:device_id])
43
+
44
+ delete_request("/devices/#{device_id}", arguments.params)
45
+ end
46
+ alias :remove :delete
47
+
48
+ def push(*args)
49
+ arguments(args)
50
+
51
+ query_params = arguments.params.delete("query")
52
+ data = arguments.params
53
+
54
+ post_request("/devices/push", data, params: query_params)
55
+ end
56
+ alias :message :push
57
+
58
+ end # Devices
59
+ end # Endpoints
60
+ end # Nimbu
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Functions < Endpoint
6
+
7
+ def run(*args)
8
+ arguments(args, :required => [:function_id])
9
+
10
+ post_request("/functions/#{function_id}", arguments.params)
11
+ return response
12
+ end
13
+
14
+ end # Simulator
15
+ end # Endpoints
16
+ end # Nimbu
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Jobs < Endpoint
6
+
7
+ def schedule(*args)
8
+ arguments(args, :required => [:job_id])
9
+
10
+ post_request("/jobs/#{job_id}", arguments.params)
11
+ return response
12
+ end
13
+
14
+ end # Simulator
15
+ end # Endpoints
16
+ end # Nimbu
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Orders < Endpoint
6
+ def list(*args)
7
+ arguments(args)
8
+
9
+ response = get_request("/orders", arguments.params)
10
+ return response unless block_given?
11
+ response.each { |el| yield el }
12
+ end
13
+ alias :all :list
14
+
15
+ def get(*args)
16
+ arguments(args, :required => [:order_id])
17
+
18
+ get_request("/orders/#{order_id}", arguments.params)
19
+ end
20
+ alias :find :get
21
+
22
+ def count(*args)
23
+ arguments(args)
24
+
25
+ get_request("/orders/count", arguments.params)
26
+ end
27
+
28
+ end # Orders
29
+ end # Endpoints
30
+ end # Nimbu
@@ -19,6 +19,12 @@ module Nimbu
19
19
  end
20
20
  alias :find :get
21
21
 
22
+ def count(*args)
23
+ arguments(args)
24
+
25
+ get_request("/products/count", arguments.params)
26
+ end
27
+
22
28
  def create(*args)
23
29
  arguments(args)
24
30
 
@@ -0,0 +1,44 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Roles < Endpoint
6
+ def list(*args)
7
+ arguments(args)
8
+
9
+ response = get_request("/roles", arguments.params)
10
+ return response unless block_given?
11
+ response.each { |el| yield el }
12
+ end
13
+ alias :all :list
14
+
15
+ def get(*args)
16
+ arguments(args, :required => [:role_id])
17
+
18
+ get_request("/roles/#{role_id}", arguments.params)
19
+ end
20
+ alias :find :get
21
+
22
+ def create(*args)
23
+ arguments(args)
24
+
25
+ post_request("/roles", arguments.params)
26
+ end
27
+
28
+ def update(*args)
29
+ arguments(args, :required => [:role_id])
30
+
31
+ patch_request("/roles/#{role_id}", arguments.params)
32
+ end
33
+ alias :edit :update
34
+
35
+ def delete(*args)
36
+ arguments(args, :required => [:role_id])
37
+
38
+ delete_request("/roles/#{role_id}", arguments.params)
39
+ end
40
+ alias :remove :delete
41
+
42
+ end # Roles
43
+ end # Endpoints
44
+ end # Nimbu
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+
3
+ module Nimbu
4
+ module Endpoints
5
+ class Translations < Endpoint
6
+ def list(*args)
7
+ arguments(args)
8
+
9
+ response = get_request("/translations", arguments.params)
10
+ return response unless block_given?
11
+ response.each { |el| yield el }
12
+ end
13
+ alias :all :list
14
+
15
+ def get(*args)
16
+ arguments(args, :required => [:translation_id])
17
+
18
+ get_request("/translations/#{translation_id}", arguments.params)
19
+ end
20
+ alias :find :get
21
+
22
+ def count(*args)
23
+ arguments(args)
24
+
25
+ get_request("/translations/count", arguments.params)
26
+ end
27
+
28
+ def create(*args)
29
+ arguments(args)
30
+
31
+ post_request("/translations", arguments.params)
32
+ end
33
+
34
+ def update(*args)
35
+ arguments(args, :required => [:translation_id])
36
+
37
+ patch_request("/translations/#{translation_id}", arguments.params)
38
+ end
39
+ alias :edit :update
40
+
41
+ def delete(*args)
42
+ arguments(args, :required => [:translation_id])
43
+
44
+ delete_request("/translations/#{translation_id}", arguments.params)
45
+ end
46
+ alias :remove :delete
47
+
48
+ end # Translations
49
+ end # Endpoints
50
+ end # Nimbu