woahdae-consumer 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|