tms_client 0.1.1 → 0.2.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.
- data/README.md +3 -4
- data/lib/tms_client/client.rb +6 -7
- data/lib/tms_client/connection.rb +6 -6
- data/lib/tms_client/mail/delivery_method.rb +3 -5
- data/lib/tms_client/version.rb +1 -1
- data/spec/client_spec.rb +1 -1
- metadata +28 -14
- checksums.yaml +0 -7
data/README.md
CHANGED
@@ -22,7 +22,7 @@ Connecting
|
|
22
22
|
Loading an instance of `TMS::Client` will automatically connect to the API to query the available resources for your account.
|
23
23
|
|
24
24
|
```ruby
|
25
|
-
client = TMS::Client.new('
|
25
|
+
client = TMS::Client.new('auth_token', :api_root => 'https://stage-tms.govdelivery.com')
|
26
26
|
```
|
27
27
|
|
28
28
|
Messages
|
@@ -173,7 +173,7 @@ The example below configures `TMS::Client` to log to `STDOUT`:
|
|
173
173
|
|
174
174
|
```ruby
|
175
175
|
logger = Logger.new(STDOUT)
|
176
|
-
client = TMS::Client.new('
|
176
|
+
client = TMS::Client.new('auth_token', :logger => logger)
|
177
177
|
```
|
178
178
|
|
179
179
|
ActionMailer integration
|
@@ -190,8 +190,7 @@ config/environment.rb
|
|
190
190
|
```ruby
|
191
191
|
config.action_mailer.delivery_method = :govdelivery_tms
|
192
192
|
config.action_mailer.govdelivery_tms_settings = {
|
193
|
-
:
|
194
|
-
:password=>'pass',
|
193
|
+
:auth_token=>'auth_token',
|
195
194
|
:api_root=>'https://stage-tms.govdelivery.com'
|
196
195
|
}
|
197
196
|
```
|
data/lib/tms_client/client.rb
CHANGED
@@ -9,25 +9,24 @@ class TMS::Client
|
|
9
9
|
|
10
10
|
# Create a new client and issue a request for the available resources for a given account.
|
11
11
|
#
|
12
|
-
# @param [String]
|
13
|
-
# @param [String] password The password of your account
|
12
|
+
# @param [String] auth_token The auth_token of your account
|
14
13
|
# @param [Hash] options
|
15
14
|
# @option options [String] :api_root The root URL of the TMS api. Defaults to localhost:3000
|
16
15
|
# @option options [Logger] :logger An instance of a Logger class (http transport information will be logged here) - defaults to nil
|
17
16
|
#
|
18
17
|
# @example
|
19
|
-
# client = TMS::Client.new("
|
18
|
+
# client = TMS::Client.new("auth_token", {
|
20
19
|
# :api_root => "https://tms.govdelivery.com",
|
21
20
|
# :logger => Logger.new(STDOUT)})
|
22
21
|
#
|
23
|
-
def initialize(
|
22
|
+
def initialize(auth_token, options = DEFAULTS)
|
24
23
|
@api_root = options[:api_root]
|
25
|
-
connect!(
|
24
|
+
connect!(auth_token, options[:logger])
|
26
25
|
discover!
|
27
26
|
end
|
28
27
|
|
29
|
-
def connect!(
|
30
|
-
self.connection = TMS::Connection.new(:
|
28
|
+
def connect!(auth_token, logger)
|
29
|
+
self.connection = TMS::Connection.new(:auth_token => auth_token, :api_root => @api_root, :logger => logger)
|
31
30
|
end
|
32
31
|
|
33
32
|
def discover!
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class TMS::Connection
|
2
|
-
attr_accessor :
|
2
|
+
attr_accessor :auth_token, :api_root, :connection, :logger
|
3
3
|
|
4
4
|
def get(href)
|
5
5
|
resp = connection.get("#{href}.json")
|
@@ -11,10 +11,9 @@ class TMS::Connection
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def initialize(opts={})
|
14
|
-
self.
|
15
|
-
self.
|
16
|
-
self.
|
17
|
-
self.logger = opts[:logger]
|
14
|
+
self.auth_token = opts[:auth_token]
|
15
|
+
self.api_root = opts[:api_root]
|
16
|
+
self.logger = opts[:logger]
|
18
17
|
setup_connection
|
19
18
|
end
|
20
19
|
|
@@ -22,7 +21,8 @@ class TMS::Connection
|
|
22
21
|
self.connection = Faraday.new(:url => self.api_root) do |faraday|
|
23
22
|
faraday.use TMS::Logger, self.logger if self.logger
|
24
23
|
faraday.request :json
|
25
|
-
faraday.
|
24
|
+
faraday.headers['X-AUTH-TOKEN'] = auth_token
|
25
|
+
faraday.headers[:user_agent] = "GovDelivery Ruby TMS::Client #{TMS::VERSION}"
|
26
26
|
faraday.response :json, :content_type => /\bjson$/
|
27
27
|
faraday.adapter :net_http
|
28
28
|
end
|
@@ -11,8 +11,7 @@ module TMS
|
|
11
11
|
# # config/environment.rb
|
12
12
|
# config.action_mailer.delivery_method = :govdelivery_tms
|
13
13
|
# config.action_mailer.govdelivery_tms_settings = {
|
14
|
-
# :
|
15
|
-
# :password=>'pass',
|
14
|
+
# :auth_token=>'auth_token',
|
16
15
|
# :api_root=>'https://stage-tms.govdelivery.com'
|
17
16
|
# }
|
18
17
|
class DeliveryMethod
|
@@ -42,7 +41,7 @@ module TMS
|
|
42
41
|
end
|
43
42
|
|
44
43
|
def client
|
45
|
-
@client ||= TMS::Client.new(settings[:
|
44
|
+
@client ||= TMS::Client.new(settings[:auth_token], settings)
|
46
45
|
end
|
47
46
|
end
|
48
47
|
end
|
@@ -50,8 +49,7 @@ end
|
|
50
49
|
|
51
50
|
if defined?(ActionMailer)
|
52
51
|
ActionMailer::Base.add_delivery_method :govdelivery_tms, TMS::Mail::DeliveryMethod, {
|
53
|
-
:
|
54
|
-
:password => nil,
|
52
|
+
:auth_token => nil,
|
55
53
|
:logger => ActionMailer::Base.logger,
|
56
54
|
:api_root => TMS::Client::DEFAULTS[:api_root]}
|
57
55
|
end
|
data/lib/tms_client/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe TMS::Client do
|
|
5
5
|
response = double('response', :status=>200, :body => {"_links" => [{"self" => "/"}, {"horse" => "/horses/new"}, {"rabbits" => "/rabbits"}]})
|
6
6
|
@raw_connection = double('raw_connection', :get => response)
|
7
7
|
@connection = TMS::Connection.stub(:new).and_return(double('connection', :connection => @raw_connection))
|
8
|
-
@client = TMS::Client.new('
|
8
|
+
@client = TMS::Client.new('auth_token', :api_root => 'null_url')
|
9
9
|
end
|
10
10
|
it 'should discover endpoints for known services' do
|
11
11
|
@client.horse.should be_kind_of(TMS::Horse)
|
metadata
CHANGED
@@ -1,58 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tms_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- GovDelivery
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-14 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: faraday
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: faraday_middleware
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0'
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: activesupport
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '0'
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
|
-
description: 'A reference implementation, written in Ruby, to interact with GovDelivery''s
|
62
|
+
description: ! 'A reference implementation, written in Ruby, to interact with GovDelivery''s
|
56
63
|
TMS API. The client is compatible with Ruby versions 1.8.7 and 1.9.3. '
|
57
64
|
email:
|
58
65
|
- support@govdelivery.com
|
@@ -104,26 +111,33 @@ files:
|
|
104
111
|
- spec/tms_client_spec.rb
|
105
112
|
homepage: http://govdelivery.com
|
106
113
|
licenses: []
|
107
|
-
metadata: {}
|
108
114
|
post_install_message:
|
109
115
|
rdoc_options: []
|
110
116
|
require_paths:
|
111
117
|
- lib
|
112
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
113
120
|
requirements:
|
114
|
-
- - '>='
|
121
|
+
- - ! '>='
|
115
122
|
- !ruby/object:Gem::Version
|
116
123
|
version: '0'
|
124
|
+
segments:
|
125
|
+
- 0
|
126
|
+
hash: -2902560472954263906
|
117
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
118
129
|
requirements:
|
119
|
-
- - '>='
|
130
|
+
- - ! '>='
|
120
131
|
- !ruby/object:Gem::Version
|
121
132
|
version: '0'
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
hash: -2902560472954263906
|
122
136
|
requirements: []
|
123
137
|
rubyforge_project:
|
124
|
-
rubygems_version:
|
138
|
+
rubygems_version: 1.8.25
|
125
139
|
signing_key:
|
126
|
-
specification_version:
|
140
|
+
specification_version: 3
|
127
141
|
summary: A ruby client to interact with the GovDelivery TMS REST API.
|
128
142
|
test_files:
|
129
143
|
- spec/client_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: b7a0be5e64161ecf0605c965d2bb949ec4b157db
|
4
|
-
data.tar.gz: 6f725c6cb7c2f771dd7cbc07d67f00ad113af1fb
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 8ede49f2709329392caa5e954071b769f136abe14f6ad32f7f1f8ca617314fe0f07a4025c6e1dc2d6cd7bd4298bc0d8d961381d366e46671d38da898a2b16197
|
7
|
-
data.tar.gz: 4bc8ad9a68092470eea57fd069d6cc6fba3c1b0491f0c28489be27141a3ec25f8f760078e2e53ec76ced4edb35cf4062d72cd03068a323ade5f46b50f9303abb
|