soybean 2.3.0 → 2.4.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.4.0
@@ -0,0 +1,24 @@
1
+ module Soybean
2
+ module SoapAttribute
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ class_attribute :attributes, :instance_reader => true, :instance_writer => true
7
+ self.attributes = []
8
+ end
9
+
10
+ module ClassMethods
11
+ def soap_attribute(*attrs)
12
+ self.attributes += attrs
13
+ attr_accessor *attrs
14
+ attrs.each do |meth|
15
+ self.class_eval <<-RUBY
16
+ def #{meth.to_s.underscore}
17
+ #{meth}
18
+ end
19
+ RUBY
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,53 +1,45 @@
1
1
  module Soybean
2
- class ComplexType
3
- class_attribute :attributes, :instance_reader => true, :instance_writer => true
4
- self.attributes = []
2
+ module ComplexType
3
+ extend ActiveSupport::Concern
5
4
 
6
- class << self
7
- def attr_accessor(*attrs)
8
- self.attributes += attrs
9
- super
10
- attrs.each do |meth|
11
- self.class_eval <<-RUBY
12
- def #{meth}
13
- @#{meth} || @#{meth.to_s.camelize(:lower)}
14
- end
15
- RUBY
16
- end
17
- end
5
+ included do
6
+ include Soybean::SoapAttribute
18
7
  end
19
8
 
20
- def initialize(*args)
21
- hash = args.extract_options!
22
- if args.empty?
23
- init_from_hash(hash)
24
- else
25
- init_from_array(args)
9
+ module InstanceMethods
10
+ def initialize(*args)
11
+ hash = args.extract_options!
12
+ if args.empty?
13
+ init_from_hash(hash)
14
+ else
15
+ init_from_array(args)
16
+ end
26
17
  end
27
- end
28
18
 
29
- private
19
+ private
30
20
 
31
- # @param hash [Hash]
32
- def init_from_hash(hash)
33
- check_arguments_number!(hash)
34
- hash.each do |key, val|
35
- self.send key.to_sym, val
21
+ # @param hash [Hash]
22
+ def init_from_hash(hash)
23
+ check_arguments_number!(hash)
24
+ hash.each do |key, val|
25
+ self.send key.to_sym, val
26
+ end
36
27
  end
37
- end
38
28
 
39
- # @param arry [Array]
40
- def init_from_array(arry)
41
- check_arguments_number! arry
42
- attributes.each_with_index do |key, i|
43
- self.send "#{key}=".to_sym, arry.at(i)
29
+ # @param arry [Array]
30
+ def init_from_array(arry)
31
+ check_arguments_number! arry
32
+ attributes.each_with_index do |key, i|
33
+ self.send "#{key}=".to_sym, arry.at(i)
34
+ end
44
35
  end
45
- end
46
36
 
47
- def check_arguments_number!(args)
48
- if args.size != attributes.size
49
- raise ArgumentError, "wrong number of arguments(#{args.size} for #{attributes.size})"
37
+ def check_arguments_number!(args)
38
+ if args.size != attributes.size
39
+ raise ArgumentError, "wrong number of arguments(#{args.size} for #{attributes.size})"
40
+ end
50
41
  end
51
42
  end
43
+
52
44
  end
53
45
  end
@@ -6,7 +6,7 @@ module Soybean
6
6
  unless safevarname?(varname || attrname)
7
7
  raise ArgumentError.new("#{varname || attrname} seems to be unsafe")
8
8
  end
9
- @attrdef << [attrname.underscore, writable, varname.underscore]
9
+ @attrdef << [attrname, writable, varname]
10
10
  end
11
11
 
12
12
  def def_classvar(var, value)
@@ -19,7 +19,7 @@ module Soybean
19
19
 
20
20
  def def_method(name, *params)
21
21
  return if name == 'initialize'
22
- super name.underscore, *params.map(&:underscore)
22
+ super name, *params
23
23
  end
24
24
 
25
25
  def dump
@@ -75,13 +75,14 @@ module Soybean
75
75
  if @baseclass
76
76
  "class #{name.last} < #{@baseclass}\n"
77
77
  else
78
- "class #{name.last} < Soybean::ComplexType\n"
78
+ "class #{name.last}\n" <<
79
+ " include Soybean::ComplexType\n\n"
79
80
  end
80
81
  end
81
82
 
82
83
  def accessors
83
84
  @attrdef.map do |attrname, *|
84
- format("attr_accessor #{attrname.to_sym.inspect}\n", 2)
85
+ format("soap_attribute #{attrname.to_sym.inspect}\n", 2)
85
86
  end.join
86
87
  end
87
88
 
data/lib/soybean.rb CHANGED
@@ -6,6 +6,8 @@ require 'active_support/deprecation'
6
6
  require 'active_support/dependencies'
7
7
  require 'active_support/dependencies/autoload'
8
8
  require 'active_support/core_ext/module/delegation'
9
+ require 'active_support/concern'
10
+ require 'core_ext/module'
9
11
 
10
12
  $:.unshift File.absolute_path(File.join(File.dirname(__FILE__), '..', 'vendor/soap4r'))
11
13
 
data/soybean.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{soybean}
8
- s.version = "2.3.0"
8
+ s.version = "2.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Anton Sozontov"]
12
- s.date = %q{2011-10-07}
12
+ s.date = %q{2011-10-10}
13
13
  s.default_executable = %q{soybean}
14
14
  s.description = %q{Generate soap web-services from you wsdl. Generate: all classes from xsd, and other.}
15
15
  s.email = %q{a.sozontov@gmail.com}
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  "Rakefile",
29
29
  "VERSION",
30
30
  "bin/soybean",
31
+ "lib/core_ext/module.rb",
31
32
  "lib/soybean.rb",
32
33
  "lib/soybean/cli.rb",
33
34
  "lib/soybean/complex_type.rb",
@@ -517,7 +517,7 @@ module Mapping
517
517
  elename = XSD::QName.new(default_ns, varname)
518
518
  end
519
519
  SchemaElementDefinition.new(
520
- varname.underscore, mapped_class, elename, minoccurs, maxoccurs, as_any, as_array)
520
+ varname, mapped_class, elename, minoccurs, maxoccurs, as_any, as_array)
521
521
  end
522
522
  end
523
523
 
@@ -97,7 +97,7 @@ module MappingRegistryCreatorSupport
97
97
  else
98
98
  varname, name, type, occurrence = definition
99
99
  '[' + [
100
- varname.dump.underscore,
100
+ varname.dump,
101
101
  dump_type(name, type),
102
102
  dump_occurrence(occurrence)
103
103
  ].compact.join(', ') + ']'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soybean
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-07 00:00:00.000000000 +04:00
12
+ date: 2011-10-10 00:00:00.000000000 +04:00
13
13
  default_executable: soybean
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
17
- requirement: &4642340 !ruby/object:Gem::Requirement
17
+ requirement: &18254220 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *4642340
25
+ version_requirements: *18254220
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &4641260 !ruby/object:Gem::Requirement
28
+ requirement: &18205360 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '3.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *4641260
36
+ version_requirements: *18205360
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: i18n
39
- requirement: &4639600 !ruby/object:Gem::Requirement
39
+ requirement: &18202440 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *4639600
47
+ version_requirements: *18202440
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- requirement: &4638200 !ruby/object:Gem::Requirement
50
+ requirement: &18201240 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 2.3.0
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *4638200
58
+ version_requirements: *18201240
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: yard
61
- requirement: &4637120 !ruby/object:Gem::Requirement
61
+ requirement: &18198720 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.6.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *4637120
69
+ version_requirements: *18198720
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bundler
72
- requirement: &4635500 !ruby/object:Gem::Requirement
72
+ requirement: &18170680 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.0.0
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *4635500
80
+ version_requirements: *18170680
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: jeweler
83
- requirement: &4634520 !ruby/object:Gem::Requirement
83
+ requirement: &18168680 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 1.6.4
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *4634520
91
+ version_requirements: *18168680
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rcov
94
- requirement: &4633360 !ruby/object:Gem::Requirement
94
+ requirement: &18165660 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,7 +99,7 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *4633360
102
+ version_requirements: *18165660
103
103
  description: ! 'Generate soap web-services from you wsdl. Generate: all classes from
104
104
  xsd, and other.'
105
105
  email: a.sozontov@gmail.com
@@ -119,6 +119,7 @@ files:
119
119
  - Rakefile
120
120
  - VERSION
121
121
  - bin/soybean
122
+ - lib/core_ext/module.rb
122
123
  - lib/soybean.rb
123
124
  - lib/soybean/cli.rb
124
125
  - lib/soybean/complex_type.rb
@@ -316,7 +317,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
316
317
  version: '0'
317
318
  segments:
318
319
  - 0
319
- hash: -1409596823364250190
320
+ hash: -2874083597917324875
320
321
  required_rubygems_version: !ruby/object:Gem::Requirement
321
322
  none: false
322
323
  requirements: