engaging_networks 0.2.1 → 0.2.2

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: 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