yieldmanager 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -0
- data/README.rdoc +12 -1
- data/VERSION +1 -1
- data/lib/yieldmanager/builder.rb +4 -2
- data/lib/yieldmanager/client.rb +42 -1
- data/spec/spec_helper.rb +11 -5
- data/spec/yieldmanager/builder_spec.rb +1 -1
- data/yieldmanager.gemspec +3 -2
- metadata +6 -5
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/README.rdoc
CHANGED
@@ -134,6 +134,13 @@ raised during processing. It's the recommended method to ensure you don't
|
|
134
134
|
hang connections when things go wrong. If you use start/end, make sure you
|
135
135
|
wrap your logic in a begin/ensure clause and call end_session from the ensure.
|
136
136
|
|
137
|
+
== RE: Ruby 1.9
|
138
|
+
|
139
|
+
In an effort to be a good ruby citizen, KarateCode and I have made the gem
|
140
|
+
1.9 compatible, but it is based on soap4r 1.5.8, which generates some warnings
|
141
|
+
in 1.9. Until a newer version of soap4r is released, you may see some of these
|
142
|
+
warnings at runtime. Rest assured I'll upgrade as soon as soap4r does.
|
143
|
+
|
137
144
|
== Note on Patches/Pull Requests
|
138
145
|
|
139
146
|
* Fork the project.
|
@@ -145,6 +152,10 @@ wrap your logic in a begin/ensure clause and call end_session from the ensure.
|
|
145
152
|
bump version in a commit by itself I can ignore when I pull)
|
146
153
|
* Send me a pull request. Bonus points for topic branches.
|
147
154
|
|
155
|
+
== Thanks for contributing!
|
156
|
+
* manlycode[https://github.com/manlycode] (Chris Rittersdorf)
|
157
|
+
* KarateCode[https://github.com/KarateCode] (Michael Schneider)
|
158
|
+
|
148
159
|
== Copyright
|
149
160
|
|
150
|
-
Copyright (c) 2009 Bill Gathen. See LICENSE for details.
|
161
|
+
Copyright (c) 2009-2011 Bill Gathen. See LICENSE for details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/lib/yieldmanager/builder.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'open-uri'
|
2
|
-
|
2
|
+
if RUBY_VERSION[0,3] != "1.9"
|
3
|
+
require 'ftools'
|
4
|
+
end
|
3
5
|
require 'fileutils'
|
4
6
|
|
5
7
|
module Yieldmanager
|
@@ -39,7 +41,7 @@ private
|
|
39
41
|
if File.exists?(dir)
|
40
42
|
FileUtils.rm_rf dir
|
41
43
|
end
|
42
|
-
|
44
|
+
FileUtils::mkdir_p(dir)
|
43
45
|
end
|
44
46
|
end
|
45
47
|
|
data/lib/yieldmanager/client.rb
CHANGED
@@ -3,6 +3,47 @@ require 'soap/wsdlDriver'
|
|
3
3
|
require 'open-uri'
|
4
4
|
require 'hpricot'
|
5
5
|
|
6
|
+
# 1.8.7 uses Hash#index as the norm, but 1.9.2 uses Hash#key
|
7
|
+
if RUBY_VERSION[0,3] == "1.9"
|
8
|
+
class SOAP::RPC::SOAPMethod
|
9
|
+
private
|
10
|
+
def init_param(param_def)
|
11
|
+
param_def.each do |io_type, name, param_type|
|
12
|
+
mapped_class, nsdef, namedef = SOAP::RPC::SOAPMethod.parse_param_type(param_type)
|
13
|
+
if nsdef && namedef
|
14
|
+
type_qname = XSD::QName.new(nsdef, namedef)
|
15
|
+
elsif mapped_class
|
16
|
+
# Ruby 1.8.7 way:
|
17
|
+
# type_qname = TypeMap.index(mapped_class)
|
18
|
+
# Ruby 1.9.2 way:
|
19
|
+
type_qname = TypeMap.key(mapped_class)
|
20
|
+
end
|
21
|
+
case io_type
|
22
|
+
when IN
|
23
|
+
@signature.push([IN, name, type_qname])
|
24
|
+
@inparam_names.push(name)
|
25
|
+
when OUT
|
26
|
+
@signature.push([OUT, name, type_qname])
|
27
|
+
@outparam_names.push(name)
|
28
|
+
when INOUT
|
29
|
+
@signature.push([INOUT, name, type_qname])
|
30
|
+
@inoutparam_names.push(name)
|
31
|
+
when RETVAL
|
32
|
+
if @retval_name
|
33
|
+
raise MethodDefinitionError.new('duplicated retval')
|
34
|
+
end
|
35
|
+
@retval_name = name
|
36
|
+
@retval_class_name = mapped_class
|
37
|
+
else
|
38
|
+
raise MethodDefinitionError.new("unknown type: #{io_type}")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
|
6
47
|
# Monkey-patch to eliminate bogus "cannot be null" errors from YM wsdl
|
7
48
|
class WSDL::XMLSchema::SimpleType
|
8
49
|
private
|
@@ -155,4 +196,4 @@ private
|
|
155
196
|
SOAP::WSDLDriverFactory.new(wsdl_path).create_rpc_driver
|
156
197
|
end
|
157
198
|
end
|
158
|
-
end
|
199
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
3
|
require 'yieldmanager'
|
4
|
-
|
5
|
-
require 'spec
|
6
|
-
require '
|
7
|
-
Spec::Runner.configure do |config|
|
8
|
-
|
4
|
+
begin
|
5
|
+
require 'spec'
|
6
|
+
require 'spec/autorun'
|
7
|
+
Spec::Runner.configure do |config|
|
8
|
+
end
|
9
|
+
rescue LoadError
|
10
|
+
require 'rspec'
|
11
|
+
require 'rspec/autorun'
|
12
|
+
Rspec.configure do |config|
|
13
|
+
end
|
9
14
|
end
|
15
|
+
require 'patch_detector'
|
@@ -28,7 +28,7 @@ describe "A build run" do
|
|
28
28
|
["test","prod"].each do |env|
|
29
29
|
dir = "#{WSDL_DIR}/#{API_VERSION}/#{env}"
|
30
30
|
bad_wsdl = "#{dir}/bad.wsdl"
|
31
|
-
|
31
|
+
FileUtils::mkdir_p(dir)
|
32
32
|
File.open(bad_wsdl, "w") { |file| file.write("bad.wsdl") }
|
33
33
|
Yieldmanager::Builder.build_wsdls_for(API_VERSION)
|
34
34
|
File.exists?(bad_wsdl).should be_false
|
data/yieldmanager.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{yieldmanager}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.7.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bill Gathen"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-01-05}
|
13
13
|
s.description = %q{This gem offers full access to YieldManager's API tools (read/write) as well as ad-hoc reporting through the Reportware tool}
|
14
14
|
s.email = %q{bill@billgathen.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
]
|
20
20
|
s.files = [
|
21
21
|
".document",
|
22
|
+
".rspec",
|
22
23
|
"LICENSE",
|
23
24
|
"README.rdoc",
|
24
25
|
"Rakefile",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yieldmanager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 7
|
9
|
+
- 0
|
10
|
+
version: 0.7.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bill Gathen
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-05 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -62,6 +62,7 @@ extra_rdoc_files:
|
|
62
62
|
- TODO
|
63
63
|
files:
|
64
64
|
- .document
|
65
|
+
- .rspec
|
65
66
|
- LICENSE
|
66
67
|
- README.rdoc
|
67
68
|
- Rakefile
|