NRB_http_service 0.0.8 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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