goacoustic 0.1.0 → 0.1.1
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/README.md +2 -2
- data/goacoustic.gemspec +2 -2
- data/lib/client/contact.rb +3 -3
- data/lib/client/relational_table.rb +3 -3
- data/lib/client/reporting.rb +4 -4
- data/lib/client/user.rb +2 -2
- data/lib/{acoustic.rb → goacoustic.rb} +6 -6
- data/lib/goacoustic/client.rb +23 -0
- data/lib/{acoustic → goacoustic}/connection.rb +2 -2
- data/lib/{acoustic → goacoustic}/request.rb +2 -2
- data/lib/goacoustic/version.rb +3 -0
- data/spec/client/contact_spec.rb +2 -2
- data/spec/client/relational_table_spec.rb +2 -2
- data/spec/client/reporting_spec.rb +2 -2
- data/spec/client/user_spec.rb +2 -2
- data/spec/goacoustic_spec.rb +15 -0
- data/spec/helper.rb +3 -3
- metadata +8 -8
- data/lib/acoustic/client.rb +0 -23
- data/lib/acoustic/version.rb +0 -3
- data/spec/acoustic_spec.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3f302e81b48776bbc4131a0ef4aea3849f6ecef29c12159460a462a0e45d8da
|
4
|
+
data.tar.gz: 5a85666558b193c66543a6f7631ef3f201770aaa6fdcebe67a8a8a641159352b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cb24943d0eda6bdc26e3f0f3e9e2ff1edc2c7a9e36e15cfb3d962737d5ec147d9d3116807bae2e29421148212937ad7baf2b7c46864979ab04e7097d74a9abc
|
7
|
+
data.tar.gz: 791dcda134bd270e961e9d6c8505aa34922e0192aa100672d5ec250fff69e38f77458424c5bd027d034cc496643527e8c96514a77baa6bf56371ea0e15fa1587
|
data/README.md
CHANGED
@@ -11,14 +11,14 @@ A Ruby wrapper for the Acoustic API
|
|
11
11
|
|
12
12
|
|
13
13
|
## Usage Examples
|
14
|
-
require '
|
14
|
+
require 'goacoustic'
|
15
15
|
require 'oauth2'
|
16
16
|
|
17
17
|
#Generate your OAuth2 access token
|
18
18
|
client = OAuth2::Client.new(ACOUSTIC_CLIENT_ID, ACOUSTIC_CLIENT_SECRET, site: "https://api-campaign-us-1.goacoustic.com/oauth/token")
|
19
19
|
access_token = OAuth2::AccessToken.from_hash(client, refresh_token: ACOUSTIC_REFRESH_TOKEN).refresh!
|
20
20
|
|
21
|
-
@client =
|
21
|
+
@client = GoAcoustic.new({access_token: access_token.token, url: "https://api-campaign-us-1.goacoustic.com"})
|
22
22
|
|
23
23
|
#add_recipeint
|
24
24
|
#pass in user variables, database contact list, and contact list id
|
data/goacoustic.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require File.expand_path('../lib/
|
2
|
+
require File.expand_path('../lib/goacoustic/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.add_dependency 'addressable', '~> 2.7'
|
@@ -22,5 +22,5 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.require_paths = ['lib']
|
23
23
|
gem.summary = gem.description
|
24
24
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
25
|
-
gem.version =
|
25
|
+
gem.version = GoAcoustic::VERSION
|
26
26
|
end
|
data/lib/client/contact.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
module
|
1
|
+
module GoAcoustic
|
2
2
|
class Client
|
3
3
|
module Contact
|
4
4
|
|
5
5
|
# Adds one new contact to an existing database.
|
6
6
|
#
|
7
|
-
# @param fields [Hash] The list of fields to be passed into
|
7
|
+
# @param fields [Hash] The list of fields to be passed into GoAcoustic.
|
8
8
|
# @param list_id [Integer] The ID of the database which you are adding the contact
|
9
9
|
# @param contact_list_id [Array] The id of the contact list.
|
10
10
|
# @return [Mash] Mashify body from the API call
|
11
11
|
# @example Add a new email to the database and contact list
|
12
|
-
# s =
|
12
|
+
# s = GoAcoustic::Client.new(access_token)
|
13
13
|
# s.add_recipient({email: "test@example.com", firstname: "Hello"}, 12345, [4567])
|
14
14
|
def add_recipient(fields, list_id, contact_list_id=nil, created_from=1, options={})
|
15
15
|
builder = Builder::XmlMarkup.new
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module GoAcoustic
|
2
2
|
class Client
|
3
3
|
module RelationalTable
|
4
4
|
# InsertUpdateRelationalTable - This interface inserts or updates relational data.
|
@@ -7,7 +7,7 @@ module Acoustic
|
|
7
7
|
# @param rows [Array]
|
8
8
|
# @return [Mash] Mashify body from the API call
|
9
9
|
# @example Insert into table 86767 a row with one column
|
10
|
-
# s =
|
10
|
+
# s = GoAcoustic.new access_token: 'abc123', url: 'https://api-campaign-us-1.goacoustic.com'
|
11
11
|
# s.insert_update_relational_table '86767', [{'Record Id' => 'GHbjh73643hsdiy'}]
|
12
12
|
def insert_update_relational_table table_id, rows
|
13
13
|
builder = Builder::XmlMarkup.new
|
@@ -43,7 +43,7 @@ module Acoustic
|
|
43
43
|
# @param export_colums [Array] XML node used to request specific custom database columns to export for each contact.
|
44
44
|
# @return [Mash] Mashify body from the API call
|
45
45
|
# @example Export Table 12345 for 1/1/2014 to 1/2/2014
|
46
|
-
# s =
|
46
|
+
# s = GoAcoustic.new({access_token: "abc123", url: "https://api-campaign-us-1.goacoustic.com"})
|
47
47
|
# s.export_table('12345', 'CSV', {DATE_START: "1/1/2014", DATE_END:"1/2/2014"})
|
48
48
|
def export_table(table_id, export_format, options={})
|
49
49
|
builder = Builder::XmlMarkup.new
|
data/lib/client/reporting.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module GoAcoustic
|
2
2
|
class Client
|
3
3
|
module Reporting
|
4
4
|
|
@@ -9,7 +9,7 @@ module Acoustic
|
|
9
9
|
# @param options [Hash] Optional parameters to send
|
10
10
|
# @return [Mash] Mashify body from the API call
|
11
11
|
# @example Get sent mailing for organization for 1/1/2014 to 1/2/2014
|
12
|
-
# s =
|
12
|
+
# s = GoAcoustic.new({access_token: "abc123", url: "https://api-campaign-us-1.goacoustic.com"})
|
13
13
|
# s.get_sent_mailings_for_org("1/1/2014", "1/2/2014)
|
14
14
|
def get_sent_mailings_for_org(date_start, date_end, options={})
|
15
15
|
builder = Builder::XmlMarkup.new
|
@@ -36,7 +36,7 @@ module Acoustic
|
|
36
36
|
# @param columns [Array] Optional list of columns to limit the flat file.
|
37
37
|
# @return [Mash] Mashify body from the API call
|
38
38
|
# @example Export raw data events for mailing id
|
39
|
-
# s =
|
39
|
+
# s = GoAcoustic.new({access_token: "abc123", url: "https://api-campaign-us-1.goacoustic.com"})
|
40
40
|
# s.raw_recipient_data_export({MAILING_ID: 1234},{MOVE_TO_FTP: nil})
|
41
41
|
def raw_recipient_data_export(query_params={}, options={}, columns=[])
|
42
42
|
builder = Builder::XmlMarkup.new
|
@@ -79,7 +79,7 @@ module Acoustic
|
|
79
79
|
# @param job_id [Integer] The Job ID of the data job
|
80
80
|
# @return [Mash] Mashify body from the API call
|
81
81
|
# @example Get Job Status for JOB_ID 1234
|
82
|
-
# s =
|
82
|
+
# s = GoAcoustic.new({access_token: "abc123", url: "https://api-campaign-us-1.goacoustic.com"})
|
83
83
|
# s.get_job_status(1234)
|
84
84
|
def get_job_status(job_id)
|
85
85
|
builder = Builder::XmlMarkup.new
|
data/lib/client/user.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module GoAcoustic
|
2
2
|
class Client
|
3
3
|
module User
|
4
4
|
# ExportList - This interface exports contact data from a database, query, or contact list. Engage exports the results to a CSV file, then adds that file to the FTP account associated with the current session.
|
@@ -10,7 +10,7 @@ module Acoustic
|
|
10
10
|
# @param export_colums [Array] XML node used to request specific custom database columns to export for each contact.
|
11
11
|
# @return [Mash] Mashify body from the API call
|
12
12
|
# @example Export list 12345 for 1/1/2014 to 1/2/2014
|
13
|
-
# s =
|
13
|
+
# s = GoAcoustic.new({access_token: "abc123", url: "https://api-campaign-us-1.goacoustic.com"})
|
14
14
|
# s.export_list('12345', 'ALL', 'CSV", {DATE_START: "1/1/2014", DATE_END:"1/2/2014"})
|
15
15
|
def export_list(list_id, export_type, export_format, options={}, export_columns=[])
|
16
16
|
builder = Builder::XmlMarkup.new
|
@@ -1,15 +1,15 @@
|
|
1
|
-
require '
|
1
|
+
require 'goacoustic/client'
|
2
2
|
|
3
|
-
module
|
3
|
+
module GoAcoustic
|
4
4
|
class << self
|
5
|
-
# Alias for
|
5
|
+
# Alias for GoAcoustic::Client.new
|
6
6
|
#
|
7
|
-
# @return [
|
7
|
+
# @return [GoAcoustic::Client]
|
8
8
|
def new(options={})
|
9
|
-
|
9
|
+
GoAcoustic::Client.new(options)
|
10
10
|
end
|
11
11
|
|
12
|
-
# Delegate to
|
12
|
+
# Delegate to GoAcoustic::Client.new
|
13
13
|
def method_missing(method, *args, &block)
|
14
14
|
return super unless new.respond_to?(method)
|
15
15
|
new.send(method, *args, &block)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'builder'
|
2
|
+
require 'goacoustic/connection'
|
3
|
+
require 'goacoustic/request'
|
4
|
+
require 'client/contact'
|
5
|
+
require 'client/reporting'
|
6
|
+
require 'client/user'
|
7
|
+
require 'client/relational_table'
|
8
|
+
|
9
|
+
module GoAcoustic
|
10
|
+
class Client
|
11
|
+
def initialize(options={})
|
12
|
+
@access_token = options[:access_token]
|
13
|
+
@goacoustic_url = options[:url]
|
14
|
+
end
|
15
|
+
|
16
|
+
include GoAcoustic::Connection
|
17
|
+
include GoAcoustic::Request
|
18
|
+
include GoAcoustic::Client::Contact
|
19
|
+
include GoAcoustic::Client::Reporting
|
20
|
+
include GoAcoustic::Client::User
|
21
|
+
include GoAcoustic::Client::RelationalTable
|
22
|
+
end
|
23
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'faraday_middleware'
|
2
2
|
|
3
|
-
module
|
3
|
+
module GoAcoustic
|
4
4
|
# @private
|
5
5
|
module Connection
|
6
6
|
private
|
7
7
|
|
8
8
|
def connection(options={})
|
9
|
-
connection = Faraday.new @
|
9
|
+
connection = Faraday.new @goacoustic_url do |conn|
|
10
10
|
# Uncomment if want to log to stdout
|
11
11
|
#conn.response :logger
|
12
12
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module GoAcoustic
|
2
2
|
module Request
|
3
3
|
def post(body)
|
4
4
|
request(:post, body)
|
@@ -6,7 +6,7 @@ module Acoustic
|
|
6
6
|
|
7
7
|
private
|
8
8
|
|
9
|
-
# POST the XML to the
|
9
|
+
# POST the XML to the GoAcoustic end point.
|
10
10
|
#
|
11
11
|
# @param body [String] The formatted XML of the API call make sure to call builder.to_xml.
|
12
12
|
# @return [XML] XML Body from the API call
|
data/spec/client/contact_spec.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe GoAcoustic::Client::Contact do
|
4
4
|
before do
|
5
|
-
@client =
|
5
|
+
@client = GoAcoustic::Client.new({access_token: "abc123",url: 'https://api-campaign-us-1.goacoustic.com'})
|
6
6
|
end
|
7
7
|
|
8
8
|
describe "#add_recipient" do
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe GoAcoustic::Client::RelationalTable do
|
4
4
|
before do
|
5
|
-
@client =
|
5
|
+
@client = GoAcoustic.new access_token: 'abc123', url: 'https://api-campaign-us-1.goacoustic.com'
|
6
6
|
end
|
7
7
|
|
8
8
|
describe '.insert_update_relational_table' do
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe GoAcoustic::Client::Reporting do
|
4
4
|
before do
|
5
|
-
@client =
|
5
|
+
@client = GoAcoustic.new({access_token: "abc123",url: 'https://api-campaign-us-1.goacoustic.com'})
|
6
6
|
end
|
7
7
|
|
8
8
|
describe ".get_sent_mailings_for_org" do
|
data/spec/client/user_spec.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe GoAcoustic::Client::User do
|
4
4
|
before do
|
5
|
-
@client =
|
5
|
+
@client = GoAcoustic.new({access_token: "abc123",url: 'https://api-campaign-us-1.goacoustic.com'})
|
6
6
|
end
|
7
7
|
|
8
8
|
describe ".export_list" do
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe GoAcoustic do
|
4
|
+
describe ".new" do
|
5
|
+
it "should be a new GoAcoustic::Client" do
|
6
|
+
expect(GoAcoustic.new).to be_a GoAcoustic::Client
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe ".respond_to?" do
|
11
|
+
pending it "should be true if method exists" do
|
12
|
+
expect(GoAcoustic.respond_to?(:new, true)).to be_true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/spec/helper.rb
CHANGED
@@ -4,13 +4,13 @@ unless ENV['CI']
|
|
4
4
|
add_filter 'spec'
|
5
5
|
end
|
6
6
|
end
|
7
|
-
require '
|
7
|
+
require 'goacoustic'
|
8
8
|
require 'rspec'
|
9
9
|
require 'webmock/rspec'
|
10
10
|
require 'pry'
|
11
11
|
|
12
12
|
def stub_post(url)
|
13
|
-
stub_request(:post,
|
13
|
+
stub_request(:post, goacoustic_url(url))
|
14
14
|
end
|
15
15
|
|
16
16
|
def fixture_path
|
@@ -21,6 +21,6 @@ def fixture(file)
|
|
21
21
|
File.new(fixture_path + '/' + file)
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
24
|
+
def goacoustic_url(url)
|
25
25
|
"https://api-campaign-us-1.goacoustic.com#{url}"
|
26
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goacoustic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Anderson, Upworthy
|
@@ -152,16 +152,15 @@ files:
|
|
152
152
|
- README.md
|
153
153
|
- Rakefile
|
154
154
|
- goacoustic.gemspec
|
155
|
-
- lib/acoustic.rb
|
156
|
-
- lib/acoustic/client.rb
|
157
|
-
- lib/acoustic/connection.rb
|
158
|
-
- lib/acoustic/request.rb
|
159
|
-
- lib/acoustic/version.rb
|
160
155
|
- lib/client/contact.rb
|
161
156
|
- lib/client/relational_table.rb
|
162
157
|
- lib/client/reporting.rb
|
163
158
|
- lib/client/user.rb
|
164
|
-
-
|
159
|
+
- lib/goacoustic.rb
|
160
|
+
- lib/goacoustic/client.rb
|
161
|
+
- lib/goacoustic/connection.rb
|
162
|
+
- lib/goacoustic/request.rb
|
163
|
+
- lib/goacoustic/version.rb
|
165
164
|
- spec/client/contact_spec.rb
|
166
165
|
- spec/client/relational_table_spec.rb
|
167
166
|
- spec/client/reporting_spec.rb
|
@@ -170,6 +169,7 @@ files:
|
|
170
169
|
- spec/fixtures/relational_table.xml
|
171
170
|
- spec/fixtures/reporting.xml
|
172
171
|
- spec/fixtures/sent_mailings_org.xml
|
172
|
+
- spec/goacoustic_spec.rb
|
173
173
|
- spec/helper.rb
|
174
174
|
homepage: http://www.github.com/harman-signal-processing/goacoustic
|
175
175
|
licenses:
|
@@ -195,7 +195,6 @@ signing_key:
|
|
195
195
|
specification_version: 4
|
196
196
|
summary: A Ruby wrapper for the Acoustic API
|
197
197
|
test_files:
|
198
|
-
- spec/acoustic_spec.rb
|
199
198
|
- spec/client/contact_spec.rb
|
200
199
|
- spec/client/relational_table_spec.rb
|
201
200
|
- spec/client/reporting_spec.rb
|
@@ -204,4 +203,5 @@ test_files:
|
|
204
203
|
- spec/fixtures/relational_table.xml
|
205
204
|
- spec/fixtures/reporting.xml
|
206
205
|
- spec/fixtures/sent_mailings_org.xml
|
206
|
+
- spec/goacoustic_spec.rb
|
207
207
|
- spec/helper.rb
|
data/lib/acoustic/client.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'builder'
|
2
|
-
require 'acoustic/connection'
|
3
|
-
require 'acoustic/request'
|
4
|
-
require 'client/contact'
|
5
|
-
require 'client/reporting'
|
6
|
-
require 'client/user'
|
7
|
-
require 'client/relational_table'
|
8
|
-
|
9
|
-
module Acoustic
|
10
|
-
class Client
|
11
|
-
def initialize(options={})
|
12
|
-
@access_token = options[:access_token]
|
13
|
-
@acoustic_url = options[:url]
|
14
|
-
end
|
15
|
-
|
16
|
-
include Acoustic::Connection
|
17
|
-
include Acoustic::Request
|
18
|
-
include Acoustic::Client::Contact
|
19
|
-
include Acoustic::Client::Reporting
|
20
|
-
include Acoustic::Client::User
|
21
|
-
include Acoustic::Client::RelationalTable
|
22
|
-
end
|
23
|
-
end
|
data/lib/acoustic/version.rb
DELETED
data/spec/acoustic_spec.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
describe Acoustic do
|
4
|
-
describe ".new" do
|
5
|
-
it "should be a new Acoustic::Client" do
|
6
|
-
expect(Acoustic.new).to be_a Acoustic::Client
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
describe ".respond_to?" do
|
11
|
-
pending it "should be true if method exists" do
|
12
|
-
expect(Acoustic.respond_to?(:new, true)).to be_true
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|