engaging-networks-rest 0.1.0 → 0.3.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 +4 -4
- data/Gemfile +6 -0
- data/README.md +20 -0
- data/VERSION +1 -1
- data/engaging-networks-rest.gemspec +26 -5
- data/example.rb +32 -0
- data/lib/engaging_networks_rest/client/pages.rb +22 -0
- data/lib/engaging_networks_rest/client.rb +60 -0
- data/lib/engaging_networks_rest.rb +9 -0
- data/spec/client/pages_spec.rb +88 -0
- data/spec/client_spec.rb +24 -0
- data/spec/spec_helper.rb +19 -0
- metadata +85 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25a126fa7b16483ced7dfe2a92d73813f676c66e9023ac0441a511dca1a2cf2f
|
4
|
+
data.tar.gz: 3455f32e368b6f49915fb5429de01e62c2fa9514740e767ba4a43f02609f277f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79c178cdc855862dd88c2393c20f08f3b58b65560fa46281c968945c9cd35423c0452588c5ff4b0f2fcd503f4edb2f0f3c28bd366b34d02b4fbaca49c07e1879
|
7
|
+
data.tar.gz: 9db9deb4c6b0d183697c8c209bbd8c0d69375f961b456a4ba3d93d3a4df8381e825dbaeea22d320cf5209992cd3b62859364979dc7e4b9a2e6078f37abfbc916
|
data/Gemfile
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
+
gem 'faraday', '~> 0.15'
|
4
|
+
|
3
5
|
group :development do
|
4
6
|
gem 'rspec', '>= 0'
|
5
7
|
gem 'juwelier', '~> 2.1.0'
|
8
|
+
gem 'webmock', '~> 3.4'
|
9
|
+
gem 'faker', '~> 1.9'
|
10
|
+
gem 'pry-byebug', '~> 3.6'
|
11
|
+
gem 'faraday-detailed_logger', '~> 2.1', '>= 2.1.2'
|
6
12
|
end
|
data/README.md
CHANGED
@@ -1,2 +1,22 @@
|
|
1
1
|
# engaging-networks-rest
|
2
2
|
Client gem for the ENS API to Engaging Networks
|
3
|
+
|
4
|
+
## Install
|
5
|
+
|
6
|
+
`gem install engaging-networks-rest`
|
7
|
+
|
8
|
+
## Usage
|
9
|
+
|
10
|
+
```
|
11
|
+
client = EngagingNetworksRest.new(api_key: 'YOUR API KEY HERE')
|
12
|
+
|
13
|
+
# get pages by type
|
14
|
+
pages = client.pages(type: 'dcf', status: 'live')
|
15
|
+
|
16
|
+
# process a page request
|
17
|
+
response = client.process_page_request(page_id: 12345, body: {supporter: {first_name: 'Alice'}})
|
18
|
+
```
|
19
|
+
|
20
|
+
The client will call authentication endpoint behind the scenes the first time it makes a request.
|
21
|
+
Currently, it does not attempt to check if its token is still valid for later requests.
|
22
|
+
It is possible to force re-authentication with `client.authenticate!`.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: engaging-networks-rest 0.
|
5
|
+
# stub: engaging-networks-rest 0.3.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "engaging-networks-rest".freeze
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.3.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Jacinda Moore".freeze]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2019-01-08"
|
15
15
|
s.description = "Client gem for the ENS API to Engaging Networks".freeze
|
16
16
|
s.email = "jacinda@controlshiftlabs.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -29,26 +29,47 @@ Gem::Specification.new do |s|
|
|
29
29
|
"Rakefile",
|
30
30
|
"VERSION",
|
31
31
|
"engaging-networks-rest.gemspec",
|
32
|
-
"
|
32
|
+
"example.rb",
|
33
|
+
"lib/engaging_networks_rest.rb",
|
34
|
+
"lib/engaging_networks_rest/client.rb",
|
35
|
+
"lib/engaging_networks_rest/client/pages.rb",
|
36
|
+
"spec/client/pages_spec.rb",
|
37
|
+
"spec/client_spec.rb",
|
38
|
+
"spec/spec_helper.rb"
|
33
39
|
]
|
34
40
|
s.homepage = "http://github.com/controlshift/engaging-networks-rest".freeze
|
35
41
|
s.licenses = ["MIT".freeze]
|
36
|
-
s.rubygems_version = "2.7.
|
42
|
+
s.rubygems_version = "2.7.7".freeze
|
37
43
|
s.summary = "Client gem for the ENS API to Engaging Networks".freeze
|
38
44
|
|
39
45
|
if s.respond_to? :specification_version then
|
40
46
|
s.specification_version = 4
|
41
47
|
|
42
48
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
+
s.add_runtime_dependency(%q<faraday>.freeze, ["~> 0.15"])
|
43
50
|
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
44
51
|
s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
52
|
+
s.add_development_dependency(%q<webmock>.freeze, ["~> 3.4"])
|
53
|
+
s.add_development_dependency(%q<faker>.freeze, ["~> 1.9"])
|
54
|
+
s.add_development_dependency(%q<pry-byebug>.freeze, ["~> 3.6"])
|
55
|
+
s.add_development_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2", "~> 2.1"])
|
45
56
|
else
|
57
|
+
s.add_dependency(%q<faraday>.freeze, ["~> 0.15"])
|
46
58
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
47
59
|
s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
60
|
+
s.add_dependency(%q<webmock>.freeze, ["~> 3.4"])
|
61
|
+
s.add_dependency(%q<faker>.freeze, ["~> 1.9"])
|
62
|
+
s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.6"])
|
63
|
+
s.add_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2", "~> 2.1"])
|
48
64
|
end
|
49
65
|
else
|
66
|
+
s.add_dependency(%q<faraday>.freeze, ["~> 0.15"])
|
50
67
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
51
68
|
s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
69
|
+
s.add_dependency(%q<webmock>.freeze, ["~> 3.4"])
|
70
|
+
s.add_dependency(%q<faker>.freeze, ["~> 1.9"])
|
71
|
+
s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.6"])
|
72
|
+
s.add_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2", "~> 2.1"])
|
52
73
|
end
|
53
74
|
end
|
54
75
|
|
data/example.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__), 'lib')
|
2
|
+
|
3
|
+
require 'engaging_networks_rest'
|
4
|
+
require 'faraday/detailed_logger'
|
5
|
+
require 'byebug'
|
6
|
+
|
7
|
+
def instrument_connection_with_extended_logging(client)
|
8
|
+
default_options = {
|
9
|
+
headers: {
|
10
|
+
'Accept' => "application/json;q=0.1",
|
11
|
+
'Accept-Charset' => "utf-8"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
faraday_builder = ->(faraday) do
|
16
|
+
faraday.response :detailed_logger
|
17
|
+
faraday.adapter Faraday.default_adapter
|
18
|
+
end
|
19
|
+
|
20
|
+
instrumented_connection = Faraday.new(
|
21
|
+
default_options.merge(url: "https://#{EngagingNetworksRest::Client::ENS_DOMAIN}"),
|
22
|
+
&faraday_builder
|
23
|
+
)
|
24
|
+
client.instance_variable_set(:@connection, instrumented_connection)
|
25
|
+
end
|
26
|
+
|
27
|
+
client = EngagingNetworksRest.new(api_key: ENV['EN_API_KEY'])
|
28
|
+
instrument_connection_with_extended_logging(client)
|
29
|
+
|
30
|
+
byebug
|
31
|
+
|
32
|
+
puts "Bye!"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module EngagingNetworksRest
|
2
|
+
class Client
|
3
|
+
module Pages
|
4
|
+
def pages(type:, status: nil)
|
5
|
+
filter_params = {'type' => type}
|
6
|
+
unless status.nil?
|
7
|
+
filter_params['status'] = status
|
8
|
+
end
|
9
|
+
|
10
|
+
get(path: "/ens/service/page", params: filter_params)
|
11
|
+
end
|
12
|
+
|
13
|
+
def page(page_id:)
|
14
|
+
get(path: "/ens/service/page/#{page_id}")
|
15
|
+
end
|
16
|
+
|
17
|
+
def process_page_request(page_id:, supporter_data:)
|
18
|
+
post(path: "/ens/service/page/#{page_id}/process", body: {supporter: supporter_data})
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
require 'engaging_networks_rest/client/pages'
|
4
|
+
|
5
|
+
module EngagingNetworksRest
|
6
|
+
class Client
|
7
|
+
attr_reader :api_key, :connection, :ens_auth_key
|
8
|
+
|
9
|
+
ENS_DOMAIN = 'www.e-activist.com'.freeze
|
10
|
+
|
11
|
+
def initialize(api_key:)
|
12
|
+
@api_key = api_key
|
13
|
+
|
14
|
+
@connection = Faraday.new(url: "https://#{ENS_DOMAIN}")
|
15
|
+
end
|
16
|
+
|
17
|
+
def authenticate!
|
18
|
+
response = connection.post do |req|
|
19
|
+
req.url '/ens/service/authenticate'
|
20
|
+
req.headers['Content-Type'] = 'application/json'
|
21
|
+
req.body = api_key
|
22
|
+
end
|
23
|
+
|
24
|
+
parsed_body = JSON.parse(response.body)
|
25
|
+
@ens_auth_key = parsed_body['ens-auth-token']
|
26
|
+
end
|
27
|
+
|
28
|
+
def authenticated?
|
29
|
+
!ens_auth_key.nil?
|
30
|
+
end
|
31
|
+
|
32
|
+
def get(path:, params: {})
|
33
|
+
request(method: :get, path: path, params: params)
|
34
|
+
end
|
35
|
+
|
36
|
+
def post(path:, body: {})
|
37
|
+
request(method: :post, path: path, body: body)
|
38
|
+
end
|
39
|
+
|
40
|
+
include EngagingNetworksRest::Client::Pages
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def request(method:, path:, params: {}, body: {})
|
45
|
+
unless authenticated?
|
46
|
+
authenticate!
|
47
|
+
end
|
48
|
+
|
49
|
+
response = connection.send(method) do |req|
|
50
|
+
req.path = path
|
51
|
+
req.params = params
|
52
|
+
req.headers['Content-Type'] = 'application/json'
|
53
|
+
req.headers['ens-auth-token'] = ens_auth_key
|
54
|
+
req.body = ::JSON.generate(body) unless body.empty?
|
55
|
+
end
|
56
|
+
|
57
|
+
JSON.parse(response.body)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe EngagingNetworksRest::Client::Pages do
|
4
|
+
let(:api_key) { 'abc-123' }
|
5
|
+
let(:ens_auth_key) { 'tmp-auth-key-456' }
|
6
|
+
let(:standard_headers) { {'Content-Type' => 'application/json', 'ens-auth-token' => ens_auth_key} }
|
7
|
+
|
8
|
+
subject { EngagingNetworksRest::Client.new(api_key: api_key) }
|
9
|
+
|
10
|
+
describe '#pages' do
|
11
|
+
let(:page_type) { 'dcf' }
|
12
|
+
let(:page_status) { 'live' }
|
13
|
+
let(:pages_url) { "https://#{EngagingNetworksRest::Client::ENS_DOMAIN}/ens/service/page" }
|
14
|
+
|
15
|
+
# The API docs don't actually say what this response looks like, so this is a guess.
|
16
|
+
# Fortunately, it doesn't actually matter for our purposes, since we just return whatever JSON we get.
|
17
|
+
let(:response) { [{'id' => 123, 'title' => 'A page'}, {'id' => 234, 'title' => 'Another page'}] }
|
18
|
+
|
19
|
+
shared_examples_for 'list pages' do
|
20
|
+
it 'should get pages' do
|
21
|
+
stub_request(:get, pages_url).with(headers: standard_headers, query: {'type' => page_type, 'status' => page_status})
|
22
|
+
.to_return(body: response.to_json)
|
23
|
+
|
24
|
+
expect(subject.pages(type: page_type, status: page_status)).to eq response
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should omit status param if not specified' do
|
28
|
+
stub_request(:get, pages_url).with(headers: standard_headers, query: {'type' => page_type})
|
29
|
+
.to_return(body: response.to_json)
|
30
|
+
|
31
|
+
expect(subject.pages(type: page_type)).to eq response
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'not already authenticated' do
|
36
|
+
before :each do
|
37
|
+
expect(subject).to receive(:authenticate!) do
|
38
|
+
allow(subject).to receive(:ens_auth_key).and_return(ens_auth_key)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
include_examples 'list pages'
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'already authenticated' do
|
46
|
+
before :each do
|
47
|
+
allow(subject).to receive(:ens_auth_key).and_return(ens_auth_key)
|
48
|
+
end
|
49
|
+
|
50
|
+
include_examples 'list pages'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#process_page_request' do
|
55
|
+
let(:page_id) { 234 }
|
56
|
+
let(:page_req_url) { "https://#{EngagingNetworksRest::Client::ENS_DOMAIN}/ens/service/page/#{page_id}/process" }
|
57
|
+
let(:email) { Faker::Internet.email }
|
58
|
+
let(:supporter_hash) { {'firstName' => 'Joe', 'lastName' => 'Smith', 'emailAddress' => email, 'customField1' => 'foo'} }
|
59
|
+
let(:response) { {'id' => '1234567', 'status' => 'SUCCESS', 'supporterEmailAddress' => email, 'supporterId' => '98765'} }
|
60
|
+
|
61
|
+
shared_examples_for 'process page request' do
|
62
|
+
it 'should process the page request' do
|
63
|
+
stub_request(:post, page_req_url).with(body: {supporter: supporter_hash}.to_json, headers: standard_headers)
|
64
|
+
.to_return(body: response.to_json)
|
65
|
+
|
66
|
+
expect(subject.process_page_request(page_id: page_id, body: {supporter: supporter_hash})).to eq response
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'not already authenticated' do
|
71
|
+
before :each do
|
72
|
+
expect(subject).to receive(:authenticate!) do
|
73
|
+
allow(subject).to receive(:ens_auth_key).and_return(ens_auth_key)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
include_examples 'process page request'
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'already authenticated' do
|
81
|
+
before :each do
|
82
|
+
allow(subject).to receive(:ens_auth_key).and_return(ens_auth_key)
|
83
|
+
end
|
84
|
+
|
85
|
+
include_examples 'process page request'
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe EngagingNetworksRest::Client do
|
4
|
+
let(:api_key) { 'abc123' }
|
5
|
+
let(:content_type_header) { {'Content-Type' => 'application/json'} }
|
6
|
+
|
7
|
+
subject { EngagingNetworksRest::Client.new(api_key: api_key) }
|
8
|
+
|
9
|
+
describe '#authenticate!' do
|
10
|
+
let(:auth_url) { "https://#{EngagingNetworksRest::Client::ENS_DOMAIN}/ens/service/authenticate" }
|
11
|
+
let(:auth_key) { '75491e42-99dc-45ce-b637-a681bede875c' }
|
12
|
+
let(:auth_key_body) { "{\"ens-auth-token\":\"#{auth_key}\",\"expires\":3600000}" }
|
13
|
+
|
14
|
+
before :each do
|
15
|
+
stub_request(:post, auth_url).with(body: api_key, headers: content_type_header).to_return(body: auth_key_body)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should set the ens_auth_key on the client' do
|
19
|
+
subject.authenticate!
|
20
|
+
|
21
|
+
expect(subject.ens_auth_key).to eq auth_key
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
require 'faker'
|
4
|
+
|
5
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
|
6
|
+
|
7
|
+
require 'engaging_networks_rest'
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.include WebMock::API
|
11
|
+
|
12
|
+
config.before :each do
|
13
|
+
WebMock.reset!
|
14
|
+
end
|
15
|
+
|
16
|
+
config.after :each do
|
17
|
+
WebMock.reset!
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engaging-networks-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacinda Moore
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.15'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.15'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +52,68 @@ dependencies:
|
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: 2.1.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: '3.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faker
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.9'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-byebug
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.6'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.6'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: faraday-detailed_logger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.1.2
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '2.1'
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 2.1.2
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '2.1'
|
41
117
|
description: Client gem for the ENS API to Engaging Networks
|
42
118
|
email: jacinda@controlshiftlabs.com
|
43
119
|
executables: []
|
@@ -56,7 +132,13 @@ files:
|
|
56
132
|
- Rakefile
|
57
133
|
- VERSION
|
58
134
|
- engaging-networks-rest.gemspec
|
135
|
+
- example.rb
|
59
136
|
- lib/engaging_networks_rest.rb
|
137
|
+
- lib/engaging_networks_rest/client.rb
|
138
|
+
- lib/engaging_networks_rest/client/pages.rb
|
139
|
+
- spec/client/pages_spec.rb
|
140
|
+
- spec/client_spec.rb
|
141
|
+
- spec/spec_helper.rb
|
60
142
|
homepage: http://github.com/controlshift/engaging-networks-rest
|
61
143
|
licenses:
|
62
144
|
- MIT
|
@@ -77,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
159
|
version: '0'
|
78
160
|
requirements: []
|
79
161
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.7.
|
162
|
+
rubygems_version: 2.7.7
|
81
163
|
signing_key:
|
82
164
|
specification_version: 4
|
83
165
|
summary: Client gem for the ENS API to Engaging Networks
|