api_smith 1.2.0 → 1.3.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.
- checksums.yaml +7 -0
- data/lib/api_smith/client.rb +3 -24
- data/lib/api_smith/version.rb +2 -2
- metadata +74 -121
- data/lib/api_smith/httparty_extensions.rb +0 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: df3babc28fceaa4b6bd725e787ca5411d1228aea
|
4
|
+
data.tar.gz: f860066f9884626fc3ae76005bcb62b47d10ff40
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1789b731e5ccd56734d3849276717524adcf76a0429234004440dc9bcafece26a97591b897d6b90ad6ec0423fb016ccc99959cab447cfcef704a2fc7aaaa163b
|
7
|
+
data.tar.gz: 041ea42be2bed26c955feb162a3c667b3b07413bb2ec6fc5ae01299ba0af25fe4ef4edc91de35f2987690ef87275fdbcd47054b64928d141833ffa8c37d2b0f9
|
data/lib/api_smith/client.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'httparty'
|
2
|
-
require 'net/http/persistent'
|
3
2
|
|
4
3
|
module APISmith
|
5
4
|
|
@@ -112,9 +111,8 @@ module APISmith
|
|
112
111
|
request_options[type] = merged_options_for(type, options)
|
113
112
|
end
|
114
113
|
# Finally, use HTTParty to get the response
|
115
|
-
response =
|
116
|
-
|
117
|
-
response = self.class.send method, full_path, request_options
|
114
|
+
response = instrument_request method, full_path, options do
|
115
|
+
self.class.send method, full_path, request_options
|
118
116
|
end
|
119
117
|
# Pre-process the response to check for errors.
|
120
118
|
check_response_errors response
|
@@ -326,26 +324,7 @@ module APISmith
|
|
326
324
|
def endpoint(value = nil)
|
327
325
|
define_method(:endpoint) { value }
|
328
326
|
end
|
329
|
-
|
330
|
-
# Allows you to set a given endpoint as persistnet, using Net::HTTP::Persistent.
|
331
|
-
# @param [true,false] value when true, will be persisted. Otherwise, non-persistent.
|
332
|
-
# @param [String] name the name for the client in Net::HTTP::Persistent
|
333
|
-
# @example Making it persistent:
|
334
|
-
# persistent
|
335
|
-
# @example Persistent with a custom client name
|
336
|
-
# persistent true, 'my-client'
|
337
|
-
# @example Making it non-persistent
|
338
|
-
# persistent false
|
339
|
-
def persistent(value = true, name = 'api_smith')
|
340
|
-
if value
|
341
|
-
require 'api_smith/httparty_extensions'
|
342
|
-
default_options[:persistent] ||= Net::HTTP::Persistent.new(name)
|
343
|
-
else
|
344
|
-
default_options[:persistent] = nil
|
345
|
-
end
|
346
|
-
end
|
347
|
-
|
348
327
|
end
|
349
328
|
|
350
329
|
end
|
351
|
-
end
|
330
|
+
end
|
data/lib/api_smith/version.rb
CHANGED
metadata
CHANGED
@@ -1,160 +1,113 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_smith
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 1.2.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Darcy Laycock
|
14
8
|
- Steve Webb
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: httparty
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
33
21
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: hashie
|
37
22
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: hashie
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.0'
|
35
|
+
- - <
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.0'
|
48
38
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: net-http-persistent
|
52
39
|
prerelease: false
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
type: :runtime
|
63
|
-
version_requirements: *id003
|
64
|
-
- !ruby/object:Gem::Dependency
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '1.0'
|
45
|
+
- - <
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
65
49
|
name: rr
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
hash: 3
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
version: "0"
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
76
55
|
type: :development
|
77
|
-
version_requirements: *id004
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rspec
|
80
56
|
prerelease: false
|
81
|
-
|
82
|
-
|
83
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
84
66
|
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
segments:
|
88
|
-
- 2
|
89
|
-
- 0
|
90
|
-
version: "2.0"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.0'
|
91
69
|
type: :development
|
92
|
-
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: fuubar
|
95
70
|
prerelease: false
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
version: "0"
|
105
|
-
type: :development
|
106
|
-
version_requirements: *id006
|
107
|
-
description: APISmith provides tools to make working with structured HTTP-based apis even easier.
|
108
|
-
email:
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
description: APISmith provides tools to make working with structured HTTP-based apis
|
77
|
+
even easier.
|
78
|
+
email:
|
109
79
|
- sutto@thefrontiergroup.com.au
|
110
80
|
executables: []
|
111
|
-
|
112
81
|
extensions: []
|
113
|
-
|
114
82
|
extra_rdoc_files: []
|
115
|
-
|
116
|
-
files:
|
83
|
+
files:
|
117
84
|
- lib/api_smith/base.rb
|
118
85
|
- lib/api_smith/client.rb
|
119
|
-
- lib/api_smith/httparty_extensions.rb
|
120
86
|
- lib/api_smith/smash.rb
|
121
87
|
- lib/api_smith/version.rb
|
122
88
|
- lib/api_smith/web_mock_extensions.rb
|
123
89
|
- lib/api_smith.rb
|
124
90
|
homepage: http://github.com/thefrontiergroup
|
125
91
|
licenses: []
|
126
|
-
|
92
|
+
metadata: {}
|
127
93
|
post_install_message:
|
128
94
|
rdoc_options: []
|
129
|
-
|
130
|
-
require_paths:
|
95
|
+
require_paths:
|
131
96
|
- lib
|
132
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
|
-
requirements:
|
144
|
-
- - ">="
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
hash: 23
|
147
|
-
segments:
|
148
|
-
- 1
|
149
|
-
- 3
|
150
|
-
- 6
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
151
106
|
version: 1.3.6
|
152
107
|
requirements: []
|
153
|
-
|
154
108
|
rubyforge_project:
|
155
|
-
rubygems_version:
|
109
|
+
rubygems_version: 2.0.2
|
156
110
|
signing_key:
|
157
|
-
specification_version:
|
111
|
+
specification_version: 4
|
158
112
|
summary: A simple layer on top of HTTParty for building API's
|
159
113
|
test_files: []
|
160
|
-
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# Monkey patches HTTParty to accept persistent connections.
|
2
|
-
module HTTParty
|
3
|
-
class Request
|
4
|
-
|
5
|
-
alias _original_http http
|
6
|
-
def http
|
7
|
-
options[:persistent] || _original_http
|
8
|
-
end
|
9
|
-
|
10
|
-
def perform
|
11
|
-
validate
|
12
|
-
setup_raw_request
|
13
|
-
self.last_response = perform_inner_request
|
14
|
-
handle_deflation
|
15
|
-
handle_response
|
16
|
-
end
|
17
|
-
|
18
|
-
def perform_inner_request
|
19
|
-
options[:persistent] ? http.request(uri, @raw_request) : http.request(@raw_request)
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|