exact_target_rest 0.2.2 → 0.2.4

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: c619daa30b70dc6807b0e57e95de854633bc4328
4
- data.tar.gz: 70f5940d63176afbc6550e3fef3983f081af6913
3
+ metadata.gz: e1aae8d038af8c94d376bd83c559e0ea98a0a611
4
+ data.tar.gz: e160cf3bca7bde14c48272865a3daaacc3b05ee8
5
5
  SHA512:
6
- metadata.gz: c9b75e3fa94e08c19ce0f7d673e35fb9ada526ab47069e7286345a68ecaeada3d7ccdc27956855f047e7bbdaf6b78897efa189de35f614cb301cba9f0c3c2864
7
- data.tar.gz: a6a468e7313dc448b20888e8f15250fff7a9936947b45a10f2db1b9921d61af277112b827b4219f0551e4d0fbba99d51ece0854b99f606e166d89fbec2928881
6
+ metadata.gz: 9943d608b41c9f1a21abb3fce489a37cd9651a4671d2a532d2dd8f0dfdaca27f51653b6579f6694ca8b6ff811e6391a42728908030c0a509b968444fe93840f8
7
+ data.tar.gz: 89e6c8baae62e3daed7a914d6465de164d91d9f43d8d9dc81da7821cb1dfa3e232fa5274ca7330e66deb591a68ccc3338db5c6205530f2b1cb0ffe323d726de1
data/.gitignore CHANGED
@@ -1,4 +1,6 @@
1
1
  .idea/
2
+ .ruby-version
3
+ .ruby-gemset
2
4
  /.bundle/
3
5
  /.yardoc
4
6
  /Gemfile.lock
@@ -5,6 +5,7 @@ module ExactTargetRest
5
5
  # App Center (https://appcenter-auth.exacttargetapps.com).
6
6
  class Authorization
7
7
  attr_reader :access_token
8
+ attr_reader :expires_in
8
9
 
9
10
  # New authorization (it does not trigger REST yet).
10
11
  #
@@ -21,7 +22,6 @@ module ExactTargetRest
21
22
  #
22
23
  # @yield [access_token] Block to be executed
23
24
  # @yieldparam access_token [String] Access token used to authorize a request
24
- # @yieldparam expires_in [String] Time to token's expire
25
25
  def with_authorization
26
26
  authorize! unless authorized?
27
27
  yield @access_token
@@ -35,8 +35,8 @@ module ExactTargetRest
35
35
  end
36
36
  if resp.success?
37
37
  @access_token = resp.body['accessToken']
38
- @expires_in = Time.now + resp.body['expiresIn']
39
- { access_token: @access_token, expires_in: @expires_in }
38
+ @expires_in = resp.body['expiresIn']
39
+ self
40
40
  else
41
41
  fail NotAuthorizedError
42
42
  end
@@ -44,13 +44,13 @@ module ExactTargetRest
44
44
 
45
45
  # Already authorized and NOT expired?
46
46
  def authorized?
47
- @access_token && @expires_in > Time.now
47
+ @access_token && (Time.now + @expires_in) > Time.now
48
48
  end
49
49
 
50
50
  protected
51
51
 
52
52
  def endpoint
53
- @endpoint ||= Faraday.new(url: AUTH_URL) do |f|
53
+ Faraday.new(url: AUTH_URL) do |f|
54
54
  f.request :json
55
55
  f.response :json, content_type: /\bjson$/
56
56
  f.adapter FARADAY_ADAPTER
@@ -59,6 +59,7 @@ module ExactTargetRest
59
59
  # TriggeredSend with loaded attributes.
60
60
  def deliver
61
61
  tries ||= 1
62
+
62
63
  @authorization.with_authorization do |access_token|
63
64
  resp = endpoint.post do |p|
64
65
  p.url(format(TRIGGERED_SEND_PATH, URI.encode(@external_key)))
@@ -92,7 +93,7 @@ module ExactTargetRest
92
93
  protected
93
94
 
94
95
  def endpoint
95
- @endpoint ||= Faraday.new(url: TRIGGERED_SEND_URL) do |f|
96
+ Faraday.new(url: TRIGGERED_SEND_URL) do |f|
96
97
  f.request :json
97
98
  f.response :json, content_type: /\bjson$/
98
99
  f.adapter FARADAY_ADAPTER
@@ -1,3 +1,3 @@
1
1
  module ExactTargetRest
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.4'
3
3
  end
@@ -34,8 +34,8 @@ describe Authorization do
34
34
  it "returns a valid authorization" do
35
35
  auth = subject.new(client_id, client_secret).authorize!
36
36
 
37
- expect(auth[:access_token]).to eq access_token
38
- expect(auth[:expires_in]).not_to be_nil
37
+ expect(auth.access_token).to eq access_token
38
+ expect(auth.expires_in).not_to be_nil
39
39
  end
40
40
 
41
41
  it "returns Unauthorized" do
@@ -45,12 +45,20 @@ describe Authorization do
45
45
  end
46
46
  end
47
47
 
48
+ describe '#to_yaml' do
49
+ it "serializes and deserializes Authorization" do
50
+ auth = subject.new(client_id, client_secret).authorize!
51
+
52
+ expect(YAML::load(auth.to_yaml)).to be_instance_of(ExactTargetRest::Authorization)
53
+ end
54
+ end
55
+
48
56
  private
49
57
 
50
58
  def stub_requests
51
- stub_request(:post, "https://auth.exacttargetapis.com/v1/requestToken").
59
+ stub_request(:post, ExactTargetRest::AUTH_URL).
52
60
  with(
53
- :body => "{\"clientId\":\"12345\",\"clientSecret\":\"Y9axRxR9bcvSW2cc0IwoWeq7\"}",
61
+ :body => "{\"clientId\":\"#{client_id}\",\"clientSecret\":\"#{client_secret}\"}",
54
62
  :headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Type'=>'application/json', 'User-Agent'=>'Faraday v0.9.2'}
55
63
  ).
56
64
  to_return(
@@ -61,7 +69,7 @@ describe Authorization do
61
69
 
62
70
  stub_request(:any, ExactTargetRest::AUTH_URL).
63
71
  with(
64
- :body => "{\"clientId\":\"invalid\",\"clientSecret\":\"Y9axRxR9bcvSW2cc0IwoWeq7\"}",
72
+ :body => "{\"clientId\":\"invalid\",\"clientSecret\":\"#{client_secret}\"}",
65
73
  :headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Type'=>'application/json', 'User-Agent'=>'Faraday v0.9.2'}
66
74
  ).
67
75
  to_return(
@@ -56,6 +56,20 @@ describe TriggeredSend do
56
56
 
57
57
  end
58
58
 
59
+ describe '#to_yaml' do
60
+ it "serializes and deserializes TriggeredSend" do
61
+ authorization = ExactTargetRest::Authorization.new("client_id", "client_secret").authorize!
62
+
63
+ ts = ExactTargetRest::TriggeredSend.new(authorization, "external_key").
64
+ with_options(
65
+ email_address: "jake@oo.com",
66
+ subscriber_attributes: { "City" => "São Paulo", "Profile ID" => "42" }
67
+ )
68
+
69
+ expect(YAML::load(ts.to_yaml)).to be_instance_of(ExactTargetRest::TriggeredSend)
70
+ end
71
+ end
72
+
59
73
  private
60
74
 
61
75
  def stub_requests
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exact_target_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronie Uliana
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-20 00:00:00.000000000 Z
11
+ date: 2016-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -131,7 +131,6 @@ extensions: []
131
131
  extra_rdoc_files: []
132
132
  files:
133
133
  - ".gitignore"
134
- - ".ruby-gemset"
135
134
  - Gemfile
136
135
  - Guardfile
137
136
  - LICENSE.txt
@@ -1 +0,0 @@
1
- exact_target_rest