voucherify 2.1.1 → 4.0.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: 9f3e0ac8d557038d3d8760210a8e5f14d79b4005
4
- data.tar.gz: 019f61bc8ca3124c97cd80e93be50178a0c6c19f
2
+ SHA256:
3
+ metadata.gz: c678dc889e798e587fa154be5986162843a121b45d319073f5412a4928c30880
4
+ data.tar.gz: 0bb3ef7753ce2fc0e57a8b650c4489e3d974342f381b5dd177a6c098e9ae983f
5
5
  SHA512:
6
- metadata.gz: 124a07fec99d249a964c06921e1137eaac4711eedc84e7bc9bc865ec61e5489d803e6bf20d9f945022a8d62c552daccff0a25c24a5caa8c4dec660607eeb2dd2
7
- data.tar.gz: 95c79ec60b9eb1ba8e2bfa7309fadd2dd085f32376f72ae1a3b9befa1d428df5f03f623a42cb93893a3ae1ae057b3afc495d99ca46fef0b10e49a7495a3c8088
6
+ metadata.gz: fa1417056871b3c6aa3f1dfd8e494579a78c3b550f74eb0cd349b5223c496655330a69cb60dfc1c214410f5b114d8f43ff149e17794a274b2eddec7d46b2b0bf
7
+ data.tar.gz: 477e66648852cf962914b3ca660d7f848e4ad3f69c8e44fed7d195ca7bd82076ec6b156be09f4400cb1cb25263d1c4422314db2ff02dfd70ded888a26d777e7c
data/.gitignore CHANGED
@@ -39,3 +39,4 @@ Gemfile.lock
39
39
  .idea
40
40
 
41
41
  .ruby-version
42
+ .vscode/
data/.travis.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
3
+ - 2.7.0
4
4
  before_install:
5
5
  - gem update bundler
6
6
  install:
data/README.md CHANGED
@@ -50,6 +50,12 @@ API:
50
50
  |
51
51
  <a href="#events-api">Events</a>
52
52
  |
53
+ <a href="#orders-api">Orders</a>
54
+ |
55
+ <a href="#loyalties-api">Loyalties</a>
56
+ |
57
+ <a href="#rewards-api">Rewards</a>
58
+ |
53
59
  <a href="#utils">Utils</a>
54
60
  </p>
55
61
 
@@ -57,6 +63,8 @@ API:
57
63
 
58
64
  ## Setup
59
65
 
66
+ ### Voucherify gem starting from 3.x requires ruby version >= 2.2
67
+
60
68
  Add this line to your application's Gemfile:
61
69
 
62
70
  ```ruby
@@ -101,6 +109,18 @@ voucherify = Voucherify::Client.new({
101
109
  })
102
110
  ```
103
111
 
112
+ ### API Endpoint
113
+
114
+ Optionally, you can add `apiUrl` to the client options if you want to use Voucherify running in a specific region.
115
+
116
+ ```ruby
117
+ voucherify = Voucherify::Client.new({
118
+ :applicationId => 'YOUR-APPLICATION-ID',
119
+ :clientSecretKey => 'YOUR-CLIENT-SECRET-KEY',
120
+ :apiUrl => 'https://<region>.api.voucherify.io'
121
+ })
122
+ ```
123
+
104
124
  ## API
105
125
 
106
126
  This SDK is fully consistent with restful API Voucherify provides.
@@ -192,6 +212,8 @@ Methods are provided within `voucherify.distributions.*` namespace.
192
212
  - [Create Export](#create-export)
193
213
  - [Get Export](#get-export)
194
214
  - [Delete Export](#delete-export)
215
+ - [List Publications](#list-publications)
216
+ - [Create Publication](#create-publication)
195
217
 
196
218
  #### [Publish Vouchers]
197
219
  ```ruby
@@ -209,7 +231,14 @@ voucherify.distributions.get_export(export_id)
209
231
  ```ruby
210
232
  voucherify.distributions.delete_export(export_id)
211
233
  ```
212
-
234
+ #### [List Publications]
235
+ ```ruby
236
+ voucherify.distributions.list_publications(params)
237
+ ```
238
+ #### [Create Publication]
239
+ ```ruby
240
+ voucherify.distributions.create_publication(publication)
241
+ ```
213
242
  ---
214
243
 
215
244
  ### Validations API
@@ -325,11 +354,18 @@ voucherify.promotions.tiers.delete(promotions_tier_id)
325
354
  ### Customers API
326
355
  Methods are provided within `voucherify.customers.*` namespace.
327
356
 
357
+ - [List Customers](#list-customers)
328
358
  - [Create Customer](#create-customer)
329
359
  - [Get Customer](#get-customer)
330
360
  - [Update Customer](#update-customer)
331
361
  - [Delete Customer](#delete-customer)
332
362
 
363
+ #### [List Customers]
364
+ ```ruby
365
+ voucherify.customers.list(options)
366
+ ```
367
+ Check [options](https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-customers).
368
+
333
369
  #### [Create Customer]
334
370
  ```ruby
335
371
  voucherify.customers.create(customer)
@@ -443,15 +479,15 @@ voucherify.validation_rules.delete(id);
443
479
 
444
480
  #### [Create Validation Rule Assignment]
445
481
  ```ruby
446
- voucherify.validation_rules.createAssignment(rule_id, assignment);
482
+ voucherify.validation_rules.assignments.create(rule_id, assignment);
447
483
  ```
448
484
  #### [List Validation Rule Assignments]
449
485
  ```ruby
450
- voucherify.validation_rules.listAssignments(rule_id, query);
486
+ voucherify.validation_rules.assignments.list(rule_id, query);
451
487
  ```
452
488
  #### [Delete Validation Rule Assignment]
453
489
  ```ruby
454
- voucherify.validation_rules.deleteAssignment(rule_id, assignment_id);
490
+ voucherify.validation_rules.assignments.delete(rule_id, assignment_id);
455
491
  ```
456
492
  ---
457
493
 
@@ -477,6 +513,147 @@ voucherify.segments.delete(id);
477
513
 
478
514
  ---
479
515
 
516
+ ### Orders API
517
+
518
+ #### [Create Order]
519
+ ```ruby
520
+ voucherify.orders.create(order);
521
+ ```
522
+ #### [Get Order]
523
+ ```ruby
524
+ voucherify.orders.get(id);
525
+ ```
526
+ #### [Update Order]
527
+ ```ruby
528
+ voucherify.orders.update(id, order);
529
+ ```
530
+ #### [List orders]
531
+ ```ruby
532
+ voucherify.orders.list(params);
533
+ ```
534
+
535
+ ---
536
+
537
+ ### Rewards API
538
+
539
+ #### [Create Rewards]
540
+ ```ruby
541
+ voucherify.rewards.create(reward);
542
+ ```
543
+ #### [Get Reward]
544
+ ```ruby
545
+ voucherify.rewards.get(id);
546
+ ```
547
+ #### [Update Reward]
548
+ ```ruby
549
+ voucherify.rewards.update(id, reward);
550
+ ```
551
+ #### [List Rewards]
552
+ ```ruby
553
+ voucherify.rewards.list(params);
554
+ ```
555
+ #### [Delete Reward]
556
+ ```ruby
557
+ voucherify.rewards.delete(id);
558
+ ```
559
+
560
+ #### [List Reward Assignments]
561
+ ```ruby
562
+ voucherify.rewards.assignments.list(reward_id, query);
563
+ ```
564
+ #### [Create Reward Assignment]
565
+ ```ruby
566
+ voucherify.rewards.assignments.create(reward_id, assignment);
567
+ ```
568
+ #### [Update Reward Assignment]
569
+ ```ruby
570
+ voucherify.rewards.assignments.update(reward_id, assignment_id, assignment);
571
+ ```
572
+ #### [Delete Reward Assignment]
573
+ ```ruby
574
+ voucherify.rewards.assignments.delete(reward_id, assignment_id);
575
+ ```
576
+ ---
577
+
578
+ ### Loyalties API
579
+
580
+ #### [List Loyalties]
581
+ ```ruby
582
+ voucherify.loyalties.list(query);
583
+ ```
584
+ #### [Create Loyalty]
585
+ ```ruby
586
+ voucherify.loyalties.create(loyalty);
587
+ ```
588
+ #### [Get Loyalty]
589
+ ```ruby
590
+ voucherify.loyalties.get(id);
591
+ ```
592
+ #### [Update Loyalty]
593
+ ```ruby
594
+ voucherify.loyalties.update(id, loyalty);
595
+ ```
596
+ #### [Delete Loyalty]
597
+ ```ruby
598
+ voucherify.loyalties.delete(id);
599
+ ```
600
+
601
+ #### [List Loyalty Reward Assignments]
602
+ ```ruby
603
+ voucherify.loyalties.assignments.list(loyalty_id, query);
604
+ ```
605
+ #### [Create Loyalty Reward Assignment]
606
+ ```ruby
607
+ voucherify.loyalties.assignments.create(loyalty_id, assignment);
608
+ ```
609
+ #### [Update Loyalty Reward Assignment]
610
+ ```ruby
611
+ voucherify.loyalties.assignments.update(loyalty_id, assignment_id, assignment);
612
+ ```
613
+ #### [Delete Loyalty Reward Assignment]
614
+ ```ruby
615
+ voucherify.loyalties.assignments.delete(loyalty_id, assignment_id);
616
+ ```
617
+
618
+ #### [List Loyalty Earning Rules]
619
+ ```ruby
620
+ voucherify.loyalties.earning_rules.list(loyalty_id, query);
621
+ ```
622
+ #### [Create Loyalty Earning Rule]
623
+ ```ruby
624
+ voucherify.loyalties.earning_rules.create(loyalty_id, earning_rule);
625
+ ```
626
+ #### [Update Loyalty Earning Rule]
627
+ ```ruby
628
+ voucherify.loyalties.earning_rules.update(loyalty_id, earning_rule_id, earning_rule);
629
+ ```
630
+ #### [Delete Loyalty Earning Rule]
631
+ ```ruby
632
+ voucherify.loyalties.earning_rules.delete(loyalty_id, earning_rule_id);
633
+ ```
634
+
635
+ #### [List Loyalty Members]
636
+ ```ruby
637
+ voucherify.loyalties.members.list(loyalty_id, query);
638
+ ```
639
+ #### [Add Loyalty Member]
640
+ ```ruby
641
+ voucherify.loyalties.members.add(loyalty_id, member);
642
+ ```
643
+ #### [Get Loyalty Member]
644
+ ```ruby
645
+ voucherify.loyalties.members.get(loyalty_id, member_id);
646
+ ```
647
+ #### [Add Loyalty Card Balance]
648
+ ```ruby
649
+ voucherify.loyalties.members.add_balance(loyalty_id, member_id, add_balance);
650
+ ```
651
+ #### [Redeem Loyalty Reward]
652
+ ```ruby
653
+ voucherify.loyalties.members.redeem_reward(loyalty_id, member_id, redeem_reward);
654
+ ```
655
+ ---
656
+
480
657
  ### Events API
481
658
  Methods are provided within `voucherify.events.*` namespace.
482
659
 
@@ -580,6 +757,11 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
580
757
  Bug reports and pull requests are welcome on GitHub at https://github.com/rspective/voucherify-ruby-sdk.
581
758
 
582
759
  ## Changelog
760
+ - **2021-06-14** - `4.0.0` - Bumped required ruby version, bumped dependencies, added `Consents` API support, remove deprecated `URI.escape`.
761
+ - **2020-03-09** - `3.0.0` - Bumped required ruby version, bumped dependencies, added `list` method in Customers module.
762
+ - **2019-06-19** - `2.4.0` - Added support for custom API endpoint, that allows to connect to projects created in specific Voucherify region.
763
+ - **2019-05-09** - `2.3.0` - Added `create_publication` method in Distributions module.
764
+ - **2019-04-23** - `2.2.0` - Loyalties API, Rewards API, Orders API.
583
765
  - **2019-02-19** - `2.1.1` - Treat `referral` as optional in custom events. Added new method for custom event tracking.
584
766
  - **2019-02-19** - `2.1.0` - Handle `referral` in custom events tracking.
585
767
  - **2018-12-27** - `2.0.0` - Business validation rules.
@@ -632,6 +814,8 @@ The gem is available as open source under the terms of the [MIT License](https:/
632
814
  [Create Export]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-export
633
815
  [Get Export]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-export
634
816
  [Delete Export]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-export
817
+ [List Publications]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-publications
818
+ [Create Publication]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-publication
635
819
 
636
820
  [Validate Voucher]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#validate-voucher
637
821
 
@@ -680,3 +864,40 @@ The gem is available as open source under the terms of the [MIT License](https:/
680
864
 
681
865
  [Events]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#the-custom-event-object
682
866
  [Create event]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-custom-event
867
+
868
+ [Create Order]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-order
869
+ [Get Order]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-order
870
+ [Update Order]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-order
871
+ [List orders]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-orders
872
+
873
+ [Create Rewards]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-reward
874
+ [Get Reward]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-reward
875
+ [Update Reward]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-reward
876
+ [List Rewards]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-rewards
877
+ [Delete Reward]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-reward
878
+ [List Reward Assignments]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-reward-assignments
879
+ [Create Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-reward-assgnment
880
+ [Update Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-reward-assignment
881
+ [Delete Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-reward-assignment
882
+
883
+ [List Loyalties]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-loyalty-programs
884
+ [Create Loyalty]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-loyalty-program
885
+ [Get Loyalty]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-loyalty-program
886
+ [Update Loyalty]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-loyalty-program
887
+ [Delete Loyalty]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-loyalty-program
888
+
889
+ [List Loyalty Reward Assignments]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-reward-assignments-1
890
+ [Create Loyalty Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-reward-assignment-1
891
+ [Update Loyalty Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-reward-assignment-1
892
+ [Delete Loyalty Reward Assignment]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-reward-assignment-1
893
+
894
+ [List Loyalty Earning Rules]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-earning-rules
895
+ [Create Loyalty Earning Rule]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-earning-rule
896
+ [Update Loyalty Earning Rule]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-earning-rule
897
+ [Delete Loyalty Earning Rule]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-earning-rule
898
+
899
+ [List Loyalty Members]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-members
900
+ [Add Loyalty Member]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-member
901
+ [Get Loyalty Member]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-member
902
+ [Add Loyalty Card Balance]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#add-loyalty-card-balance
903
+ [Redeem Loyalty Reward]:https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#redeem-loyalty-card
data/lib/voucherify.rb CHANGED
@@ -4,15 +4,19 @@ require 'voucherify/service/campaigns'
4
4
  require 'voucherify/service/customers'
5
5
  require 'voucherify/service/distributions'
6
6
  require 'voucherify/service/events'
7
+ require 'voucherify/service/loyalties'
8
+ require 'voucherify/service/orders'
7
9
  require 'voucherify/service/products'
8
10
  require 'voucherify/service/redemptions'
9
11
  require 'voucherify/service/promotions'
12
+ require 'voucherify/service/rewards'
10
13
  require 'voucherify/service/segments'
11
14
  require 'voucherify/service/segments'
12
15
  require 'voucherify/service/validation_rules'
13
16
  require 'voucherify/service/validations'
14
17
  require 'voucherify/service/vouchers'
18
+ require 'voucherify/service/consents'
15
19
  require 'voucherify/utils'
16
20
 
17
21
  module Voucherify
18
- end
22
+ end
@@ -9,7 +9,7 @@ module Voucherify
9
9
 
10
10
  def initialize (options)
11
11
  @options = options
12
- @backend_url = 'https://api.voucherify.io/v1'
12
+ @backend_url = (@options[:apiUrl] || @options['apiUrl'] || 'https://api.voucherify.io') + '/v1'
13
13
  @headers = {
14
14
  'X-App-Id' => @options[:applicationId] || @options['applicationId'],
15
15
  'X-App-Token' => @options[:clientSecretKey] || @options['clientSecretKey'],
@@ -64,6 +64,22 @@ module Voucherify
64
64
  Voucherify::Service::Promotions.new(self)
65
65
  end
66
66
 
67
+ def orders
68
+ Voucherify::Service::Orders.new(self)
69
+ end
70
+
71
+ def rewards
72
+ Voucherify::Service::Rewards.new(self)
73
+ end
74
+
75
+ def loyalties
76
+ Voucherify::Service::Loyalties.new(self)
77
+ end
78
+
79
+ def consents
80
+ Voucherify::Service::Consents.new(self)
81
+ end
82
+
67
83
  def get(path, params = {})
68
84
  begin
69
85
  url = @backend_url + path
@@ -14,25 +14,25 @@ module Voucherify
14
14
  end
15
15
 
16
16
  def get(campaign_name)
17
- @client.get("/campaigns/#{URI.encode(campaign_name)}")
17
+ @client.get("/campaigns/#{ERB::Util.url_encode(campaign_name)}")
18
18
  end
19
19
 
20
20
  def delete(campaign_name, params = {})
21
- @client.delete("/campaigns/#{URI.encode(campaign_name)}", {:force => (!!(params['force'] || params[:force])).to_s})
21
+ @client.delete("/campaigns/#{ERB::Util.url_encode(campaign_name)}", {:force => (!!(params['force'] || params[:force])).to_s})
22
22
  nil
23
23
  end
24
24
 
25
25
  def add_voucher(campaign_name, params = {})
26
26
  code = params['code'] || params[:code]
27
- url = "/campaigns/#{URI.encode(campaign_name)}/vouchers"
28
- url += "/#{URI.encode(code)}" if code
27
+ url = "/campaigns/#{ERB::Util.url_encode(campaign_name)}/vouchers"
28
+ url += "/#{ERB::Util.url_encode(code)}" if code
29
29
  params.delete 'code'
30
30
  params.delete :code
31
31
  @client.post(url, params.to_json)
32
32
  end
33
33
 
34
34
  def import_vouchers(campaign_name, vouchers)
35
- @client.post("/campaigns/#{URI.encode(campaign_name)}/import", vouchers.to_json)
35
+ @client.post("/campaigns/#{ERB::Util.url_encode(campaign_name)}/import", vouchers.to_json)
36
36
  end
37
37
  end
38
38
  end
@@ -0,0 +1,17 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Consents
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def get()
13
+ @client.get('/consents')
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,4 +1,4 @@
1
- require 'uri'
1
+ require 'erb'
2
2
 
3
3
  module Voucherify
4
4
  module Service
@@ -9,21 +9,29 @@ module Voucherify
9
9
  @client = client
10
10
  end
11
11
 
12
+ def list(params = {})
13
+ @client.get('/customers', params)
14
+ end
15
+
12
16
  def create(customer)
13
17
  @client.post('/customers', customer.to_json)
14
18
  end
15
19
 
16
20
  def get(customer_id)
17
- @client.get("/customers/#{URI.encode(customer_id)}")
21
+ @client.get("/customers/#{ERB::Util.url_encode(customer_id)}")
18
22
  end
19
23
 
20
24
  def update(customer)
21
- @client.put("/customers/#{URI.encode(customer['id'] || customer[:id])}", customer.to_json)
25
+ @client.put("/customers/#{ERB::Util.url_encode(customer['id'] || customer[:id])}", customer.to_json)
22
26
  end
23
27
 
24
28
  def delete(customer_id)
25
- @client.delete("/customers/#{URI.encode(customer_id)}")
29
+ @client.delete("/customers/#{ERB::Util.url_encode(customer_id)}")
30
+ end
31
+
32
+ def update_consents(customer_id, consents)
33
+ @client.put("/customers/#{ERB::Util.url_encode(customer_id)}/consents", consents.to_json)
26
34
  end
27
35
  end
28
36
  end
29
- end
37
+ end
@@ -25,17 +25,21 @@ module Voucherify
25
25
  end
26
26
 
27
27
  def get_export(id)
28
- @client.get("/exports/#{URI.encode(id)}")
28
+ @client.get("/exports/#{ERB::Util.url_encode(id)}")
29
29
  end
30
30
 
31
31
  def delete_export(id)
32
- @client.delete("/exports/#{URI.encode(id)}")
32
+ @client.delete("/exports/#{ERB::Util.url_encode(id)}")
33
33
  end
34
34
 
35
35
  def list_publications(params = {})
36
36
  @client.get('/publications', params)
37
37
  end
38
-
38
+
39
+ def create_publication(params)
40
+ @client.post('/publications', params.to_json)
41
+ end
42
+
39
43
  end
40
44
  end
41
- end
45
+ end
@@ -0,0 +1,133 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Loyalties
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def earning_rules
13
+ Voucherify::Service::LoyaltyEarningRules.new(@client)
14
+ end
15
+
16
+ def reward_assignments
17
+ Voucherify::Service::LoyaltyRewards.new(@client)
18
+ end
19
+
20
+ def members
21
+ Voucherify::Service::LoyaltyMembers.new(@client)
22
+ end
23
+
24
+ def list(query = {})
25
+ @client.get('/loyalties', query)
26
+ end
27
+
28
+ def create(loyalty)
29
+ @client.post("/loyalties", loyalty.to_json)
30
+ end
31
+
32
+ def update(loyalty_id, loyalty)
33
+ @client.put("/loyalties/#{ERB::Util.url_encode(loyalty_id)}", loyalty.to_json)
34
+ end
35
+
36
+ def get(loyalty_id)
37
+ @client.get("/loyalties/#{ERB::Util.url_encode(loyalty_id)}")
38
+ end
39
+
40
+ def delete(loyalty_id, query = {})
41
+ @client.delete("/loyalties/#{ERB::Util.url_encode(loyalty_id)}", query)
42
+ nil
43
+ end
44
+ end
45
+
46
+ class LoyaltyEarningRules
47
+ attr_reader :client
48
+
49
+ def initialize(client)
50
+ @client = client
51
+ end
52
+
53
+ def list(loyalty_id, query = {})
54
+ @client.get("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/earning-rules", query)
55
+ end
56
+
57
+ def create(loyalty_id, earning_rules)
58
+ payload = earning_rules
59
+ if earning_rules.is_a? Hash
60
+ payload = [ earning_rules ]
61
+ end
62
+ @client.post("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/earning-rules", payload.to_json)
63
+ end
64
+
65
+ def update(loyalty_id, earning_rule_id, earning_rule)
66
+ @client.put("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/earning-rules/#{ERB::Util.url_encode(earning_rule_id)}", earning_rule.to_json)
67
+ end
68
+
69
+ def delete(loyalty_id, earning_rule_id)
70
+ @client.delete("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/earning-rules/#{ERB::Util.url_encode(earning_rule_id)}")
71
+ nil
72
+ end
73
+ end
74
+
75
+ class LoyaltyRewards
76
+ attr_reader :client
77
+
78
+ def initialize(client)
79
+ @client = client
80
+ end
81
+
82
+ def list(loyalty_id, query = {})
83
+ @client.get("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/rewards", query)
84
+ end
85
+
86
+ def create(loyalty_id, assignments)
87
+ payload = assignments
88
+ if assignments.is_a? Hash
89
+ payload = [ assignments ]
90
+ end
91
+ @client.post("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/rewards", payload.to_json)
92
+ end
93
+
94
+ def update(loyalty_id, assignment_id, assignment)
95
+ @client.put("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/rewards/#{ERB::Util.url_encode(assignment_id)}", assignment.to_json)
96
+ end
97
+
98
+ def delete(loyalty_id, assignment_id)
99
+ @client.delete("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/rewards/#{ERB::Util.url_encode(assignment_id)}")
100
+ nil
101
+ end
102
+ end
103
+
104
+ class LoyaltyMembers
105
+ attr_reader :client
106
+
107
+ def initialize(client)
108
+ @client = client
109
+ end
110
+
111
+ def list(loyalty_id, query = {})
112
+ @client.get("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/members", query)
113
+ end
114
+
115
+ def add(loyalty_id, member)
116
+ @client.post("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/members", member.to_json)
117
+ end
118
+
119
+ def get(loyalty_id, member_id)
120
+ @client.get("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/members/#{ERB::Util.url_encode(member_id)}")
121
+ end
122
+
123
+ def add_balance(loyalty_id, member_id, payload)
124
+ @client.post("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/members/#{ERB::Util.url_encode(member_id)}/balance", payload.to_json)
125
+ end
126
+
127
+ def redeem_reward(loyalty_id, member_id, payload)
128
+ @client.post("/loyalties/#{ERB::Util.url_encode(loyalty_id)}/members/#{ERB::Util.url_encode(member_id)}/redemption", payload.to_json)
129
+ end
130
+ end
131
+
132
+ end
133
+ end
@@ -0,0 +1,29 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Orders
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def create(order)
13
+ @client.post('/orders', order.to_json)
14
+ end
15
+
16
+ def get(order_id)
17
+ @client.get("/orders/#{ERB::Util.url_encode(order_id)}")
18
+ end
19
+
20
+ def update(order_id, order)
21
+ @client.put("/orders/#{ERB::Util.url_encode(order_id)}", order.to_json)
22
+ end
23
+
24
+ def list(query = {})
25
+ @client.get("/orders", query)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -14,15 +14,15 @@ module Voucherify
14
14
  end
15
15
 
16
16
  def get(product_id)
17
- @client.get("/products/#{URI.encode(product_id)}")
17
+ @client.get("/products/#{ERB::Util.url_encode(product_id)}")
18
18
  end
19
19
 
20
20
  def update(product)
21
- @client.put("/products/#{URI.encode(product['id'] || product[:id])}", product.to_json)
21
+ @client.put("/products/#{ERB::Util.url_encode(product['id'] || product[:id])}", product.to_json)
22
22
  end
23
23
 
24
24
  def delete(product_id)
25
- @client.delete("/products/#{URI.encode(product_id)}")
25
+ @client.delete("/products/#{ERB::Util.url_encode(product_id)}")
26
26
  end
27
27
 
28
28
  def list(query = {})
@@ -30,23 +30,23 @@ module Voucherify
30
30
  end
31
31
 
32
32
  def create_sku(product_id, sku)
33
- @client.post("/products/#{URI.encode(product_id)}/skus", sku.to_json)
33
+ @client.post("/products/#{ERB::Util.url_encode(product_id)}/skus", sku.to_json)
34
34
  end
35
35
 
36
36
  def get_sku(product_id, sku_id)
37
- @client.get("/products/#{URI.encode(product_id)}/skus/#{URI.encode(sku_id)}")
37
+ @client.get("/products/#{ERB::Util.url_encode(product_id)}/skus/#{ERB::Util.url_encode(sku_id)}")
38
38
  end
39
39
 
40
40
  def update_sku(product_id, sku)
41
- @client.put("/products/#{URI.encode(product_id)}/skus/#{URI.encode(sku['id'] || sku[:id])}", sku.to_json)
41
+ @client.put("/products/#{ERB::Util.url_encode(product_id)}/skus/#{ERB::Util.url_encode(sku['id'] || sku[:id])}", sku.to_json)
42
42
  end
43
43
 
44
44
  def delete_sku(product_id, sku_id)
45
- @client.delete("/products/#{URI.encode(product_id)}/skus/#{URI.encode(sku_id)}")
45
+ @client.delete("/products/#{ERB::Util.url_encode(product_id)}/skus/#{ERB::Util.url_encode(sku_id)}")
46
46
  end
47
47
 
48
48
  def list_skus(product_id)
49
- @client.get("/products/#{URI.encode(product_id)}/skus")
49
+ @client.get("/products/#{ERB::Util.url_encode(product_id)}/skus")
50
50
  end
51
51
  end
52
52
  end
@@ -30,25 +30,29 @@ module Voucherify
30
30
  end
31
31
 
32
32
  def list(promotion_id)
33
- @client.get("/promotions/#{URI.encode(promotion_id)}/tiers")
33
+ @client.get("/promotions/#{ERB::Util.url_encode(promotion_id)}/tiers")
34
34
  end
35
35
 
36
36
  def create(promotion_id, promotion_tier)
37
- @client.post("/promotions/#{URI.encode(promotion_id)}/tiers", promotion_tier.to_json)
37
+ @client.post("/promotions/#{ERB::Util.url_encode(promotion_id)}/tiers", promotion_tier.to_json)
38
38
  end
39
39
 
40
40
  def redeem(promotions_tier_id, redemption_context)
41
- @client.post("/promotions/tiers/#{URI.encode(promotions_tier_id)}/redemption", redemption_context.to_json)
41
+ @client.post("/promotions/tiers/#{ERB::Util.url_encode(promotions_tier_id)}/redemption", redemption_context.to_json)
42
42
  end
43
43
 
44
44
  def update(promotions_tier)
45
- @client.put("/promotions/tiers/#{URI.encode(promotions_tier['id'] || promotions_tier[:id])}", promotions_tier.to_json)
45
+ @client.put("/promotions/tiers/#{ERB::Util.url_encode(promotions_tier['id'] || promotions_tier[:id])}", promotions_tier.to_json)
46
46
  end
47
47
 
48
48
  def delete(promotions_tier_id)
49
- @client.delete("/promotions/tiers/#{URI.encode(promotions_tier_id)}")
49
+ @client.delete("/promotions/tiers/#{ERB::Util.url_encode(promotions_tier_id)}")
50
50
  nil
51
51
  end
52
+
53
+ def list_tiers(query = {})
54
+ @client.get("/promotions/tiers", query)
55
+ end
52
56
  end
53
57
  end
54
58
  end
@@ -11,9 +11,9 @@ module Voucherify
11
11
 
12
12
  def redeem(code, params = {})
13
13
  if code.is_a? Hash
14
- endpoint = "/promotions/tiers/#{URI.encode(code[:id] || code['id'])}/redemption"
14
+ endpoint = "/promotions/tiers/#{ERB::Util.url_encode(code[:id] || code['id'])}/redemption"
15
15
  else
16
- endpoint = "/vouchers/#{URI.encode(code)}/redemption"
16
+ endpoint = "/vouchers/#{ERB::Util.url_encode(code)}/redemption"
17
17
  end
18
18
  @client.post(endpoint, params.to_json)
19
19
  end
@@ -23,7 +23,7 @@ module Voucherify
23
23
  end
24
24
 
25
25
  def get_for_voucher(code)
26
- @client.get("/vouchers/#{URI.encode(code)}/redemption")
26
+ @client.get("/vouchers/#{ERB::Util.url_encode(code)}/redemption")
27
27
  end
28
28
 
29
29
  def rollback(redemption_id, payload = {})
@@ -31,12 +31,12 @@ module Voucherify
31
31
  params = reason ? {:reason => reason} : {}
32
32
  payload.delete 'reason'
33
33
  payload.delete :reason
34
- @client.post("/redemptions/#{URI.encode(redemption_id)}/rollback", payload.to_json, params)
34
+ @client.post("/redemptions/#{ERB::Util.url_encode(redemption_id)}/rollback", payload.to_json, params)
35
35
  end
36
36
 
37
37
  def get_redemption(redemption_id)
38
- @client.get("/redemptions/#{URI.encode(redemption_id)}")
38
+ @client.get("/redemptions/#{ERB::Util.url_encode(redemption_id)}")
39
39
  end
40
40
  end
41
41
  end
42
- end
42
+ end
@@ -0,0 +1,63 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Rewards
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def assignments
13
+ Voucherify::Service::RewardAssignments.new(@client)
14
+ end
15
+
16
+ def create(reward)
17
+ @client.post('/rewards', reward.to_json)
18
+ end
19
+
20
+ def get(reward_id)
21
+ @client.get("/rewards/#{ERB::Util.url_encode(reward_id)}")
22
+ end
23
+
24
+ def update(reward_id, reward)
25
+ @client.put("/rewards/#{ERB::Util.url_encode(reward_id)}", reward.to_json)
26
+ end
27
+
28
+ def list(query = {})
29
+ @client.get("/rewards", query)
30
+ end
31
+
32
+ def delete(reward_id)
33
+ @client.delete("/rewards/#{ERB::Util.url_encode(reward_id)}")
34
+ nil
35
+ end
36
+ end
37
+
38
+ class RewardAssignments
39
+ attr_reader :client
40
+
41
+ def initialize(client)
42
+ @client = client
43
+ end
44
+
45
+ def list(reward_id, query = {})
46
+ @client.get("/rewards/#{ERB::Util.url_encode(reward_id)}/assignments", query)
47
+ end
48
+
49
+ def create(reward_id, assignment)
50
+ @client.post("/rewards/#{ERB::Util.url_encode(reward_id)}/assignments", assignment.to_json)
51
+ end
52
+
53
+ def update(reward_id, assignment_id, assignment)
54
+ @client.put("/rewards/#{ERB::Util.url_encode(reward_id)}/assignments/#{ERB::Util.url_encode(assignment_id)}", assignment.to_json)
55
+ end
56
+
57
+ def delete(reward_id, assignment_id)
58
+ @client.delete("/rewards/#{ERB::Util.url_encode(reward_id)}/assignments/#{ERB::Util.url_encode(assignment_id)}")
59
+ nil
60
+ end
61
+ end
62
+ end
63
+ end
@@ -14,11 +14,11 @@ module Voucherify
14
14
  end
15
15
 
16
16
  def get(id)
17
- @client.get("/segments/#{URI.encode(id)}")
17
+ @client.get("/segments/#{ERB::Util.url_encode(id)}")
18
18
  end
19
19
 
20
20
  def delete(id)
21
- @client.delete("/segments/#{URI.encode(id)}")
21
+ @client.delete("/segments/#{ERB::Util.url_encode(id)}")
22
22
  end
23
23
  end
24
24
  end
@@ -9,6 +9,10 @@ module Voucherify
9
9
  @client = client
10
10
  end
11
11
 
12
+ def assignments
13
+ Voucherify::Service::ValidationRulesAssignments.new(@client)
14
+ end
15
+
12
16
  def create(validation_rules)
13
17
  @client.post('/validation-rules', validation_rules.to_json)
14
18
  end
@@ -18,27 +22,47 @@ module Voucherify
18
22
  end
19
23
 
20
24
  def get(id)
21
- @client.get("/validation-rules/#{URI.encode(id)}")
25
+ @client.get("/validation-rules/#{ERB::Util.url_encode(id)}")
22
26
  end
23
27
 
24
28
  def update(validation_rules)
25
- @client.put("/validation-rules/#{URI.encode(validation_rules['id'] || validation_rules[:id])}", validation_rules.to_json)
29
+ @client.put("/validation-rules/#{ERB::Util.url_encode(validation_rules['id'] || validation_rules[:id])}", validation_rules.to_json)
26
30
  end
27
31
 
28
32
  def delete(id)
29
- @client.delete("/validation-rules/#{URI.encode(id)}")
33
+ @client.delete("/validation-rules/#{ERB::Util.url_encode(id)}")
30
34
  end
31
35
 
32
36
  def createAssignment(id, assignment)
33
- @client.post("/validation-rules/#{URI.encode(id)}/assignments", assignment.to_json)
37
+ @client.post("/validation-rules/#{ERB::Util.url_encode(id)}/assignments", assignment.to_json)
34
38
  end
35
39
 
36
40
  def deleteAssignment(rule_id, assignment_id)
37
- @client.delete("/validation-rules/#{URI.encode(rule_id)}/assignments/#{URI.encode(assignment_id)}")
41
+ @client.delete("/validation-rules/#{ERB::Util.url_encode(rule_id)}/assignments/#{ERB::Util.url_encode(assignment_id)}")
38
42
  end
39
43
 
40
44
  def listAssignments(id, query)
41
- @client.get("/validation-rules/#{URI.encode(id)}/assignments", query)
45
+ @client.get("/validation-rules/#{ERB::Util.url_encode(id)}/assignments", query)
46
+ end
47
+ end
48
+
49
+ class ValidationRulesAssignments
50
+ attr_reader :client
51
+
52
+ def initialize(client)
53
+ @client = client
54
+ end
55
+
56
+ def create(rule_id, assignment)
57
+ @client.post("/validation-rules/#{ERB::Util.url_encode(rule_id)}/assignments", assignment.to_json)
58
+ end
59
+
60
+ def delete(rule_id, assignment_id)
61
+ @client.delete("/validation-rules/#{ERB::Util.url_encode(rule_id)}/assignments/#{ERB::Util.url_encode(assignment_id)}")
62
+ end
63
+
64
+ def list(rule_id, query)
65
+ @client.get("/validation-rules/#{ERB::Util.url_encode(rule_id)}/assignments", query)
42
66
  end
43
67
  end
44
68
  end
@@ -10,7 +10,7 @@ module Voucherify
10
10
  end
11
11
 
12
12
  def validate_voucher(code, context = {})
13
- @client.post("/vouchers/#{URI.encode(code)}/validate", context.to_json)
13
+ @client.post("/vouchers/#{ERB::Util.url_encode(code)}/validate", context.to_json)
14
14
  end
15
15
 
16
16
  def validate(code, context = {})
@@ -23,4 +23,4 @@ module Voucherify
23
23
 
24
24
  end
25
25
  end
26
- end
26
+ end
@@ -11,16 +11,16 @@ module Voucherify
11
11
 
12
12
  def create(code, options = {})
13
13
  url = '/vouchers'
14
- url += '/' + URI.encode(code) if code
14
+ url += '/' + ERB::Util.url_encode(code) if code
15
15
  @client.post(url, options.to_json)
16
16
  end
17
17
 
18
18
  def get(code)
19
- @client.get("/vouchers/#{URI.encode(code)}")
19
+ @client.get("/vouchers/#{ERB::Util.url_encode(code)}")
20
20
  end
21
21
 
22
22
  def update(voucher_update)
23
- @client.put("/vouchers/#{URI.encode(voucher_update['code'] || voucher_update[:code])}", voucher_update.to_json)
23
+ @client.put("/vouchers/#{ERB::Util.url_encode(voucher_update['code'] || voucher_update[:code])}", voucher_update.to_json)
24
24
  end
25
25
 
26
26
  def list(query)
@@ -28,17 +28,17 @@ module Voucherify
28
28
  end
29
29
 
30
30
  def enable(code)
31
- @client.post("/vouchers/#{URI.encode(code)}/enable", nil)
31
+ @client.post("/vouchers/#{ERB::Util.url_encode(code)}/enable", nil)
32
32
  nil
33
33
  end
34
34
 
35
35
  def disable(code)
36
- @client.post("/vouchers/#{URI.encode(code)}/disable", nil)
36
+ @client.post("/vouchers/#{ERB::Util.url_encode(code)}/disable", nil)
37
37
  nil
38
38
  end
39
39
 
40
40
  def delete(code, params = {})
41
- @client.delete("/vouchers/#{URI.encode(code)}", {:force => (!!(params['force'] || params[:force])).to_s})
41
+ @client.delete("/vouchers/#{ERB::Util.url_encode(code)}", {:force => (!!(params['force'] || params[:force])).to_s})
42
42
  nil
43
43
  end
44
44
 
@@ -47,7 +47,7 @@ module Voucherify
47
47
  end
48
48
 
49
49
  def add_balance(code, balance)
50
- @client.post("/vouchers/#{URI.encode(code)}/balance", balance.to_json)
50
+ @client.post("/vouchers/#{ERB::Util.url_encode(code)}/balance", balance.to_json)
51
51
  end
52
52
  end
53
53
  end
@@ -1,3 +1,3 @@
1
1
  module Voucherify
2
- VERSION = '2.1.1'
2
+ VERSION = '4.0.0'
3
3
  end
data/voucherify.gemspec CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'rake', '~> 10.0'
22
- spec.add_development_dependency 'rspec', '~> 3.0'
23
- spec.add_development_dependency 'webmock', '~> 2.3.1'
21
+ spec.add_development_dependency 'rake', '~> 13.0.3'
22
+ spec.add_development_dependency 'rspec', '~> 3.9.0'
23
+ spec.add_development_dependency 'webmock', '~> 3.8.2'
24
24
 
25
- spec.add_dependency 'rest-client', '~> 2.0'
25
+ spec.add_dependency 'rest-client', '~> 2.1.0'
26
26
 
27
- spec.required_ruby_version = '>= 2.0.0'
27
+ spec.required_ruby_version = '>= 2.2.0'
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voucherify
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawelrychlik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-19 00:00:00.000000000 Z
11
+ date: 2021-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '10.0'
19
+ version: 13.0.3
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '10.0'
26
+ version: 13.0.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: 3.9.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
40
+ version: 3.9.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: webmock
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.3.1
47
+ version: 3.8.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.3.1
54
+ version: 3.8.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rest-client
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.0'
61
+ version: 2.1.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.0'
68
+ version: 2.1.0
69
69
  description:
70
70
  email:
71
71
  - pawel.rychlik@rspective.pl
@@ -88,12 +88,16 @@ files:
88
88
  - lib/voucherify.rb
89
89
  - lib/voucherify/client.rb
90
90
  - lib/voucherify/service/campaigns.rb
91
+ - lib/voucherify/service/consents.rb
91
92
  - lib/voucherify/service/customers.rb
92
93
  - lib/voucherify/service/distributions.rb
93
94
  - lib/voucherify/service/events.rb
95
+ - lib/voucherify/service/loyalties.rb
96
+ - lib/voucherify/service/orders.rb
94
97
  - lib/voucherify/service/products.rb
95
98
  - lib/voucherify/service/promotions.rb
96
99
  - lib/voucherify/service/redemptions.rb
100
+ - lib/voucherify/service/rewards.rb
97
101
  - lib/voucherify/service/segments.rb
98
102
  - lib/voucherify/service/validation_rules.rb
99
103
  - lib/voucherify/service/validations.rb
@@ -114,15 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
118
  requirements:
115
119
  - - ">="
116
120
  - !ruby/object:Gem::Version
117
- version: 2.0.0
121
+ version: 2.2.0
118
122
  required_rubygems_version: !ruby/object:Gem::Requirement
119
123
  requirements:
120
124
  - - ">="
121
125
  - !ruby/object:Gem::Version
122
126
  version: '0'
123
127
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.5.1
128
+ rubygems_version: 3.0.3
126
129
  signing_key:
127
130
  specification_version: 4
128
131
  summary: Ruby SDK for Voucherify. More info on http://www.voucherify.io