NRB_http_service 0.0.8 → 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 28f5fc0fb9e5b8d3bcc6436c27bae888dfc16128
4
+ data.tar.gz: f63b0efd8e14a4668e5970d78c6d83b957471b0f
5
+ SHA512:
6
+ metadata.gz: 72a291dee0d0c936753c5695f6de4a1939cc354f8cdae9550b10d7327285da0fda27d493902a4ae1f40ebbcebe81c5baf2e70fe62551a59e97035a7dc427f759
7
+ data.tar.gz: 57c43f46501c6e13cf2cb3493820b4980ed0c5897efc66a7b2969dc2af78a12e3042fe55fb08b80f8284e97655455f210fde16e8eda104c4ec578138e25dd040
@@ -39,22 +39,30 @@ module NRB
39
39
 
40
40
 
41
41
  def make_request
42
- connection = self.class.default_http_class.new @url, @connection_opts, &self.class.faraday_middleware
43
- response = connection.send @verb, @url, @params
44
- args = @args.merge( { body: response.body, headers: response.headers, status: response.status.to_i } )
45
- @response_class.new args
42
+ response = connection.send verb, url, params
43
+ response_class.new response_args(response)
46
44
  rescue Faraday::Error::ParsingError => e
47
45
  self.class.default_response_class.new body: {error: e.message}, status: 500
48
46
  end
49
47
 
50
48
  private
51
49
 
52
- attr_reader :params, :verb, :url
50
+ attr_reader :args, :connection_opts, :params, :response_class, :verb, :url
51
+
52
+ def connection
53
+ self.class.default_http_class.new url, connection_opts, &self.class.faraday_middleware
54
+ end
55
+
53
56
 
54
57
  def process_args(args)
55
58
  return args unless @verb == :post
56
59
  args.inject("") { |str,pair| str += "#{pair.first}=#{pair.last}&" }.chop
57
60
  end
58
61
 
62
+
63
+ def response_args(response)
64
+ args.merge( { body: response.body, headers: response.headers, status: response.status.to_i } )
65
+ end
66
+
59
67
  end
60
68
  end
@@ -19,7 +19,7 @@ module NRB
19
19
 
20
20
 
21
21
  def success?
22
- @status >= 200 && @status < 300
22
+ status >= 200 && status < 300
23
23
  end
24
24
 
25
25
  end
@@ -1,6 +1,6 @@
1
1
  module NRB
2
2
  class HTTPService
3
- VERSION = '0.0.8'
3
+ VERSION = '0.1.0'
4
4
  def self.version; VERSION; end
5
5
  end
6
6
  end
@@ -12,11 +12,11 @@ describe NRB::HTTPService::Response do
12
12
  let(:status) { 200 }
13
13
 
14
14
  it 'correctly answers errored?' do
15
- response.should_not be_errored
15
+ expect(response).not_to be_errored
16
16
  end
17
17
 
18
18
  it 'correctly answers success?' do
19
- response.should be_success
19
+ expect(response).to be_success
20
20
  end
21
21
 
22
22
  end
@@ -26,11 +26,11 @@ describe NRB::HTTPService::Response do
26
26
  let(:status) { 900 }
27
27
 
28
28
  it 'correctly answers errored?' do
29
- response.should be_errored
29
+ expect(response).to be_errored
30
30
  end
31
31
 
32
32
  it 'correctly answers success?' do
33
- response.should_not be_success
33
+ expect(response).not_to be_success
34
34
  end
35
35
 
36
36
  end
@@ -0,0 +1,30 @@
1
+ describe NRB::HTTPService do
2
+
3
+ let(:version) { described_class.version }
4
+ let(:version_constant) { described_class.const_get(:VERSION) }
5
+
6
+ it 'responds to :version' do
7
+ expect(described_class).to respond_to :version
8
+ end
9
+
10
+
11
+ it "has a version" do
12
+ expect(version).not_to be nil
13
+ end
14
+
15
+
16
+ it "has a version string" do
17
+ expect(version).to be_a String
18
+ end
19
+
20
+
21
+ it 'has a VERSION constant' do
22
+ expect(version_constant).not_to be nil
23
+ end
24
+
25
+
26
+ it 'responds with the VERSION constant' do
27
+ expect(described_class.version).to eq(version_constant)
28
+ end
29
+
30
+ end
@@ -5,11 +5,11 @@ describe NRB::HTTPService do
5
5
  describe 'class methods' do
6
6
 
7
7
  it 'has a default middleware' do
8
- NRB::HTTPService.default_middleware.should be_a(Proc)
8
+ expect(described_class.default_middleware).to be_a(Proc)
9
9
  end
10
10
 
11
11
  it 'has a default response class' do
12
- NRB::HTTPService.default_response_class.should eq NRB::HTTPService::Response
12
+ expect(described_class.default_response_class).to eq NRB::HTTPService::Response
13
13
  end
14
14
 
15
15
  end
@@ -18,25 +18,26 @@ describe NRB::HTTPService do
18
18
 
19
19
  let(:args) { {} }
20
20
  let(:body) { {} }
21
- let(:connection) { stub "here's a beer", verb => connection_response }
21
+ let(:connection) { double :connection, verb: connection_response,
22
+ get: connection_response }
22
23
  let(:connection_response) { double "skal", body: body, headers: headers, status: status }
23
24
  let(:headers) { {} }
24
25
  let(:path) { '/' }
25
- let(:response) { NRB::HTTPService.new(path: path, verb: verb).make_request }
26
+ let(:response) { described_class.new(path: path, verb: verb).make_request }
26
27
  let(:status) { 200 }
27
28
  let(:verb) { :get }
28
29
 
29
30
  context 'successful requests' do
30
31
 
31
32
  before do
32
- Faraday.stub(:new).and_return(connection)
33
+ allow(Faraday).to receive(:new).and_return(connection)
33
34
  end
34
35
  it 'returns a Response object' do
35
- response.should be_a(NRB::HTTPService.default_response_class)
36
+ expect(response).to be_a described_class.default_response_class
36
37
  end
37
38
 
38
39
  it 'resuces with an successful Response object' do
39
- response.should be_success
40
+ expect(response).to be_success
40
41
  end
41
42
 
42
43
  end
@@ -48,19 +49,19 @@ describe NRB::HTTPService do
48
49
  let(:message) { "!Blark!" }
49
50
 
50
51
  before do
51
- Faraday.stub(:new).and_raise(error)
52
+ allow(Faraday).to receive(:new).and_raise(error)
52
53
  end
53
54
 
54
55
  it 'resuces with a Response object' do
55
- response.should be_a(NRB::HTTPService.default_response_class)
56
+ expect(response).to be_a(described_class.default_response_class)
56
57
  end
57
58
 
58
59
  it 'resuces with an errored Response object' do
59
- response.should be_errored
60
+ expect(response).to be_errored
60
61
  end
61
62
 
62
63
  it 'gives you the error' do
63
- response.body[:error].should eq message
64
+ expect(response.body[:error]).to eq message
64
65
  end
65
66
 
66
67
  end
metadata CHANGED
@@ -1,94 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: NRB_http_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dean Brundage
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-28 00:00:00.000000000 Z
11
+ date: 2016-12-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: hashie
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
28
39
  - !ruby/object:Gem::Version
29
40
  version: '0.0'
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: guard-rspec
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ~>
45
+ - - "~>"
36
46
  - !ruby/object:Gem::Version
37
47
  version: '2.0'
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ~>
52
+ - - "~>"
44
53
  - !ruby/object:Gem::Version
45
54
  version: '2.0'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: rake
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ~>
59
+ - - "~>"
52
60
  - !ruby/object:Gem::Version
53
61
  version: '10.0'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ~>
66
+ - - "~>"
60
67
  - !ruby/object:Gem::Version
61
68
  version: '10.0'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: rspec
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ~>
73
+ - - "~>"
68
74
  - !ruby/object:Gem::Version
69
75
  version: '2.0'
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ~>
80
+ - - "~>"
76
81
  - !ruby/object:Gem::Version
77
82
  version: '2.0'
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: rb-inotify
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ~>
87
+ - - "~>"
84
88
  - !ruby/object:Gem::Version
85
89
  version: '0.0'
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ~>
94
+ - - "~>"
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0.0'
94
97
  description: Used in some of New Republic Brewing's gems
@@ -103,37 +106,36 @@ files:
103
106
  - lib/NRB_http_service.rb
104
107
  - lib/NRB_http_service/response.rb
105
108
  - lib/NRB_http_service/version.rb
106
- - spec/cases/NRB_http_service_spec.rb
107
109
  - spec/cases/NRB_http_service/response_spec.rb
108
- - spec/cases/version_spec.rb
110
+ - spec/cases/NRB_http_service/version_spec.rb
111
+ - spec/cases/NRB_http_service_spec.rb
109
112
  - spec/spec_helper.rb
110
113
  homepage: https://github.com/NewRepublicBrewing/http-service
111
- licenses: []
114
+ licenses:
115
+ - GPL-3
116
+ metadata: {}
112
117
  post_install_message:
113
118
  rdoc_options: []
114
119
  require_paths:
115
120
  - lib
116
121
  required_ruby_version: !ruby/object:Gem::Requirement
117
- none: false
118
122
  requirements:
119
- - - ! '>='
123
+ - - ">="
120
124
  - !ruby/object:Gem::Version
121
125
  version: '0'
122
126
  required_rubygems_version: !ruby/object:Gem::Requirement
123
- none: false
124
127
  requirements:
125
- - - ! '>='
128
+ - - ">="
126
129
  - !ruby/object:Gem::Version
127
130
  version: '0'
128
131
  requirements: []
129
132
  rubyforge_project: NRB_http_service
130
- rubygems_version: 1.8.24
133
+ rubygems_version: 2.5.2
131
134
  signing_key:
132
- specification_version: 3
135
+ specification_version: 4
133
136
  summary: HTTP Fetcher Gem based on Faraday
134
137
  test_files:
135
138
  - spec/cases/NRB_http_service_spec.rb
136
139
  - spec/cases/NRB_http_service/response_spec.rb
137
- - spec/cases/version_spec.rb
140
+ - spec/cases/NRB_http_service/version_spec.rb
138
141
  - spec/spec_helper.rb
139
- has_rdoc:
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe NRB::HTTPService do
4
-
5
- it 'responds to version' do
6
- NRB::HTTPService.should respond_to :version
7
- end
8
-
9
-
10
- it 'gives a version string' do
11
- NRB::HTTPService.version.should be_a String
12
- end
13
-
14
- end