engaging_networks 0.2.1 → 0.2.2

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
2
  SHA1:
3
- metadata.gz: ad132e63642e804398bce5424f1cf63c814ae67f
4
- data.tar.gz: 62e650e7c5007ee3ed6b7f9749bfbf506600be19
3
+ metadata.gz: 31f38da22fceb9c370a1cee4e7fc45b653e16875
4
+ data.tar.gz: c42d864e578aa5e1d9a21aa982ebd183eb9c2b27
5
5
  SHA512:
6
- metadata.gz: 8c08078367980d7f084b788d80e2b7257e265d9cf3a9a43721cf86a0b2105118396c3ca731764e613efc9c06a28ce733740026938e5d5b8c4bf1c0c7030032a6
7
- data.tar.gz: bab9d5592f51d724353e315f852ed030a09b6da152531fcce807af08d4b062d5c5cc3aaea8cfebb46001a58e50e480b965621eff293d8f47d5e247cf61aeba31
6
+ metadata.gz: ceb58c8f7206cec503ea1871f597c10595ea65cb9c1fc4519c84dbf7c9221fa6e53b0d4d65f46184fca7629bef0ff08cf30d977c958afe1b4928c60d369e4c54
7
+ data.tar.gz: c34eaeaea2cb9899470aa15ad52944a00114be4553f4fc0e1dd28758228aa07e29a8c59931dcf465aa8b85d6b8dd77e256c6c6d3d4437083c21632c1b75fc235
@@ -1 +1 @@
1
- 2.2.4
1
+ 2.3.3
data/Gemfile CHANGED
@@ -11,5 +11,5 @@ group :development do
11
11
  gem 'webmock'
12
12
  gem 'pry-byebug'
13
13
  gem "bundler"
14
- gem "jeweler", "~> 2.0.0"
14
+ gem "jeweler"
15
15
  end
@@ -1,121 +1,127 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activemodel (4.2.6)
5
- activesupport (= 4.2.6)
6
- builder (~> 3.1)
7
- activesupport (4.2.6)
4
+ activemodel (5.1.0)
5
+ activesupport (= 5.1.0)
6
+ activesupport (5.1.0)
7
+ concurrent-ruby (~> 1.0, >= 1.0.2)
8
8
  i18n (~> 0.7)
9
- json (~> 1.7, >= 1.7.7)
10
9
  minitest (~> 5.1)
11
- thread_safe (~> 0.3, >= 0.3.4)
12
10
  tzinfo (~> 1.1)
13
- addressable (2.4.0)
14
- builder (3.2.2)
15
- byebug (9.0.5)
11
+ addressable (2.5.1)
12
+ public_suffix (~> 2.0, >= 2.0.2)
13
+ builder (3.2.3)
14
+ byebug (9.0.6)
16
15
  coderay (1.1.1)
16
+ concurrent-ruby (1.0.5)
17
17
  crack (0.4.3)
18
18
  safe_yaml (~> 1.0.0)
19
19
  descendants_tracker (0.0.4)
20
20
  thread_safe (~> 0.3, >= 0.3.1)
21
- diff-lcs (1.2.5)
22
- domain_name (0.5.20160310)
21
+ diff-lcs (1.3)
22
+ domain_name (0.5.20170404)
23
23
  unf (>= 0.0.5, < 1.0.0)
24
24
  faraday (0.9.2)
25
25
  multipart-post (>= 1.2, < 3)
26
- faraday_middleware (0.10.0)
27
- faraday (>= 0.7.4, < 0.10)
26
+ faraday_middleware (0.11.0.1)
27
+ faraday (>= 0.7.4, < 1.0)
28
28
  git (1.3.0)
29
- github_api (0.14.0)
30
- addressable (~> 2.4.0)
31
- descendants_tracker (~> 0.0.4)
29
+ github_api (0.11.3)
30
+ addressable (~> 2.3)
31
+ descendants_tracker (~> 0.0.1)
32
32
  faraday (~> 0.8, < 0.10)
33
- hashie (>= 3.4)
33
+ hashie (>= 1.2)
34
+ multi_json (>= 1.7.5, < 2.0)
35
+ nokogiri (~> 1.6.0)
34
36
  oauth2
35
- hashdiff (0.3.0)
36
- hashie (3.4.4)
37
+ hashdiff (0.3.4)
38
+ hashie (3.5.5)
37
39
  highline (1.7.8)
38
- http-cookie (1.0.2)
40
+ http-cookie (1.0.3)
39
41
  domain_name (~> 0.5)
40
- i18n (0.7.0)
41
- jeweler (2.0.1)
42
+ i18n (0.8.1)
43
+ jeweler (2.3.5)
42
44
  builder
43
45
  bundler (>= 1.0)
44
46
  git (>= 1.2.5)
45
- github_api
47
+ github_api (~> 0.11.0)
46
48
  highline (>= 1.6.15)
47
49
  nokogiri (>= 1.5.10)
50
+ psych (~> 2.2)
48
51
  rake
49
52
  rdoc
50
- json (1.8.3)
51
- jwt (1.5.1)
52
- mechanize (2.7.4)
53
+ semver2
54
+ json (2.1.0)
55
+ jwt (1.5.6)
56
+ mechanize (2.7.5)
53
57
  domain_name (~> 0.5, >= 0.5.1)
54
58
  http-cookie (~> 1.0)
55
- mime-types (>= 1.17.2, < 3)
59
+ mime-types (>= 1.17.2)
56
60
  net-http-digest_auth (~> 1.1, >= 1.1.1)
57
61
  net-http-persistent (~> 2.5, >= 2.5.2)
58
62
  nokogiri (~> 1.6)
59
63
  ntlm-http (~> 0.1, >= 0.1.1)
60
64
  webrobots (>= 0.0.9, < 0.2)
61
65
  method_source (0.8.2)
62
- mime-types (2.99.2)
66
+ mime-types (3.1)
67
+ mime-types-data (~> 3.2015)
68
+ mime-types-data (3.2016.0521)
63
69
  mini_portile2 (2.1.0)
64
- minitest (5.9.0)
70
+ minitest (5.10.1)
65
71
  multi_json (1.12.1)
66
- multi_xml (0.5.5)
72
+ multi_xml (0.6.0)
67
73
  multipart-post (2.0.0)
68
- net-http-digest_auth (1.4)
74
+ net-http-digest_auth (1.4.1)
69
75
  net-http-persistent (2.9.4)
70
- nokogiri (1.6.8)
76
+ nokogiri (1.6.8.1)
71
77
  mini_portile2 (~> 2.1.0)
72
- pkg-config (~> 1.1.7)
73
78
  ntlm-http (0.1.1)
74
- oauth2 (1.1.0)
75
- faraday (>= 0.8, < 0.10)
76
- jwt (~> 1.0, < 1.5.2)
79
+ oauth2 (1.3.1)
80
+ faraday (>= 0.8, < 0.12)
81
+ jwt (~> 1.0)
77
82
  multi_json (~> 1.3)
78
83
  multi_xml (~> 0.5)
79
84
  rack (>= 1.2, < 3)
80
- pkg-config (1.1.7)
81
- pry (0.10.3)
85
+ pry (0.10.4)
82
86
  coderay (~> 1.1.0)
83
87
  method_source (~> 0.8.1)
84
88
  slop (~> 3.4)
85
- pry-byebug (3.4.0)
89
+ pry-byebug (3.4.2)
86
90
  byebug (~> 9.0)
87
91
  pry (~> 0.10)
88
- rack (1.6.4)
89
- rake (11.1.2)
90
- rdoc (4.2.2)
91
- json (~> 1.4)
92
- rspec (3.4.0)
93
- rspec-core (~> 3.4.0)
94
- rspec-expectations (~> 3.4.0)
95
- rspec-mocks (~> 3.4.0)
96
- rspec-core (3.4.4)
97
- rspec-support (~> 3.4.0)
98
- rspec-expectations (3.4.0)
92
+ psych (2.2.4)
93
+ public_suffix (2.0.5)
94
+ rack (2.0.1)
95
+ rake (12.0.0)
96
+ rdoc (5.1.0)
97
+ rspec (3.5.0)
98
+ rspec-core (~> 3.5.0)
99
+ rspec-expectations (~> 3.5.0)
100
+ rspec-mocks (~> 3.5.0)
101
+ rspec-core (3.5.4)
102
+ rspec-support (~> 3.5.0)
103
+ rspec-expectations (3.5.0)
99
104
  diff-lcs (>= 1.2.0, < 2.0)
100
- rspec-support (~> 3.4.0)
101
- rspec-mocks (3.4.1)
105
+ rspec-support (~> 3.5.0)
106
+ rspec-mocks (3.5.0)
102
107
  diff-lcs (>= 1.2.0, < 2.0)
103
- rspec-support (~> 3.4.0)
104
- rspec-support (3.4.1)
108
+ rspec-support (~> 3.5.0)
109
+ rspec-support (3.5.0)
105
110
  safe_yaml (1.0.4)
111
+ semver2 (3.4.2)
106
112
  slop (3.6.0)
107
- thread_safe (0.3.5)
108
- tzinfo (1.2.2)
113
+ thread_safe (0.3.6)
114
+ tzinfo (1.2.3)
109
115
  thread_safe (~> 0.1)
110
116
  unf (0.1.4)
111
117
  unf_ext
112
- unf_ext (0.0.7.2)
113
- vertebrae (0.2.11)
118
+ unf_ext (0.0.7.4)
119
+ vertebrae (0.4.1)
114
120
  activesupport
115
- faraday
121
+ faraday (>= 0.9.2)
116
122
  faraday_middleware
117
123
  hashie
118
- webmock (2.1.0)
124
+ webmock (3.0.1)
119
125
  addressable (>= 2.3.6)
120
126
  crack (>= 0.3.2)
121
127
  hashdiff
@@ -128,7 +134,7 @@ DEPENDENCIES
128
134
  activemodel (>= 3.2)
129
135
  activesupport (>= 3.2)
130
136
  bundler
131
- jeweler (~> 2.0.0)
137
+ jeweler
132
138
  json
133
139
  mechanize
134
140
  pry-byebug
@@ -137,4 +143,4 @@ DEPENDENCIES
137
143
  webmock
138
144
 
139
145
  BUNDLED WITH
140
- 1.12.5
146
+ 1.14.6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -2,18 +2,18 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: engaging_networks 0.2.1 ruby lib
5
+ # stub: engaging_networks 0.2.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "engaging_networks"
9
- s.version = "0.2.1"
8
+ s.name = "engaging_networks".freeze
9
+ s.version = "0.2.2"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Josh Levinger", "Nathan Woodhull"]
14
- s.date = "2016-06-10"
15
- s.description = "Gem for interacting with the Engaging Networks API"
16
- s.email = "josh@levinger.net"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Josh Levinger".freeze, "Nathan Woodhull".freeze]
14
+ s.date = "2017-05-01"
15
+ s.description = "Gem for interacting with the Engaging Networks API".freeze
16
+ s.email = "josh@levinger.net".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
19
  "README.md"
@@ -70,48 +70,48 @@ Gem::Specification.new do |s|
70
70
  "spec/fixtures/import.service/success.txt",
71
71
  "spec/spec_helper.rb"
72
72
  ]
73
- s.homepage = "http://github.com/jlev/engaging_networks"
74
- s.licenses = ["MIT"]
75
- s.rubygems_version = "2.4.8"
76
- s.summary = "A wrapper for the Engaging Networks API"
73
+ s.homepage = "http://github.com/jlev/engaging_networks".freeze
74
+ s.licenses = ["MIT".freeze]
75
+ s.rubygems_version = "2.6.11".freeze
76
+ s.summary = "A wrapper for the Engaging Networks API".freeze
77
77
 
78
78
  if s.respond_to? :specification_version then
79
79
  s.specification_version = 4
80
80
 
81
81
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
82
- s.add_runtime_dependency(%q<vertebrae>, [">= 0"])
83
- s.add_runtime_dependency(%q<json>, [">= 0"])
84
- s.add_runtime_dependency(%q<activesupport>, [">= 3.2"])
85
- s.add_runtime_dependency(%q<activemodel>, [">= 3.2"])
86
- s.add_runtime_dependency(%q<mechanize>, [">= 0"])
87
- s.add_development_dependency(%q<rspec>, ["~> 3.4"])
88
- s.add_development_dependency(%q<webmock>, [">= 0"])
89
- s.add_development_dependency(%q<pry-byebug>, [">= 0"])
90
- s.add_development_dependency(%q<bundler>, [">= 0"])
91
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.0"])
82
+ s.add_runtime_dependency(%q<vertebrae>.freeze, [">= 0"])
83
+ s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
84
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 3.2"])
85
+ s.add_runtime_dependency(%q<activemodel>.freeze, [">= 3.2"])
86
+ s.add_runtime_dependency(%q<mechanize>.freeze, [">= 0"])
87
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.4"])
88
+ s.add_development_dependency(%q<webmock>.freeze, [">= 0"])
89
+ s.add_development_dependency(%q<pry-byebug>.freeze, [">= 0"])
90
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
91
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
92
92
  else
93
- s.add_dependency(%q<vertebrae>, [">= 0"])
94
- s.add_dependency(%q<json>, [">= 0"])
95
- s.add_dependency(%q<activesupport>, [">= 3.2"])
96
- s.add_dependency(%q<activemodel>, [">= 3.2"])
97
- s.add_dependency(%q<mechanize>, [">= 0"])
98
- s.add_dependency(%q<rspec>, ["~> 3.4"])
99
- s.add_dependency(%q<webmock>, [">= 0"])
100
- s.add_dependency(%q<pry-byebug>, [">= 0"])
101
- s.add_dependency(%q<bundler>, [">= 0"])
102
- s.add_dependency(%q<jeweler>, ["~> 2.0.0"])
93
+ s.add_dependency(%q<vertebrae>.freeze, [">= 0"])
94
+ s.add_dependency(%q<json>.freeze, [">= 0"])
95
+ s.add_dependency(%q<activesupport>.freeze, [">= 3.2"])
96
+ s.add_dependency(%q<activemodel>.freeze, [">= 3.2"])
97
+ s.add_dependency(%q<mechanize>.freeze, [">= 0"])
98
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.4"])
99
+ s.add_dependency(%q<webmock>.freeze, [">= 0"])
100
+ s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
101
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
102
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
103
103
  end
104
104
  else
105
- s.add_dependency(%q<vertebrae>, [">= 0"])
106
- s.add_dependency(%q<json>, [">= 0"])
107
- s.add_dependency(%q<activesupport>, [">= 3.2"])
108
- s.add_dependency(%q<activemodel>, [">= 3.2"])
109
- s.add_dependency(%q<mechanize>, [">= 0"])
110
- s.add_dependency(%q<rspec>, ["~> 3.4"])
111
- s.add_dependency(%q<webmock>, [">= 0"])
112
- s.add_dependency(%q<pry-byebug>, [">= 0"])
113
- s.add_dependency(%q<bundler>, [">= 0"])
114
- s.add_dependency(%q<jeweler>, ["~> 2.0.0"])
105
+ s.add_dependency(%q<vertebrae>.freeze, [">= 0"])
106
+ s.add_dependency(%q<json>.freeze, [">= 0"])
107
+ s.add_dependency(%q<activesupport>.freeze, [">= 3.2"])
108
+ s.add_dependency(%q<activemodel>.freeze, [">= 3.2"])
109
+ s.add_dependency(%q<mechanize>.freeze, [">= 0"])
110
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.4"])
111
+ s.add_dependency(%q<webmock>.freeze, [">= 0"])
112
+ s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
113
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
114
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
115
115
  end
116
116
  end
117
117
 
@@ -3,6 +3,7 @@ require 'nokogiri'
3
3
 
4
4
  module EngagingNetworks
5
5
  class InvalidActionError < StandardError ; end
6
+ class InvalidJsonResponseError < StandardError ; end
6
7
 
7
8
  class Action < Base
8
9
  # individual get unavailable
@@ -49,7 +50,11 @@ module EngagingNetworks
49
50
  rsp = client.post_request_with_get_params(action_path, {'format'=>'json'}, post_params)
50
51
  action.raw_response = rsp
51
52
  body = rsp.body
52
- json_body = JSON.parse(body)
53
+ begin
54
+ json_body = JSON.parse(body)
55
+ rescue JSON::ParserError => e
56
+ raise EngagingNetworks::InvalidJsonResponseError.new("Unable to parse JSON, Engaging Networks responded with: #{ body }; json: #{e.message} headers: #{rsp.headers} status: #{rsp.status}")
57
+ end
53
58
 
54
59
  # parse json for first form field, apisuccess div
55
60
  if json_body['messages'].empty? || body =~ /apisuccess/
@@ -3,10 +3,9 @@ require 'engaging_networks/request/multitoken'
3
3
  module EngagingNetworks
4
4
  class API < Vertebrae::API
5
5
 
6
- def request_with_wrapper( *args )
7
- EngagingNetworks::Response::Wrapper.new( request_without_wrapper( *args ) )
6
+ def request(*args)
7
+ EngagingNetworks::Response::Wrapper.new( super(*args) )
8
8
  end
9
- alias_method_chain :request, :wrapper
10
9
 
11
10
  def default_options
12
11
  {
@@ -90,4 +89,4 @@ module EngagingNetworks
90
89
  end
91
90
  end
92
91
  end
93
- end
92
+ end
@@ -1,4 +1,7 @@
1
1
  module EngagingNetworks
2
+ class CampaignDuplicationError < StandardError
3
+ end
4
+
2
5
  class Campaign < Base
3
6
  def get(campaignId)
4
7
  client.get_request(data_path, {service: 'EaCampaignInfo', campaignId: campaignId,
@@ -26,7 +29,7 @@ module EngagingNetworks
26
29
  if response.body =~ /uploaded successfully/
27
30
  action.job_id = /# is (\d*)/.match(response.body)[1]
28
31
  else
29
- raise "error while duplicating campaign: #{response.body}"
32
+ raise CampaignDuplicationError.new("error while duplicating campaign: #{response.body}")
30
33
  end
31
34
  end
32
35
 
@@ -45,4 +48,5 @@ module EngagingNetworks
45
48
  end
46
49
 
47
50
  end
51
+
48
52
  end
@@ -1,10 +1,10 @@
1
1
  module EngagingNetworks
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 1
5
- PATCH = 0
4
+ MINOR = 2
5
+ PATCH = 2
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
9
9
  end
10
- end
10
+ end
@@ -50,5 +50,13 @@ describe EngagingNetworks::Action do
50
50
  expect { en.action.create(input_hash) }.to raise_error(EngagingNetworks::InvalidActionError)
51
51
  end
52
52
  end
53
+
54
+ describe 'invalid json' do
55
+ let(:body) { '{hello: unclosed'}
56
+
57
+ it 'should raise' do
58
+ expect { en.action.create(input_hash) }.to raise_error(EngagingNetworks::InvalidJsonResponseError)
59
+ end
60
+ end
53
61
  end
54
62
  end
@@ -70,7 +70,7 @@ describe EngagingNetworks::Campaign do
70
70
  let(:body) { fixture('import.service/error.txt') }
71
71
 
72
72
  it 'should raise an exception' do
73
- expect { en.campaign.duplicate(params) }.to raise_error(StandardError)
73
+ expect { en.campaign.duplicate(params) }.to raise_error(EngagingNetworks::CampaignDuplicationError).with_message('error while duplicating campaign: Error: Unable to process your import. Please contact support.')
74
74
  end
75
75
  end
76
76
  end
@@ -106,4 +106,4 @@ describe EngagingNetworks::Campaign do
106
106
  let(:body) { fixture('EaCampaignInfo/success_array.xml') }
107
107
  let(:status) { 200 }
108
108
  end
109
- end
109
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engaging_networks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Levinger
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-10 00:00:00.000000000 Z
12
+ date: 2017-05-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: vertebrae
@@ -141,16 +141,16 @@ dependencies:
141
141
  name: jeweler
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - "~>"
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
- version: 2.0.0
146
+ version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - "~>"
151
+ - - ">="
152
152
  - !ruby/object:Gem::Version
153
- version: 2.0.0
153
+ version: '0'
154
154
  description: Gem for interacting with the Engaging Networks API
155
155
  email: josh@levinger.net
156
156
  executables: []
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project:
232
- rubygems_version: 2.4.8
232
+ rubygems_version: 2.6.11
233
233
  signing_key:
234
234
  specification_version: 4
235
235
  summary: A wrapper for the Engaging Networks API