happi 0.0.1 → 0.0.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 +4 -4
- data/README.md +4 -1
- data/lib/happi/client.rb +11 -15
- data/lib/happi/configuration.rb +16 -0
- data/lib/happi/error.rb +25 -0
- data/lib/happi/version.rb +1 -1
- data/lib/happi.rb +1 -0
- data/spec/client_spec.rb +0 -6
- data/spec/configuration_spec.rb +8 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af8ba21871ab04a2984602e9d6abc4a50c015f5f
|
4
|
+
data.tar.gz: 23a6a877deca390eb84cce281e3c0401d964fa74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 508d29a0c2bfafbf3482a5ecefe8ead014d21103636fc4ccd3d6e669ce597c5cd0aa302739ee7b39253d1e4de91004277d0511ddcac45519675531bf51ebaf3c
|
7
|
+
data.tar.gz: 4c655fd218d1e52ba81c9cb489eabca25a801b81cd782bcf804608f69fe93ade21f36a69670acbcd409a22fd44bc749d03df36a004997914eab00dedeeb9f044
|
data/README.md
CHANGED
@@ -20,8 +20,11 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
require 'happi'
|
22
22
|
|
23
|
+
Happi::Client.configure do |config|
|
24
|
+
config.base_url = 'http://localhost:3000'
|
25
|
+
end
|
26
|
+
|
23
27
|
client = Happi::Client.new(
|
24
|
-
base_url: 'http://localhost:3000',
|
25
28
|
oauth_token: '63ba06720acf97959f5ba3e3fe1020bf69a7596e2fe3091f821a35cdfe615ceb')
|
26
29
|
|
27
30
|
templates = client.get('templates')[:templates]
|
data/lib/happi/client.rb
CHANGED
@@ -4,22 +4,18 @@ require 'active_support/core_ext/string/inflections'
|
|
4
4
|
require 'active_support/core_ext/hash'
|
5
5
|
|
6
6
|
class Happi::Client
|
7
|
-
DEFAULTS = {
|
8
|
-
host: 'http://localhost:8080',
|
9
|
-
port: 443,
|
10
|
-
timeout: 60,
|
11
|
-
version: 'v1'
|
12
|
-
}
|
13
7
|
|
14
|
-
|
8
|
+
def self.config
|
9
|
+
@config ||= Happi::Configuration.new
|
10
|
+
end
|
15
11
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
end
|
12
|
+
def self.configure
|
13
|
+
yield config
|
14
|
+
end
|
20
15
|
|
21
|
-
|
22
|
-
|
16
|
+
def initialize(options = {})
|
17
|
+
options.each do |key, value|
|
18
|
+
self.config.send("#{key}=", value)
|
23
19
|
end
|
24
20
|
end
|
25
21
|
|
@@ -77,9 +73,9 @@ class Happi::Client
|
|
77
73
|
end
|
78
74
|
|
79
75
|
def connection
|
80
|
-
@connection ||= Faraday.new(host) do |f|
|
76
|
+
@connection ||= Faraday.new(self.config.host) do |f|
|
81
77
|
f.request :multipart
|
82
|
-
f.use FaradayMiddleware::OAuth2, oauth_token
|
78
|
+
f.use FaradayMiddleware::OAuth2, self.config.oauth_token
|
83
79
|
f.use FaradayMiddleware::ParseJson, content_type: 'application/json'
|
84
80
|
f.request :url_encoded
|
85
81
|
f.adapter :net_http
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Happi::Configuration
|
2
|
+
DEFAULTS = {
|
3
|
+
host: 'http://localhost:8080',
|
4
|
+
port: 443,
|
5
|
+
timeout: 60,
|
6
|
+
version: 'v1'
|
7
|
+
}
|
8
|
+
|
9
|
+
attr_accessor :oauth_token, :host, :port, :timeout, :version
|
10
|
+
|
11
|
+
def initialize(options = {})
|
12
|
+
DEFAULTS.merge(options).each do |key, value|
|
13
|
+
send("#{key}=", value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/happi/error.rb
CHANGED
@@ -13,4 +13,29 @@ class Happi::Error < Exception
|
|
13
13
|
class TooManyRequests < ServerError; end
|
14
14
|
class ServiceUnavailable < ServerError; end
|
15
15
|
class GatewayTimeout < ServerError; end
|
16
|
+
|
17
|
+
module ServiceableErrors
|
18
|
+
def self.included(serviceable)
|
19
|
+
serviceable.const_set :StandardError, Class.new(::NestedError)
|
20
|
+
serviceable.const_set :UserError, Class.new(serviceable::StandardError)
|
21
|
+
serviceable.const_set :LogicError, Class.new(serviceable::StandardError)
|
22
|
+
serviceable.const_set :InternalError, Class.new(serviceable::LogicError)
|
23
|
+
serviceable.const_set :ClientError, Class.new(serviceable::LogicError)
|
24
|
+
serviceable.const_set :TransientFailure, Class.new(serviceable::StandardError)
|
25
|
+
end
|
26
|
+
|
27
|
+
class NestedError < StandardError
|
28
|
+
attr_reader :original
|
29
|
+
|
30
|
+
def initialize(msg, original = $1)
|
31
|
+
super(original ? "#{msg} - #{original.message}" : msg)
|
32
|
+
@original = original
|
33
|
+
set_backtrace(@original.backtrace) if @original.present?
|
34
|
+
end
|
35
|
+
|
36
|
+
def original?
|
37
|
+
@original.nil?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
16
41
|
end
|
data/lib/happi/version.rb
CHANGED
data/lib/happi.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Happi::Client do
|
4
|
-
|
5
|
-
describe 'options' do
|
6
|
-
specify { expect(Happi::Client.new(host: 'http://www.google.com').host).to eql('http://www.google.com') }
|
7
|
-
specify { expect(Happi::Client.new(port: 80).port).to eql(80) }
|
8
|
-
end
|
9
|
-
|
10
4
|
describe 'call' do
|
11
5
|
|
12
6
|
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Happi::Configuration do
|
4
|
+
describe 'options' do
|
5
|
+
specify { expect(Happi::Configuration.new(host: 'http://www.google.com').host).to eql('http://www.google.com') }
|
6
|
+
specify { expect(Happi::Configuration.new(port: 80).port).to eql(80) }
|
7
|
+
end
|
8
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: happi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John D'Agostino
|
@@ -193,10 +193,12 @@ files:
|
|
193
193
|
- happi.gemspec
|
194
194
|
- lib/happi.rb
|
195
195
|
- lib/happi/client.rb
|
196
|
+
- lib/happi/configuration.rb
|
196
197
|
- lib/happi/error.rb
|
197
198
|
- lib/happi/file.rb
|
198
199
|
- lib/happi/version.rb
|
199
200
|
- spec/client_spec.rb
|
201
|
+
- spec/configuration_spec.rb
|
200
202
|
- spec/file_spec.rb
|
201
203
|
- spec/fixtures/award.docx
|
202
204
|
- spec/spec_helper.rb
|
@@ -226,6 +228,7 @@ specification_version: 4
|
|
226
228
|
summary: Simple faraday client wrapper preconfigured for specific usecase
|
227
229
|
test_files:
|
228
230
|
- spec/client_spec.rb
|
231
|
+
- spec/configuration_spec.rb
|
229
232
|
- spec/file_spec.rb
|
230
233
|
- spec/fixtures/award.docx
|
231
234
|
- spec/spec_helper.rb
|