facebook_ads 0.1.5 → 0.1.7

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +23 -0
  4. data/.travis.yml +1 -1
  5. data/Gemfile +4 -5
  6. data/Gemfile.lock +34 -82
  7. data/{README.markdown → README.md} +43 -10
  8. data/Rakefile +6 -0
  9. data/bin/console +15 -1
  10. data/facebook_ads.gemspec +11 -13
  11. data/lib/facebook_ads.rb +11 -7
  12. data/lib/facebook_ads/ad.rb +6 -8
  13. data/lib/facebook_ads/ad_account.rb +65 -54
  14. data/lib/facebook_ads/ad_audience.rb +22 -0
  15. data/lib/facebook_ads/ad_campaign.rb +21 -17
  16. data/lib/facebook_ads/ad_creative.rb +7 -9
  17. data/lib/facebook_ads/ad_image.rb +3 -5
  18. data/lib/facebook_ads/ad_insight.rb +4 -5
  19. data/lib/facebook_ads/ad_product.rb +6 -0
  20. data/lib/facebook_ads/ad_product_catalog.rb +60 -0
  21. data/lib/facebook_ads/ad_product_feed.rb +6 -0
  22. data/lib/facebook_ads/ad_product_set.rb +6 -0
  23. data/lib/facebook_ads/ad_set.rb +9 -11
  24. data/lib/facebook_ads/ad_targeting.rb +19 -21
  25. data/lib/facebook_ads/base.rb +107 -62
  26. data/test/ad_account_test.rb +27 -0
  27. data/test/ad_campaign_test.rb +32 -0
  28. data/test/ad_creative_test.rb +7 -0
  29. data/test/ad_image_test.rb +27 -0
  30. data/test/ad_insight_test.rb +7 -0
  31. data/test/ad_product_catalog_test.rb +28 -0
  32. data/test/ad_product_feed_test.rb +7 -0
  33. data/test/ad_product_set_test.rb +7 -0
  34. data/test/ad_product_test.rb +22 -0
  35. data/test/ad_set_test.rb +7 -0
  36. data/test/ad_targeting_test.rb +7 -0
  37. data/test/ad_test.rb +7 -0
  38. data/test/facebook_ads_test.rb +8 -0
  39. data/test/test_helper.rb +64 -0
  40. data/test/vcr_cassettes/AdAccountTest-test_all.yml +70 -0
  41. data/test/vcr_cassettes/AdAccountTest-test_applications.yml +130 -0
  42. data/test/vcr_cassettes/AdAccountTest-test_find_by.yml +71 -0
  43. data/test/vcr_cassettes/AdCampaignTest-test_create.yml +295 -0
  44. data/test/vcr_cassettes/AdCampaignTest-test_list.yml +133 -0
  45. data/test/vcr_cassettes/AdImageTest-test_create.yml +2963 -0
  46. data/test/vcr_cassettes/AdImageTest-test_list.yml +137 -0
  47. data/test/vcr_cassettes/AdProductCatalogTest-test_all.yml +60 -0
  48. data/test/vcr_cassettes/AdProductCatalogTest-test_create.yml +256 -0
  49. data/test/vcr_cassettes/AdProductTest-test_list.yml +130 -0
  50. metadata +44 -49
  51. data/spec/ad_account_spec.rb +0 -78
  52. data/spec/ad_campaign_spec.rb +0 -13
  53. data/spec/ad_creative_spec.rb +0 -14
  54. data/spec/ad_image_spec.rb +0 -11
  55. data/spec/ad_insight_spec.rb +0 -11
  56. data/spec/ad_set_spec.rb +0 -13
  57. data/spec/ad_spec.rb +0 -13
  58. data/spec/ad_targeting_spec.rb +0 -4
  59. data/spec/spec_helper.rb +0 -15
  60. data/spec/support/fixtures.sh +0 -17
  61. data/spec/support/fixtures/6057330925170.json +0 -1
  62. data/spec/support/fixtures/6057810634370.json +0 -1
  63. data/spec/support/fixtures/6057810946970.json +0 -1
  64. data/spec/support/fixtures/6057824295570.json +0 -1
  65. data/spec/support/fixtures/act_861827983860489.json +0 -1
  66. data/spec/support/fixtures/act_861827983860489/adcreatives.json +0 -1
  67. data/spec/support/fixtures/act_861827983860489/adimages.json +0 -1
  68. data/spec/support/fixtures/act_861827983860489/ads.json +0 -1
  69. data/spec/support/fixtures/act_861827983860489/adsets.json +0 -1
  70. data/spec/support/fixtures/act_861827983860489/campaigns.json +0 -1
  71. data/spec/support/fixtures/me/adaccounts.json +0 -1
  72. data/spec/support/rack_facebook.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 54f327543c28ab824b5defb8dfedaa8559579c8c
4
- data.tar.gz: f38f4804345dcd76a557caee36f32dd290b24cf2
3
+ metadata.gz: f8117b9273b5c021539acebd28147725fc64aa5b
4
+ data.tar.gz: 9896c67db75495e96eddcce3e0a26740223fd1a4
5
5
  SHA512:
6
- metadata.gz: 99a0f3b2ef4e464b0a8ed19a632359031a5b25f4aa6e7f7e322741ea7e033bfc93636d7b8be1fa01f69d9bdbaa90dee2335f63166fe66d4c81990ba90fdb4889
7
- data.tar.gz: 9dcee742fa347d78707f29fc3318b95eb2df13efe8c7d01b98c10b0be0e0f26902b8a1aa4e89e6f56293a16782ce141f16c32bcac02acb9519dbba10a42a8f74
6
+ metadata.gz: 30e04d2e719a14ba63d7886acb557d05061f997e00d09fe0b566af53d772867b4f3100c944c7bc3e7db0ad220225ee42502f0afa6385c158c6b5a399bffbe069
7
+ data.tar.gz: 167e49f93ac8c9d18cf13aa2b753a3b57795aabd172030490baabdf9fd61df2b2ab99a2b85f322a905be33dca78b926d44affc1f916534f9a9564636cb8c5764
data/.gitignore CHANGED
@@ -1,3 +1,5 @@
1
1
  .DS_Store
2
2
  test_access_token
3
+ test_business_id
3
4
  coverage
5
+ *.gem
data/.rubocop.yml ADDED
@@ -0,0 +1,23 @@
1
+ AllCops:
2
+ Exclude:
3
+ - bin/console
4
+ TargetRubyVersion: 2.2
5
+
6
+ Metrics/AbcSize:
7
+ Enabled: false
8
+ Metrics/CyclomaticComplexity:
9
+ Enabled: false
10
+ Metrics/PerceivedComplexity:
11
+ Enabled: false
12
+
13
+ Metrics/LineLength:
14
+ Enabled: false
15
+ Metrics/ClassLength:
16
+ Enabled: false
17
+ Metrics/MethodLength:
18
+ Enabled: false
19
+ Metrics/ParameterLists:
20
+ Enabled: false
21
+
22
+ Style/Documentation:
23
+ Enabled: false
data/.travis.yml CHANGED
@@ -5,4 +5,4 @@ branches:
5
5
  only:
6
6
  - master
7
7
  cache: bundler
8
- script: bundle exec rspec spec
8
+ script: bundle exec rake test
data/Gemfile CHANGED
@@ -2,15 +2,14 @@ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  group :development do
5
- gem 'bundler', '~> 1.7'
6
- gem 'rake', '~> 10.0'
7
5
  gem 'pry', '~> 0.10'
8
6
  gem 'awesome_print', '~> 1.7'
9
7
  end
10
8
 
11
9
  group :test do
12
- gem 'rspec', '~> 3.4'
13
- gem 'webmock', '~> 2.1'
14
- gem 'sinatra', '~> 1.4'
10
+ gem 'rake'
11
+ gem 'minitest'
12
+ gem 'webmock'
13
+ gem 'vcr'
15
14
  gem 'coveralls', require: false
16
15
  end
data/Gemfile.lock CHANGED
@@ -1,129 +1,81 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- facebook_ads (0.1.5)
5
- activesupport (~> 4.2)
4
+ facebook_ads (0.1.7)
6
5
  hashie (~> 3.4)
7
- httmultiparty (~> 0.3)
6
+ rest-client (>= 1.6)
8
7
 
9
8
  GEM
10
9
  remote: https://rubygems.org/
11
10
  specs:
12
- activesupport (4.2.7.1)
13
- i18n (~> 0.7)
14
- json (~> 1.7, >= 1.7.7)
15
- minitest (~> 5.1)
16
- thread_safe (~> 0.3, >= 0.3.4)
17
- tzinfo (~> 1.1)
18
- addressable (2.4.0)
11
+ addressable (2.5.0)
12
+ public_suffix (~> 2.0, >= 2.0.2)
19
13
  awesome_print (1.7.0)
20
14
  coderay (1.1.1)
21
- coveralls (0.8.10)
22
- json (~> 1.8)
23
- rest-client (>= 1.6.8, < 2)
24
- simplecov (~> 0.11.0)
15
+ coveralls (0.8.17)
16
+ json (>= 1.8, < 3)
17
+ simplecov (~> 0.12.0)
25
18
  term-ansicolor (~> 1.3)
26
19
  thor (~> 0.19.1)
27
- tins (~> 1.6.0)
20
+ tins (~> 1.6)
28
21
  crack (0.4.3)
29
22
  safe_yaml (~> 1.0.0)
30
- diff-lcs (1.2.5)
31
23
  docile (1.1.5)
32
- domain_name (0.5.20160310)
24
+ domain_name (0.5.20161129)
33
25
  unf (>= 0.0.5, < 1.0.0)
34
- ffi (1.9.14-java)
35
- hashdiff (0.3.0)
36
- hashie (3.4.4)
37
- httmultiparty (0.3.16)
38
- httparty (>= 0.7.3)
39
- mimemagic
40
- multipart-post
41
- http-cookie (1.0.2)
26
+ hashdiff (0.3.2)
27
+ hashie (3.4.6)
28
+ http-cookie (1.0.3)
42
29
  domain_name (~> 0.5)
43
- httparty (0.14.0)
44
- multi_xml (>= 0.5.2)
45
- i18n (0.7.0)
46
- json (1.8.3)
30
+ json (2.0.2)
47
31
  method_source (0.8.2)
48
- mime-types (2.99.1)
49
- mimemagic (0.3.2)
50
- minitest (5.9.0)
51
- multi_xml (0.5.5)
52
- multipart-post (2.0.0)
32
+ mime-types (3.1)
33
+ mime-types-data (~> 3.2015)
34
+ mime-types-data (3.2016.0521)
35
+ minitest (5.10.1)
53
36
  netrc (0.11.0)
54
37
  pry (0.10.4)
55
38
  coderay (~> 1.1.0)
56
39
  method_source (~> 0.8.1)
57
40
  slop (~> 3.4)
58
- pry (0.10.4-java)
59
- coderay (~> 1.1.0)
60
- method_source (~> 0.8.1)
61
- slop (~> 3.4)
62
- spoon (~> 0.0)
63
- rack (1.6.0)
64
- rack-protection (1.5.3)
65
- rack
66
- rake (10.5.0)
67
- rest-client (1.8.0)
41
+ public_suffix (2.0.4)
42
+ rake (12.0.0)
43
+ rest-client (2.0.0)
68
44
  http-cookie (>= 1.0.2, < 2.0)
69
- mime-types (>= 1.16, < 3.0)
70
- netrc (~> 0.7)
71
- rspec (3.4.0)
72
- rspec-core (~> 3.4.0)
73
- rspec-expectations (~> 3.4.0)
74
- rspec-mocks (~> 3.4.0)
75
- rspec-core (3.4.4)
76
- rspec-support (~> 3.4.0)
77
- rspec-expectations (3.4.0)
78
- diff-lcs (>= 1.2.0, < 2.0)
79
- rspec-support (~> 3.4.0)
80
- rspec-mocks (3.4.1)
81
- diff-lcs (>= 1.2.0, < 2.0)
82
- rspec-support (~> 3.4.0)
83
- rspec-support (3.4.1)
45
+ mime-types (>= 1.16, < 4.0)
46
+ netrc (~> 0.8)
84
47
  safe_yaml (1.0.4)
85
- simplecov (0.11.1)
48
+ simplecov (0.12.0)
86
49
  docile (~> 1.1.0)
87
- json (~> 1.8)
50
+ json (>= 1.8, < 3)
88
51
  simplecov-html (~> 0.10.0)
89
52
  simplecov-html (0.10.0)
90
- sinatra (1.4.5)
91
- rack (~> 1.4)
92
- rack-protection (~> 1.4)
93
- tilt (~> 1.3, >= 1.3.4)
94
53
  slop (3.6.0)
95
- spoon (0.0.4)
96
- ffi
97
- term-ansicolor (1.3.2)
54
+ term-ansicolor (1.4.0)
98
55
  tins (~> 1.0)
99
- thor (0.19.1)
100
- thread_safe (0.3.5)
101
- tilt (1.4.1)
102
- tins (1.6.0)
103
- tzinfo (1.2.2)
104
- thread_safe (~> 0.1)
56
+ thor (0.19.4)
57
+ tins (1.13.0)
105
58
  unf (0.1.4)
106
59
  unf_ext
107
60
  unf_ext (0.0.7.2)
108
- webmock (2.1.0)
61
+ vcr (3.0.3)
62
+ webmock (2.3.1)
109
63
  addressable (>= 2.3.6)
110
64
  crack (>= 0.3.2)
111
65
  hashdiff
112
66
 
113
67
  PLATFORMS
114
- java
115
68
  ruby
116
69
 
117
70
  DEPENDENCIES
118
71
  awesome_print (~> 1.7)
119
- bundler (~> 1.7)
120
72
  coveralls
121
73
  facebook_ads!
74
+ minitest
122
75
  pry (~> 0.10)
123
- rake (~> 10.0)
124
- rspec (~> 3.4)
125
- sinatra (~> 1.4)
126
- webmock (~> 2.1)
76
+ rake
77
+ vcr
78
+ webmock
127
79
 
128
80
  BUNDLED WITH
129
- 1.12.5
81
+ 1.13.6
@@ -2,13 +2,13 @@
2
2
  [![Build Status](https://travis-ci.org/cte/facebook-ads-sdk-ruby.svg?branch=master)](https://travis-ci.org/cte/facebook-ads-sdk-ruby)
3
3
  [![Coverage Status](https://coveralls.io/repos/github/cte/facebook-ads-sdk-ruby/badge.svg)](https://coveralls.io/github/cte/facebook-ads-sdk-ruby)
4
4
 
5
- ## [Facebook Marketing API](https://developers.facebook.com/docs/marketing-apis) SDK for Ruby
5
+ # [Facebook Marketing API](https://developers.facebook.com/docs/marketing-apis) SDK for Ruby
6
6
 
7
7
  ![Facebook Ads](http://i.imgur.com/GrxAj07.png)
8
8
 
9
9
  This gem allows you to manage your Facebook Ads using a ruby interface. It allows you to list, create, update and destroy Facebook Ad objects (campaigns, ad sets, ads, etc) and get real-time insights about the performance of Facebook Ads.
10
10
 
11
- ### Install
11
+ ## Install
12
12
 
13
13
  ```bash
14
14
  gem install facebook_ads
@@ -20,7 +20,7 @@ Or, add the following to your Gemfile:
20
20
  gem 'facebook_ads', '~> 0.1'
21
21
  ```
22
22
 
23
- ### Permissions
23
+ ## Permissions
24
24
 
25
25
  You'll need an [Access Token](https://developers.facebook.com/docs/marketing-api/authentication) with `ads_management` permissions in order to use Facebook's Marketing API.
26
26
 
@@ -28,7 +28,7 @@ You'll need an [Access Token](https://developers.facebook.com/docs/marketing-api
28
28
  FacebookAds.access_token = '[YOUR_ACCESS_TOKEN]'
29
29
  ```
30
30
 
31
- ### Console
31
+ ## Console
32
32
 
33
33
  This gem provides a console using [Pry](https://github.com/pry/pry) and [AwesomePrint](https://github.com/awesome-print/awesome_print) for you to test & debug.
34
34
  It reads the Access Token from a file called test_access_token.
@@ -38,7 +38,7 @@ echo [YOUR_ACCESS_TOKEN] > test_access_token
38
38
  bin/console
39
39
  ```
40
40
 
41
- ### Usage Examples
41
+ ## Usage Examples
42
42
 
43
43
  A strong understanding of the Facebook Ads [object structure](https://developers.facebook.com/docs/marketing-api/buying-api) will greatly help you use this gem.
44
44
 
@@ -60,6 +60,8 @@ The typical flow is as follows:
60
60
 
61
61
  You'll find usage examples for each of these 7 objects below.
62
62
 
63
+ ___
64
+
63
65
  ### [Ad Accounts](https://developers.facebook.com/docs/marketing-api/reference/ad-account) (Fetch, Find, Update)
64
66
 
65
67
  Fetch all accounts that can be accessed using your access token:
@@ -86,6 +88,8 @@ account.update(name: 'ReFuel4') # Returns a boolean.
86
88
 
87
89
  The list of fields that can be updated is [here](https://developers.facebook.com/docs/marketing-api/reference/ad-account#Updating).
88
90
 
91
+ ___
92
+
89
93
  ### [Ad Campaigns](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group) (Fetch, Find, Create, Update, Destroy)
90
94
 
91
95
  Fetch all active campaigns:
@@ -132,6 +136,8 @@ Destroy a campaign:
132
136
  campaign.destroy
133
137
  ```
134
138
 
139
+ ___
140
+
135
141
  ### [Ad Images](https://developers.facebook.com/docs/marketing-api/reference/ad-image) (Fetch, Find, Create, Destroy)
136
142
 
137
143
  Notes:
@@ -164,6 +170,8 @@ Destroy images:
164
170
  ad_images.map(&:destroy)
165
171
  ```
166
172
 
173
+ ___
174
+
167
175
  ### [Ad Creatives](https://developers.facebook.com/docs/marketing-api/reference/ad-creative) (Fetch, Find, Create, Update, Destroy)
168
176
 
169
177
  Notes:
@@ -224,6 +232,8 @@ Destroy a creative:
224
232
  ad_creative.destroy
225
233
  ```
226
234
 
235
+ ___
236
+
227
237
  ### [Ad Sets](https://developers.facebook.com/docs/marketing-api/reference/ad-campaign) (Fetch, Find, Create, Update, Destroy)
228
238
 
229
239
  Notes:
@@ -273,12 +283,14 @@ ad_set = campaign.create_ad_set(
273
283
  object_store_url: 'http://play.google.com/store/apps/details?id=com.tophatter',
274
284
  custom_event_type: 'PURCHASE'
275
285
  },
276
- optimization_goal: 'OFFSITE_CONVERSIONS', # See FacebookAds::AdSet::OPTIMIZATION_GOALS.
286
+ optimization_goal: 'OFFSITE_CONVERSIONS',
277
287
  daily_budget: 500, # This is in cents, so the daily budget here is $5.
278
- billing_event: 'IMPRESSIONS', # See FacebookAds::AdSet::BILLING_EVENTS for a list of all billing events.
288
+ billing_event: 'IMPRESSIONS',
279
289
  status: 'PAUSED'
280
290
  )
281
291
  ```
292
+ See FacebookAds::AdSet::OPTIMIZATION_GOALS for a list of all optimization goals.
293
+ See FacebookAds::AdSet::BILLING_EVENTS for a list of all billing events.
282
294
 
283
295
  Find an ad set by ID:
284
296
  ```ruby
@@ -299,6 +311,8 @@ Destroy an ad set:
299
311
  ad_set.destroy
300
312
  ```
301
313
 
314
+ ___
315
+
302
316
  ### [Ads](https://developers.facebook.com/docs/marketing-api/reference/adgroup) (Fetch, Find, Create, Update, Destroy)
303
317
 
304
318
  You interact with ads via an ad set:
@@ -351,6 +365,8 @@ Destroy an ad:
351
365
  ad.destroy
352
366
  ```
353
367
 
368
+ ___
369
+
354
370
  ### [Ad Insights](https://developers.facebook.com/docs/marketing-api/insights/overview) (Fetch)
355
371
 
356
372
  Fetch today's insights for an account:
@@ -373,8 +389,25 @@ Fetch yesterday's insights for a campaign:
373
389
  account.ad_campaigns.last.ad_insights(range: Date.yesterday..Date.yesterday)
374
390
  ```
375
391
 
376
- ### @TODO:
392
+ ___
393
+
394
+ ### [Product Catalogs](https://developers.facebook.com/docs/marketing-api/reference/product-catalog)
395
+
396
+ List all product catalogs:
397
+ ```ruby
398
+ FacebookAds::AdProductCatalog.all
399
+ ```
400
+
401
+ Create a new product catalog:
402
+ ```ruby
403
+ catalog = FacebookAds::AdProductCatalog.create(name: 'test')
404
+ ```
405
+
406
+ Delete a product catalog:
407
+ ```ruby
408
+ catalog.destroy
409
+ ```
410
+
411
+ ## @TODO:
377
412
 
378
- * Unit tests (add rspec - need to build out the tests now).
379
413
  * [Batch operations](https://developers.facebook.com/docs/marketing-api/batch-requests).
380
- * Upgrade to [2.7](https://developers.facebook.com/docs/marketing-api/versions).
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ t.pattern = 'test/*_test.rb'
6
+ end
data/bin/console CHANGED
@@ -5,7 +5,21 @@ require 'facebook_ads'
5
5
  require 'awesome_print'
6
6
  require 'pry'
7
7
 
8
- FacebookAds.access_token = File.read('test_access_token').squish
8
+ begin
9
+ FacebookAds.access_token = File.read('test_access_token').chop
10
+ puts "access_token: #{FacebookAds.access_token}"
11
+ rescue Errno::ENOENT
12
+ puts 'Create a test_access_token file and add your Access Token to it.'
13
+ exit
14
+ end
15
+
16
+ begin
17
+ FacebookAds.business_id = File.read('test_business_id').chop
18
+ puts "business_id: #{FacebookAds.business_id}"
19
+ rescue Errno::ENOENT
20
+ puts 'Create a test_business_id file and add your Business ID to it.'
21
+ end
22
+
9
23
  FacebookAds.logger = Logger.new(STDOUT)
10
24
  FacebookAds.logger.level = Logger::Severity::DEBUG
11
25
 
data/facebook_ads.gemspec CHANGED
@@ -1,26 +1,24 @@
1
1
  # To release a new version:
2
2
  # gem build facebook_ads.gemspec
3
- # gem push facebook_ads-0.1.5.gem
3
+ # gem push facebook_ads-0.1.7.gem
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'facebook_ads'
6
- s.version = '0.1.5'
6
+ s.version = '0.1.7'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.licenses = ['MIT']
9
9
  s.authors = ['Chris Estreich']
10
10
  s.email = 'cestreich@gmail.com'
11
- s.homepage = 'https://github.com/cte/facebook-ads-sdk-ruby'
12
- s.summary = "Facebook Marketing API SDK for Ruby."
13
- s.description = "This gem allows to easily manage your Facebook ads via Facebook's Marketing API in ruby."
14
-
15
- s.extra_rdoc_files = ['README.markdown']
16
-
11
+ s.homepage = 'https://github.com/cte/facebook-ruby-ads-sdk'
12
+ s.summary = 'Facebook Marketing API SDK for Ruby.'
13
+ s.description = "This gem allows to easily manage your Facebook ads via \
14
+ Facebook's Marketing API in ruby."
15
+ s.extra_rdoc_files = ['README.md']
17
16
  s.files = `git ls-files`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map do |f|
18
+ File.basename(f)
19
+ end
19
20
  s.require_paths = ['lib']
20
-
21
21
  s.required_ruby_version = '~> 2.0'
22
-
23
- s.add_dependency 'activesupport', '~> 4.2'
24
- s.add_dependency 'httmultiparty', '~> 0.3'
22
+ s.add_dependency 'rest-client', '>= 1.6'
25
23
  s.add_dependency 'hashie', '~> 3.4'
26
24
  end