voucherify 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bbd9695952723777efe716ab4f8a48b11d40e250
4
- data.tar.gz: fd835a4412be0cb48ffdbf51c08e166888c76db1
3
+ metadata.gz: 6735d1504bcd3793ae0a670d0a687e17e38f2519
4
+ data.tar.gz: 8880cf6c0bb216754bc960924ae064895160ffdb
5
5
  SHA512:
6
- metadata.gz: ae0453d58a61850caaafcd216ef4b8800a8f070c8201c69ade68029de3b2fd99a77fda76b85c06f5e016524dcb09401993d7da85c05778a52879871aa08b8d5c
7
- data.tar.gz: 259f36f42f969e8aa85e763483878a517310cb8c93757a1c32917fe56927834f6ebcbed6bcbb25e3f97714502c2295d02cb552ad3a293bdfa88d394eafcee8fc
6
+ metadata.gz: ace85201f017f9b164bbf91d2888177a62ccb52b0197db600879dccd06d64c62d5416cea56566d69b3d7eea181d2cba2db3dba38278740dc27d26e8b6a0e1d6c
7
+ data.tar.gz: d67ad31d24816f1276e28b2d14d63a0bab5f12310c4ab1a86fc643cd82366310fb90d12996b7838a8ee76d62fd01f1ca39263b534d4cbc442334be5458bb9caf
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ before_install:
5
+ - gem update bundler
6
+ install:
7
+ - bundle install
8
+ script:
9
+ - rake spec
data/README.md CHANGED
@@ -5,6 +5,7 @@
5
5
  <h3 align="center">Official <a href="http://voucherify.io?utm_source=github&utm_medium=sdk&utm_campaign=acq">Voucherify</a> SDK for Ruby</h3>
6
6
 
7
7
  <p align="center">
8
+ <a href="https://travis-ci.org/voucherifyio/voucherify-ruby-sdk"><img src="https://travis-ci.org/voucherifyio/voucherify-ruby-sdk.svg?branch=master" alt="Build Status"/></a>
8
9
  <a href="https://rubygems.org/gems/voucherify"><img src="https://img.shields.io/gem/v/voucherify.svg" alt="Gem Version"/></a>
9
10
  <a href="https://rubygems.org/gems/voucherify"><img src="https://img.shields.io/gem/dt/voucherify.svg" alt="Gem Downloads"/></a>
10
11
  </p>
@@ -28,6 +29,8 @@
28
29
  API:
29
30
  <a href="#vouchers-api">Vouchers</a>
30
31
  |
32
+ <a href="#campaigns-api">Campaigns</a>
33
+ |
31
34
  <a href="#distributions-api">Distributions</a>
32
35
  |
33
36
  <a href="#validations-api">Validations</a>
@@ -36,6 +39,8 @@ API:
36
39
  |
37
40
  <a href="#customers-api">Customers</a>
38
41
  |
42
+ <a href="#products-api">Products</a>
43
+ |
39
44
  <a href="#utils">Utils</a>
40
45
  </p>
41
46
 
@@ -115,6 +120,32 @@ voucherify.vouchers.disable(code)
115
120
  ```
116
121
  ---
117
122
 
123
+ ### Campaigns API
124
+ Methods are provided within `voucherify.campaigns.*` namespace.
125
+ - [Create Campaign](#create-campaign)
126
+ - [Get Campaign](#get-campaign)
127
+ - [Add Voucher to Campaign](#add-voucher-to-campaign)
128
+ - [Import Vouchers to Campaign](#import-vouchers-to-campaign)
129
+
130
+ #### [Create Campaign]
131
+ ```ruby
132
+ voucherify.campaigns.create(campaign)
133
+ ```
134
+ #### [Get Campaign]
135
+ ```ruby
136
+ voucherify.campaigns.get(campaign_name)
137
+ ```
138
+ #### [Add Voucher to Campaign]
139
+ ```ruby
140
+ voucherify.campaigns.add_voucher(campaign_name, [params])
141
+ ```
142
+ #### [Import Vouchers to Campaign]
143
+ ```ruby
144
+ voucherify.campaigns.import_vouchers(campaign_name, vouchers)
145
+ ```
146
+
147
+ ---
148
+
118
149
  ### Distributions API
119
150
  Methods are provided within `voucherify.distributions.*` namespace.
120
151
 
@@ -200,6 +231,63 @@ voucherify.customers.update(customer)
200
231
  voucherify.customers.delete(customer_id)
201
232
  ```
202
233
 
234
+ ### Products API
235
+ Methods are provided within `voucherify.products.*` namespace.
236
+
237
+ - [Create Product](#create-product)
238
+ - [Get Product](#get-product)
239
+ - [Update Product](#update-product)
240
+ - [Delete Product](#delete-product)
241
+ - [List Products](#list-products)
242
+ - [Create SKU](#create-sku)
243
+ - [Get SKU](#get-sku)
244
+ - [Update SKU](#update-sku)
245
+ - [Delete SKU](#delete-sku)
246
+ - [List all product SKUs](#list-all-product-skus)
247
+
248
+ #### [Create Product]
249
+ ```ruby
250
+ voucherify.products.create(product)
251
+ ```
252
+ Check [product object](https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#the-product-object).
253
+ #### [Get Product]
254
+ ```ruby
255
+ voucherify.products.get(product_id)
256
+ ```
257
+ #### [Update Product]
258
+ ```ruby
259
+ voucherify.products.update(product)
260
+ ```
261
+ #### [Delete Product]
262
+ ```ruby
263
+ voucherify.products.delete(product_id)
264
+ ```
265
+ #### [List Products]
266
+ ```ruby
267
+ voucherify.products.list([params])
268
+ ```
269
+ #### [Create SKU]
270
+ ```ruby
271
+ voucherify.products.create_sku(product_id, sku)
272
+ ```
273
+ Check [SKU object](https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#the-sku-object).
274
+ #### [Get SKU]
275
+ ```ruby
276
+ voucherify.products.get_sku(product_id, sku_id)
277
+ ```
278
+ #### [Update SKU]
279
+ ```ruby
280
+ voucherify.products.update_sku(product_id, sku)
281
+ ```
282
+ #### [Delete SKU]
283
+ ```ruby
284
+ voucherify.products.delete_sku(product_id, sku_id)
285
+ ```
286
+ #### [List all product SKUs]
287
+ ```ruby
288
+ voucherify.products.list_skus(product_id)
289
+ ```
290
+
203
291
  ---
204
292
 
205
293
  ### Migration from 0.x
@@ -280,6 +368,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
280
368
  Bug reports and pull requests are welcome on GitHub at https://github.com/rspective/voucherify-ruby-sdk.
281
369
 
282
370
  ## Changelog
371
+ - **2016-12-29** - `1.1.0` - introduced [campaigns api](#campaigns-api) and [products api](#products-api).
283
372
  - **2016-12-15** - `1.0.0` - introduced namespaces, unified method names, updated README. Migration from versions 0.x required [migration from version 0.x](#migration-from-0x)
284
373
  - **2016-12-02** - `0.8.2` - support gift vouchers in utils, fix price and discount calculations for amount discounts
285
374
  - **2016-10-03** - `0.8.1` - publish update
@@ -310,8 +399,16 @@ The gem is available as open source under the terms of the [MIT License](http://
310
399
  [List Vouchers]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-vouchers
311
400
  [Enable Voucher]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#enable-voucher
312
401
  [Disable Voucher]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#disable-voucher
402
+
403
+ [Create Campaign]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-campaign
404
+ [Get Campaign]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-campaign
405
+ [Add Voucher to Campaign]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#add-voucher-to-campaign
406
+ [Import Vouchers to Campaign]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#import-vouchers
407
+
313
408
  [Publish Vouchers]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#publish-voucher
409
+
314
410
  [Validate Voucher]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#validate-voucher
411
+
315
412
  [Redeem Voucher]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#redeem-voucher
316
413
  [List Redemptions]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-redemptions
317
414
  [Get Voucher's Redemptions]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#vouchers-redemptions
@@ -320,4 +417,15 @@ The gem is available as open source under the terms of the [MIT License](http://
320
417
  [Create Customer]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-customer
321
418
  [Get Customer]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#read-customer
322
419
  [Update Customer]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-customer
323
- [Delete Customer]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-customer
420
+ [Delete Customer]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-customer
421
+
422
+ [Create Product]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-product
423
+ [Get Product]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-product
424
+ [Update Product]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-product
425
+ [Delete Product]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-product
426
+ [List Products]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-products
427
+ [Create SKU]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#create-sku
428
+ [Get SKU]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#get-sku
429
+ [Update SKU]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#update-sku
430
+ [Delete SKU]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#delete-sku
431
+ [List all product SKUs]: https://docs.voucherify.io/reference?utm_source=github&utm_medium=sdk&utm_campaign=acq#list-skus
data/Rakefile CHANGED
@@ -1,8 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
- RSpec::Core::RakeTask.new(:spec) do |t|
5
- t.rspec_opts = '--format documentation'
6
- end
7
-
4
+ RSpec::Core::RakeTask.new(:spec)
8
5
  task :default => :spec
data/lib/voucherify.rb CHANGED
@@ -1,7 +1,9 @@
1
1
  require 'voucherify/version'
2
2
  require 'voucherify/client'
3
+ require 'voucherify/service/campaigns'
3
4
  require 'voucherify/service/customers'
4
5
  require 'voucherify/service/distributions'
6
+ require 'voucherify/service/products'
5
7
  require 'voucherify/service/redemptions'
6
8
  require 'voucherify/service/validations'
7
9
  require 'voucherify/service/vouchers'
@@ -5,12 +5,14 @@ require 'json'
5
5
  module Voucherify
6
6
 
7
7
  class Client
8
+ attr_reader :backend_url
9
+
8
10
  def initialize (options)
9
11
  @options = options
10
12
  @backend_url = 'https://api.voucherify.io/v1'
11
13
  @headers = {
12
- 'X-App-Id' => @options[:applicationId],
13
- 'X-App-Token' => @options[:clientSecretKey],
14
+ 'X-App-Id' => @options[:applicationId] || @options['applicationId'],
15
+ 'X-App-Token' => @options[:clientSecretKey] || @options['clientSecretKey'],
14
16
  'X-Voucherify-Channel' => 'Ruby-SDK',
15
17
  :accept => :json
16
18
  }
@@ -36,6 +38,14 @@ module Voucherify
36
38
  Voucherify::Service::Customers.new(self)
37
39
  end
38
40
 
41
+ def products
42
+ Voucherify::Service::Products.new(self)
43
+ end
44
+
45
+ def campaigns
46
+ Voucherify::Service::Campaigns.new(self)
47
+ end
48
+
39
49
  def get(path, params = {})
40
50
  url = @backend_url + path
41
51
  response = RestClient.get(url, @headers.merge({:params => params}))
@@ -0,0 +1,39 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Campaigns
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def create(campaign)
13
+ @client.post('/campaigns', campaign.to_json)
14
+ end
15
+
16
+ def get(campaign_name)
17
+ @client.get("/campaigns/#{URI.encode(campaign_name)}")
18
+ end
19
+
20
+ def delete(campaign_name, params = {})
21
+ @client.delete("/campaigns/#{URI.encode(campaign_name)}", {:force => (!!(params['force'] || params[:force])).to_s})
22
+ nil
23
+ end
24
+
25
+ def add_voucher(campaign_name, params = {})
26
+ code = params['code'] || params[:code]
27
+ url = "/campaigns/#{URI.encode(campaign_name)}/vouchers"
28
+ url += "/#{URI.encode(code)}" if code
29
+ params.delete 'code'
30
+ params.delete :code
31
+ @client.post(url, params.to_json)
32
+ end
33
+
34
+ def import_vouchers(campaign_name, vouchers)
35
+ @client.post("/campaigns/#{URI.encode(campaign_name)}/import", vouchers.to_json)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -10,19 +10,19 @@ module Voucherify
10
10
  end
11
11
 
12
12
  def create(customer)
13
- @client.post('/customers/', customer.to_json)
13
+ @client.post('/customers', customer.to_json)
14
14
  end
15
15
 
16
16
  def get(customer_id)
17
- @client.get('/customers/' + customer_id)
17
+ @client.get("/customers/#{URI.encode(customer_id)}")
18
18
  end
19
19
 
20
20
  def update(customer)
21
- @client.put('/customers/' + (customer['id'] || customer[:id]), customer.to_json)
21
+ @client.put("/customers/#{URI.encode(customer['id'] || customer[:id])}", customer.to_json)
22
22
  end
23
23
 
24
24
  def delete(customer_id)
25
- @client.delete('/customers/' + customer_id)
25
+ @client.delete("/customers/#{URI.encode(customer_id)}")
26
26
  end
27
27
  end
28
28
  end
@@ -9,17 +9,15 @@ module Voucherify
9
9
  @client = client
10
10
  end
11
11
 
12
- def publish(campaign_name)
13
- url = '/vouchers/publish'
12
+ def publish(params)
14
13
  payload = {}
15
-
16
- if campaign_name.is_a? String
17
- url += '?campaign=' + URI.encode(campaign_name)
18
- elsif campaign_name.is_a? Hash
19
- payload = campaign_name
14
+ if params.is_a? String
15
+ payload = {:campaign => params}
16
+ elsif params.is_a? Hash
17
+ payload = params
20
18
  end
21
19
 
22
- @client.post(url, payload.to_json)
20
+ @client.post('/vouchers/publish', payload.to_json)
23
21
  end
24
22
  end
25
23
  end
@@ -0,0 +1,53 @@
1
+ require 'uri'
2
+
3
+ module Voucherify
4
+ module Service
5
+ class Products
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def create(product)
13
+ @client.post('/products', product.to_json)
14
+ end
15
+
16
+ def get(product_id)
17
+ @client.get("/products/#{URI.encode(product_id)}")
18
+ end
19
+
20
+ def update(product)
21
+ @client.put("/products/#{URI.encode(product['id'] || product[:id])}", product.to_json)
22
+ end
23
+
24
+ def delete(product_id)
25
+ @client.delete("/products/#{URI.encode(product_id)}")
26
+ end
27
+
28
+ def list(query = {})
29
+ @client.get('/products', query)
30
+ end
31
+
32
+ def create_sku(product_id, sku)
33
+ @client.post("/products/#{URI.encode(product_id)}/skus", sku.to_json)
34
+ end
35
+
36
+ def get_sku(product_id, sku_id)
37
+ @client.get("/products/#{URI.encode(product_id)}/skus/#{URI.encode(sku_id)}")
38
+ end
39
+
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)
42
+ end
43
+
44
+ def delete_sku(product_id, sku_id)
45
+ @client.delete("/products/#{URI.encode(product_id)}/skus/#{URI.encode(sku_id)}")
46
+ end
47
+
48
+ def list_skus(product_id)
49
+ @client.get("/products/#{URI.encode(product_id)}/skus")
50
+ end
51
+ end
52
+ end
53
+ end
@@ -10,25 +10,23 @@ module Voucherify
10
10
  end
11
11
 
12
12
  def redeem(code, params = {})
13
- url = '/vouchers/' + URI.encode(code) + '/redemption'
14
- @client.post(url, params.to_json)
13
+ @client.post("/vouchers/#{URI.encode(code)}/redemption", params.to_json)
15
14
  end
16
15
 
17
16
  def list(query = {})
18
- @client.get('/redemptions/', query)
17
+ @client.get('/redemptions', query)
19
18
  end
20
19
 
21
20
  def get_for_voucher(code)
22
- @client.get('/vouchers/' + URI.encode(code) + '/redemption')
21
+ @client.get("/vouchers/#{URI.encode(code)}/redemption")
23
22
  end
24
23
 
25
- def rollback(redemption_id, params = {})
26
- reason = params['reason'] || params[:reason]
27
- url = '/redemptions/'+ URI.encode(redemption_id) + '/rollback'
28
- url += '?reason=' + URI.encode(reason) if reason
29
- params.delete 'reason'
30
- params.delete :reason
31
- @client.post(url, params.to_json)
24
+ def rollback(redemption_id, payload = {})
25
+ reason = payload['reason'] || payload[:reason]
26
+ params = reason ? {:reason => reason} : {}
27
+ payload.delete 'reason'
28
+ payload.delete :reason
29
+ @client.post("/redemptions/#{URI.encode(redemption_id)}/rollback", payload.to_json, params)
32
30
  end
33
31
 
34
32
  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/#{URI.encode(code)}/validate", context.to_json)
14
14
  end
15
15
  end
16
16
  end
@@ -10,41 +10,35 @@ module Voucherify
10
10
  end
11
11
 
12
12
  def create(code, options = {})
13
- url = '/vouchers/'
14
- url += URI.encode(code) if code
13
+ url = '/vouchers'
14
+ url += '/' + URI.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/#{URI.encode(code)}")
20
20
  end
21
21
 
22
22
  def update(voucher_update)
23
- url = '/vouchers/' + URI.encode(voucher_update['code'])
24
- @client.put(url, voucher_update.to_json)
23
+ @client.put("/vouchers/#{URI.encode(voucher_update['code'] || voucher_update[:code])}", voucher_update.to_json)
25
24
  end
26
25
 
27
26
  def list(query)
28
- @client.get('/vouchers/', query)
27
+ @client.get('/vouchers', query)
29
28
  end
30
29
 
31
30
  def enable(code)
32
- url = '/vouchers/' + URI.encode(code) + '/enable'
33
- @client.post(url, nil)
31
+ @client.post("/vouchers/#{URI.encode(code)}/enable", nil)
34
32
  nil
35
33
  end
36
34
 
37
35
  def disable(code)
38
- url = '/vouchers/' + URI.encode(code) + '/disable'
39
- @client.post(url, nil)
36
+ @client.post("/vouchers/#{URI.encode(code)}/disable", nil)
40
37
  nil
41
38
  end
42
39
 
43
40
  def delete(code, params = {})
44
- force = params['force'] || params[:force]
45
- url = '/vouchers/' + URI.encode(code)
46
- url += '?force=' + (!!force).to_s
47
- @client.delete(url, nil)
41
+ @client.delete("/vouchers/#{URI.encode(code)}", {:force => (!!(params['force'] || params[:force])).to_s})
48
42
  nil
49
43
  end
50
44
  end
@@ -1,3 +1,3 @@
1
1
  module Voucherify
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
data/voucherify.gemspec CHANGED
@@ -21,8 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler', '~> 1.11'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'rspec', '~> 3.0'
24
+ spec.add_development_dependency 'webmock', '~> 2.3.1'
24
25
 
25
26
  spec.add_dependency 'rest-client', '~> 2.0'
26
27
 
27
- spec.required_ruby_version = '>= 1.9.3'
28
+ spec.required_ruby_version = '>= 2.0.0'
28
29
  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: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawelrychlik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-29 00:00:00.000000000 Z
11
+ date: 2017-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: webmock
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.3.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 2.3.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rest-client
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +88,8 @@ extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
90
  - .gitignore
91
+ - .rspec
92
+ - .travis.yml
77
93
  - Gemfile
78
94
  - LICENSE
79
95
  - README.md
@@ -85,8 +101,10 @@ files:
85
101
  - examples/vouchers.rb
86
102
  - lib/voucherify.rb
87
103
  - lib/voucherify/client.rb
104
+ - lib/voucherify/service/campaigns.rb
88
105
  - lib/voucherify/service/customers.rb
89
106
  - lib/voucherify/service/distributions.rb
107
+ - lib/voucherify/service/products.rb
90
108
  - lib/voucherify/service/redemptions.rb
91
109
  - lib/voucherify/service/validations.rb
92
110
  - lib/voucherify/service/vouchers.rb
@@ -106,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
124
  requirements:
107
125
  - - '>='
108
126
  - !ruby/object:Gem::Version
109
- version: 1.9.3
127
+ version: 2.0.0
110
128
  required_rubygems_version: !ruby/object:Gem::Requirement
111
129
  requirements:
112
130
  - - '>='