woahdae-consumer 0.8.1 → 0.8.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.
- data/Manifest.txt +2 -4
- data/consumer.gemspec +10 -8
- data/examples/active_record/ar_spec.rb +1 -1
- data/lib/consumer.rb +2 -2
- data/lib/consumer/mapping.rb +2 -2
- data/lib/consumer/request.rb +37 -14
- metadata +3 -5
data/Manifest.txt
CHANGED
@@ -6,6 +6,7 @@ README.rdoc
|
|
6
6
|
Rakefile
|
7
7
|
app_generators/consumer/USAGE
|
8
8
|
app_generators/consumer/consumer_generator.rb
|
9
|
+
app_generators/consumer/templates/.gitignore
|
9
10
|
app_generators/consumer/templates/LICENSE
|
10
11
|
app_generators/consumer/templates/README.rdoc
|
11
12
|
app_generators/consumer/templates/Rakefile
|
@@ -38,6 +39,7 @@ examples/active_record/xml/book.xml
|
|
38
39
|
examples/active_record/xml/book_with_contributors.xml
|
39
40
|
examples/active_record/xml/contributor.xml
|
40
41
|
examples/active_record/xml/contributor_with_books.xml
|
42
|
+
examples/shipping/.gitignore
|
41
43
|
examples/shipping/environment.rb
|
42
44
|
examples/shipping/rate.rb
|
43
45
|
examples/shipping/shipping.yml.sample
|
@@ -48,8 +50,6 @@ lib/consumer.rb
|
|
48
50
|
lib/consumer/helper.rb
|
49
51
|
lib/consumer/mapping.rb
|
50
52
|
lib/consumer/request.rb
|
51
|
-
rails_generators/request/USAGE
|
52
|
-
rails_generators/request/request_generator.rb
|
53
53
|
script/console
|
54
54
|
script/destroy
|
55
55
|
script/generate
|
@@ -63,9 +63,7 @@ spec/xml/rate_response.xml
|
|
63
63
|
spec/xml/rate_response_error.xml
|
64
64
|
tasks/rspec.rake
|
65
65
|
test/test_consumer_generator.rb
|
66
|
-
test/test_consumer_plugin_request_generator.rb
|
67
66
|
test/test_generator_helper.rb
|
68
|
-
test/test_rails_request_generator.rb
|
69
67
|
website/index.html
|
70
68
|
website/index.txt
|
71
69
|
website/javascripts/rounded_corners_lite.inc.js
|
data/consumer.gemspec
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = %q{consumer}
|
3
|
-
s.version = "0.8.
|
5
|
+
s.version = "0.8.2"
|
4
6
|
|
5
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
8
|
s.authors = ["Woody Peterson"]
|
7
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-02-05}
|
8
10
|
s.default_executable = %q{consumer}
|
9
11
|
s.description = %q{Consumer is a library for consuming xml resources via Builder, libxml, and some request sending / response marshaling glue. It comes with an app generator that creates an empty ready-for-rails gem that itself comes with a generator for making the request/response classes, config files, and specs (see script/generate after creating a new Consumer project).}
|
10
12
|
s.email = ["woody.peterson@gmail.com"]
|
@@ -17,32 +19,32 @@ Gem::Specification.new do |s|
|
|
17
19
|
s.rdoc_options = ["--main", "README.rdoc"]
|
18
20
|
s.require_paths = ["lib"]
|
19
21
|
s.rubyforge_project = %q{consumer}
|
20
|
-
s.rubygems_version = %q{1.
|
22
|
+
s.rubygems_version = %q{1.3.1}
|
21
23
|
s.summary = %q{Consumer is a library for consuming xml resources via Builder, libxml, and some request sending / response marshaling glue}
|
22
|
-
s.test_files = ["test/test_consumer_generator.rb", "test/
|
24
|
+
s.test_files = ["test/test_consumer_generator.rb", "test/test_generator_helper.rb"]
|
23
25
|
|
24
26
|
if s.respond_to? :specification_version then
|
25
27
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
28
|
s.specification_version = 2
|
27
29
|
|
28
|
-
if
|
30
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
29
31
|
s.add_runtime_dependency(%q<activesupport>, [">= 2.0.2"])
|
30
32
|
s.add_runtime_dependency(%q<libxml-ruby>, [">= 0.8.3"])
|
31
33
|
s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
|
32
|
-
s.add_development_dependency(%q<newgem>, [">= 1.0
|
34
|
+
s.add_development_dependency(%q<newgem>, [">= 1.1.0"])
|
33
35
|
s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
|
34
36
|
else
|
35
37
|
s.add_dependency(%q<activesupport>, [">= 2.0.2"])
|
36
38
|
s.add_dependency(%q<libxml-ruby>, [">= 0.8.3"])
|
37
39
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
38
|
-
s.add_dependency(%q<newgem>, [">= 1.0
|
40
|
+
s.add_dependency(%q<newgem>, [">= 1.1.0"])
|
39
41
|
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
40
42
|
end
|
41
43
|
else
|
42
44
|
s.add_dependency(%q<activesupport>, [">= 2.0.2"])
|
43
45
|
s.add_dependency(%q<libxml-ruby>, [">= 0.8.3"])
|
44
46
|
s.add_dependency(%q<builder>, [">= 2.1.2"])
|
45
|
-
s.add_dependency(%q<newgem>, [">= 1.0
|
47
|
+
s.add_dependency(%q<newgem>, [">= 1.1.0"])
|
46
48
|
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
47
49
|
end
|
48
50
|
end
|
data/lib/consumer.rb
CHANGED
data/lib/consumer/mapping.rb
CHANGED
@@ -19,7 +19,7 @@ module Consumer::Mapping
|
|
19
19
|
# === Returns
|
20
20
|
# Nothing in particular
|
21
21
|
def association_from_xml(xml, association, klass = nil)
|
22
|
-
klass ||= association.to_s.capitalize.singularize.constantize
|
22
|
+
klass ||= association.to_s.capitalize.singularize.camelcase.constantize
|
23
23
|
|
24
24
|
association_instance = klass.from_xml(xml)
|
25
25
|
return if association_instance.nil?
|
@@ -103,7 +103,7 @@ module Consumer::Mapping
|
|
103
103
|
|
104
104
|
map[:associations].each do |association|
|
105
105
|
# TODO: spec
|
106
|
-
instance.association_from_xml(
|
106
|
+
instance.association_from_xml(node.to_s, association)
|
107
107
|
end
|
108
108
|
|
109
109
|
b = map[:block]
|
data/lib/consumer/request.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'net/https'
|
3
3
|
require 'yaml'
|
4
|
+
require 'ruby-debug'
|
4
5
|
|
5
6
|
##
|
6
7
|
# === Class Attrubutes
|
@@ -69,6 +70,20 @@ class Consumer::Request
|
|
69
70
|
include Consumer
|
70
71
|
|
71
72
|
class << self
|
73
|
+
def basic_authentication(*args)
|
74
|
+
@request_user, @request_pass = args if !args.empty?
|
75
|
+
end
|
76
|
+
|
77
|
+
def request_user(user = nil)
|
78
|
+
@request_user = user if user
|
79
|
+
@request_user
|
80
|
+
end
|
81
|
+
|
82
|
+
def request_pass(pass = nil)
|
83
|
+
@request_pass = pass if pass
|
84
|
+
@request_pass
|
85
|
+
end
|
86
|
+
|
72
87
|
def url(url = nil)
|
73
88
|
@url = url if url
|
74
89
|
@url
|
@@ -148,18 +163,18 @@ class Consumer::Request
|
|
148
163
|
|
149
164
|
@request_xml = self.to_xml_etc
|
150
165
|
|
151
|
-
http, uri = Helper.http_from_url(self.url)
|
152
166
|
head = defined?(self.headers) ? self.headers : {}
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
167
|
+
|
168
|
+
resp = nil
|
169
|
+
|
170
|
+
uri = URI.parse self.url
|
171
|
+
|
172
|
+
Net::HTTP.start(uri.host,uri.port) {|http|
|
173
|
+
req = Net::HTTP::Get.new(uri.request_uri)
|
174
|
+
req.basic_auth request_user, request_pass if request_user and request_pass
|
175
|
+
req.body = @request_xml
|
176
|
+
resp = http.request(req)
|
177
|
+
}
|
163
178
|
|
164
179
|
@response_xml = resp.body
|
165
180
|
puts "\n##### Response:\n\n#{Helper.tidy(@response_xml)}\n" if $DEBUG
|
@@ -168,7 +183,7 @@ class Consumer::Request
|
|
168
183
|
|
169
184
|
return response_class.from_xml(@response_xml)
|
170
185
|
end
|
171
|
-
|
186
|
+
|
172
187
|
def self.do(args = {})
|
173
188
|
self.new(args).do
|
174
189
|
end
|
@@ -198,6 +213,14 @@ class Consumer::Request
|
|
198
213
|
raise "Invalid response_class; see docs for naming conventions etc" if !ret
|
199
214
|
return Object.const_get(ret)
|
200
215
|
end
|
216
|
+
|
217
|
+
def request_user
|
218
|
+
self.class.request_user
|
219
|
+
end
|
220
|
+
|
221
|
+
def request_pass
|
222
|
+
self.class.request_pass
|
223
|
+
end
|
201
224
|
|
202
225
|
def error_paths
|
203
226
|
self.class.error_paths
|
@@ -218,7 +241,7 @@ class Consumer::Request
|
|
218
241
|
def defaults
|
219
242
|
self.class.defaults
|
220
243
|
end
|
221
|
-
|
244
|
+
|
222
245
|
def config_root
|
223
246
|
if defined?(RAILS_ROOT)
|
224
247
|
RAILS_ROOT + "/config"
|
@@ -277,4 +300,4 @@ private
|
|
277
300
|
hash.each {|k,v| hash[k.to_sym] = v;hash.delete(k.to_s)}
|
278
301
|
end
|
279
302
|
end
|
280
|
-
end
|
303
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: woahdae-consumer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Woody Peterson
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-02-05 00:00:00 -08:00
|
13
13
|
default_executable: consumer
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.0
|
49
|
+
version: 1.1.0
|
50
50
|
version:
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
52
|
name: hoe
|
@@ -175,6 +175,4 @@ specification_version: 2
|
|
175
175
|
summary: Consumer is a library for consuming xml resources via Builder, libxml, and some request sending / response marshaling glue
|
176
176
|
test_files:
|
177
177
|
- test/test_consumer_generator.rb
|
178
|
-
- test/test_consumer_plugin_request_generator.rb
|
179
178
|
- test/test_generator_helper.rb
|
180
|
-
- test/test_rails_request_generator.rb
|