api_consumer 0.0.3 → 0.0.4
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 +8 -8
- data/lib/api_consumer.rb +10 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjFlZjRhODI3MThlNDJjYmI4ZTU4Y2UxNDk4MWMwNGVhNTNmYjk3OA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
M2RlZjQ0NjZlYzU3MzU5ZDY5ZDcwYmZmNTA2ODBjNjIzMjEyZjZiYw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzQ5M2Y5NzgzNjA0NmNjZTYyOGJiMWJmOWNlYmRjNjAzZjVjYTM4MjU3M2M0
|
10
|
+
OGUzODU5YTlmMWM2OWQwZmUwN2Q4YjEwMzA4MWNmMmQ3ODI3NTFlZDUxZDhl
|
11
|
+
YjY5Njg2MjNiZTA0MjAwZTZmMDNkZTUxZmI0ZmFiMmVlYThjNTY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjQxNWIwMmI0NTE5NTIxYWVlZDY4NGZhMTI1NWNkNjNhM2I0MGNhY2YwNjVm
|
14
|
+
OWRkNDJmODM2Y2Y3OTI3NjEyZDJhNjg0MzgwNDgxYzQ5Nzk5NmRhNDA2ZDEz
|
15
|
+
ODYzOGNiYmQ0MDYxNWQ2NDU3MGY4ZDM0MzE1YWY5YjMxYTk2OGM=
|
data/lib/api_consumer.rb
CHANGED
@@ -12,7 +12,7 @@ class APIConsumer
|
|
12
12
|
def inherited(subclass)
|
13
13
|
configs = YAML.load_file("config/#{snake_case(subclass)}.yml")
|
14
14
|
configs[snake_case(subclass)].each{ |k,v| subclass.set(k.to_sym, v) }
|
15
|
-
subclass.set_logger(Logger.new(settings[:log_file] || "./log/#{snake_case(subclass)}_api.log"), settings[:log_level])
|
15
|
+
subclass.set_logger(Logger.new(subclass.settings[:log_file] || "./log/#{snake_case(subclass)}_api.log"), subclass.settings[:log_level])
|
16
16
|
super
|
17
17
|
end
|
18
18
|
|
@@ -73,6 +73,9 @@ class APIConsumer
|
|
73
73
|
:ttl => 300
|
74
74
|
}
|
75
75
|
def do_request(path, conn, opts = {}, &blk)
|
76
|
+
if(opts[:verbose])
|
77
|
+
log.debug("Sending request to: #{conn.address}#{':' + conn.port.to_s if conn.port}#{path}")
|
78
|
+
end
|
76
79
|
if opts[:key] # cache if key sent
|
77
80
|
read_val = nil
|
78
81
|
return read_val if !opts[:reload] && read_val = cache.obj_read(opts[:key])
|
@@ -89,14 +92,15 @@ class APIConsumer
|
|
89
92
|
log.error "BUG - method=>(#{opts[:method]})"
|
90
93
|
end
|
91
94
|
opts[:headers].each { |k,v| req[k] = v }
|
95
|
+
settings[:headers].each { |k,v| req[k] = v } if settings[:headers]
|
92
96
|
req.basic_auth settings[:api_user], settings[:api_password] if settings[:api_user] && settings[:api_password]
|
93
97
|
req["connection"] = 'keep-alive'
|
94
98
|
req.body = opts[:body] if opts[:body]
|
95
99
|
|
96
100
|
response = nil
|
97
101
|
begin
|
98
|
-
log.
|
99
|
-
log.
|
102
|
+
log.debug "CONN:" + conn.inspect
|
103
|
+
log.debug "REQ:" + req.inspect
|
100
104
|
response = conn.request(req)
|
101
105
|
if( settings[:type] == "json")
|
102
106
|
results = JSON.parse(response.body)
|
@@ -114,6 +118,8 @@ class APIConsumer
|
|
114
118
|
'description' => i.xpath('description').inner_text
|
115
119
|
}
|
116
120
|
}
|
121
|
+
elsif( settings[:type] == "xml")
|
122
|
+
return Nokogiri::XML(response.body)
|
117
123
|
end
|
118
124
|
rescue Exception => exception
|
119
125
|
log.error exception.message
|
@@ -156,7 +162,7 @@ class APIConsumer
|
|
156
162
|
|
157
163
|
private
|
158
164
|
def snake_case(camel_cased_word)
|
159
|
-
camel_cased_word.to_s.gsub(/::/, '
|
165
|
+
camel_cased_word.to_s.gsub(/::/, '_').
|
160
166
|
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
161
167
|
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
162
168
|
tr("-", "_").
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_consumer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Reister
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uber_cache
|