roxml 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'activesupport', '>= 2.3.0'
4
+ gem 'nokogiri', '>= 1.3.3'
5
+
6
+ group :development, :test do
7
+ gem 'rake'
8
+ gem 'jeweler'
9
+ gem "rspec", '>= 2.0.0'
10
+ gem "sqlite3-ruby", '>= 1.2.4'
11
+ gem "activerecord", '>= 2.2.2'
12
+ end
@@ -0,0 +1,50 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activemodel (3.1.3)
5
+ activesupport (= 3.1.3)
6
+ builder (~> 3.0.0)
7
+ i18n (~> 0.6)
8
+ activerecord (3.1.3)
9
+ activemodel (= 3.1.3)
10
+ activesupport (= 3.1.3)
11
+ arel (~> 2.2.1)
12
+ tzinfo (~> 0.3.29)
13
+ activesupport (3.1.3)
14
+ multi_json (~> 1.0)
15
+ arel (2.2.1)
16
+ builder (3.0.0)
17
+ diff-lcs (1.1.3)
18
+ git (1.2.5)
19
+ i18n (0.6.0)
20
+ jeweler (1.6.4)
21
+ bundler (~> 1.0)
22
+ git (>= 1.2.5)
23
+ rake
24
+ multi_json (1.0.4)
25
+ nokogiri (1.5.0)
26
+ rake (0.9.2.2)
27
+ rspec (2.8.0)
28
+ rspec-core (~> 2.8.0)
29
+ rspec-expectations (~> 2.8.0)
30
+ rspec-mocks (~> 2.8.0)
31
+ rspec-core (2.8.0)
32
+ rspec-expectations (2.8.0)
33
+ diff-lcs (~> 1.1.2)
34
+ rspec-mocks (2.8.0)
35
+ sqlite3 (1.3.5)
36
+ sqlite3-ruby (1.3.3)
37
+ sqlite3 (>= 1.3.3)
38
+ tzinfo (0.3.31)
39
+
40
+ PLATFORMS
41
+ ruby
42
+
43
+ DEPENDENCIES
44
+ activerecord (>= 2.2.2)
45
+ activesupport (>= 2.3.0)
46
+ jeweler
47
+ nokogiri (>= 1.3.3)
48
+ rake
49
+ rspec (>= 2.0.0)
50
+ sqlite3-ruby (>= 1.2.4)
data/Rakefile CHANGED
@@ -21,18 +21,8 @@ EOF
21
21
  gem.authors = ["Ben Woosley", "Zak Mandhro", "Anders Engstrom", "Russ Olsen"]
22
22
 
23
23
  gem.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.rdoc"]
24
-
25
- gem.add_dependency 'activesupport', '>= 2.3.0'
26
- gem.add_dependency 'nokogiri', '>= 1.3.3'
27
-
28
- gem.add_development_dependency "rspec", '>= 2.0.0'
29
- gem.add_development_dependency "sqlite3-ruby", '>= 1.2.4'
30
- gem.add_development_dependency "activerecord", '>= 2.2.2'
31
24
  end
32
25
  Jeweler::GemcutterTasks.new
33
- Jeweler::RubyforgeTasks.new do |rubyforge|
34
- rubyforge.doc_task = "rdoc"
35
- end
36
26
 
37
27
  Dir['tasks/**/*.rake'].each { |t| load t }
38
28
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.0
1
+ 3.2.1
@@ -171,9 +171,9 @@ module ROXML # :nodoc:
171
171
  end
172
172
 
173
173
  def roxml_naming_convention # :nodoc:
174
- (@roxml_naming_convention || begin
174
+ @roxml_naming_convention || begin
175
175
  superclass.roxml_naming_convention if superclass.respond_to?(:roxml_naming_convention)
176
- end).freeze
176
+ end
177
177
  end
178
178
 
179
179
  # Declares a reference to a certain xml element, whether an attribute, a node,
@@ -32,11 +32,12 @@ module ROXML
32
32
  end
33
33
 
34
34
  def value_in(xml)
35
- xml = XML::Node.from(xml)
36
- value = fetch_value(xml)
35
+ value = fetch_value(XML::Node.from(xml))
37
36
  value = default if value.nil?
38
37
 
39
- freeze(apply_blocks(value))
38
+ value = apply_blocks(value)
39
+ value = freeze(value) if value && opts.frozen?
40
+ value
40
41
  end
41
42
 
42
43
  private
@@ -67,12 +68,8 @@ module ROXML
67
68
  end
68
69
 
69
70
  def freeze(val)
70
- if opts.frozen?
71
- val.each(&:freeze) if val.is_a?(Enumerable)
72
- val.freeze
73
- else
74
- val
75
- end
71
+ val.each(&:freeze) if val.is_a?(Enumerable)
72
+ val.freeze
76
73
  end
77
74
 
78
75
  def xpath
@@ -269,12 +266,8 @@ module ROXML
269
266
  end
270
267
 
271
268
  def freeze(vals)
272
- if opts.frozen?
273
- vals.each_pair{|k, v| k.freeze; v.freeze }
274
- vals.freeze
275
- else
276
- vals
277
- end
269
+ vals.each_pair{|k, v| k.freeze; v.freeze }
270
+ vals.freeze
278
271
  end
279
272
 
280
273
  def to_hash(array)
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{roxml}
8
- s.version = "3.2.0"
8
+ s.version = "3.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Ben Woosley}, %q{Zak Mandhro}, %q{Anders Engstrom}, %q{Russ Olsen}]
12
- s.date = %q{2011-11-25}
12
+ s.date = %q{2012-01-05}
13
13
  s.description = %q{ROXML is a Ruby library designed to make it easier for Ruby developers to work with XML.
14
14
  Using simple annotations, it enables Ruby classes to be mapped to XML. ROXML takes care
15
15
  of the marshalling and unmarshalling of mapped attributes so that developers can focus on
@@ -24,6 +24,8 @@ RESTful applications, Web Services, and XML-RPC.
24
24
  s.files = [
25
25
  ".gitmodules",
26
26
  ".rspec",
27
+ "Gemfile",
28
+ "Gemfile.lock",
27
29
  "History.txt",
28
30
  "LICENSE",
29
31
  "README.rdoc",
@@ -63,6 +65,7 @@ RESTful applications, Web Services, and XML-RPC.
63
65
  "spec/examples/post_spec.rb",
64
66
  "spec/examples/twitter_spec.rb",
65
67
  "spec/reference_spec.rb",
68
+ "spec/regression_spec.rb",
66
69
  "spec/roxml_spec.rb",
67
70
  "spec/shared_specs.rb",
68
71
  "spec/spec_helper.rb",
@@ -139,12 +142,16 @@ RESTful applications, Web Services, and XML-RPC.
139
142
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
140
143
  s.add_runtime_dependency(%q<activesupport>, [">= 2.3.0"])
141
144
  s.add_runtime_dependency(%q<nokogiri>, [">= 1.3.3"])
145
+ s.add_development_dependency(%q<rake>, [">= 0"])
146
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
142
147
  s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
143
148
  s.add_development_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
144
149
  s.add_development_dependency(%q<activerecord>, [">= 2.2.2"])
145
150
  else
146
151
  s.add_dependency(%q<activesupport>, [">= 2.3.0"])
147
152
  s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
153
+ s.add_dependency(%q<rake>, [">= 0"])
154
+ s.add_dependency(%q<jeweler>, [">= 0"])
148
155
  s.add_dependency(%q<rspec>, [">= 2.0.0"])
149
156
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
150
157
  s.add_dependency(%q<activerecord>, [">= 2.2.2"])
@@ -152,6 +159,8 @@ RESTful applications, Web Services, and XML-RPC.
152
159
  else
153
160
  s.add_dependency(%q<activesupport>, [">= 2.3.0"])
154
161
  s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
162
+ s.add_dependency(%q<rake>, [">= 0"])
163
+ s.add_dependency(%q<jeweler>, [">= 0"])
155
164
  s.add_dependency(%q<rspec>, [">= 2.0.0"])
156
165
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.4"])
157
166
  s.add_dependency(%q<activerecord>, [">= 2.2.2"])
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe ROXML do
4
+ describe 'frozen nils' do
5
+ subject { nil }
6
+
7
+ context 'before unmarshalling an XML document' do
8
+ it { should_not be_frozen }
9
+ end
10
+
11
+ context 'after unmarshalling an XML document' do
12
+ before do
13
+ lib = Library.from_xml(fixture(:library))
14
+ end
15
+
16
+ it { should_not be_frozen }
17
+ end
18
+ end
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,11 +12,11 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2011-11-25 00:00:00.000000000Z
15
+ date: 2012-01-05 00:00:00.000000000Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
19
- requirement: &2153023980 !ruby/object:Gem::Requirement
19
+ requirement: &2165456080 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: 2.3.0
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *2153023980
27
+ version_requirements: *2165456080
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: nokogiri
30
- requirement: &2153023460 !ruby/object:Gem::Requirement
30
+ requirement: &2165455600 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,32 @@ dependencies:
35
35
  version: 1.3.3
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *2153023460
38
+ version_requirements: *2165455600
39
+ - !ruby/object:Gem::Dependency
40
+ name: rake
41
+ requirement: &2165455120 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: *2165455120
50
+ - !ruby/object:Gem::Dependency
51
+ name: jeweler
52
+ requirement: &2165454640 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ type: :development
59
+ prerelease: false
60
+ version_requirements: *2165454640
39
61
  - !ruby/object:Gem::Dependency
40
62
  name: rspec
41
- requirement: &2153022940 !ruby/object:Gem::Requirement
63
+ requirement: &2165454160 !ruby/object:Gem::Requirement
42
64
  none: false
43
65
  requirements:
44
66
  - - ! '>='
@@ -46,10 +68,10 @@ dependencies:
46
68
  version: 2.0.0
47
69
  type: :development
48
70
  prerelease: false
49
- version_requirements: *2153022940
71
+ version_requirements: *2165454160
50
72
  - !ruby/object:Gem::Dependency
51
73
  name: sqlite3-ruby
52
- requirement: &2153022340 !ruby/object:Gem::Requirement
74
+ requirement: &2165453680 !ruby/object:Gem::Requirement
53
75
  none: false
54
76
  requirements:
55
77
  - - ! '>='
@@ -57,10 +79,10 @@ dependencies:
57
79
  version: 1.2.4
58
80
  type: :development
59
81
  prerelease: false
60
- version_requirements: *2153022340
82
+ version_requirements: *2165453680
61
83
  - !ruby/object:Gem::Dependency
62
84
  name: activerecord
63
- requirement: &2153013780 !ruby/object:Gem::Requirement
85
+ requirement: &2165453200 !ruby/object:Gem::Requirement
64
86
  none: false
65
87
  requirements:
66
88
  - - ! '>='
@@ -68,7 +90,7 @@ dependencies:
68
90
  version: 2.2.2
69
91
  type: :development
70
92
  prerelease: false
71
- version_requirements: *2153013780
93
+ version_requirements: *2165453200
72
94
  description: ! 'ROXML is a Ruby library designed to make it easier for Ruby developers
73
95
  to work with XML.
74
96
 
@@ -93,6 +115,8 @@ extra_rdoc_files:
93
115
  files:
94
116
  - .gitmodules
95
117
  - .rspec
118
+ - Gemfile
119
+ - Gemfile.lock
96
120
  - History.txt
97
121
  - LICENSE
98
122
  - README.rdoc
@@ -132,6 +156,7 @@ files:
132
156
  - spec/examples/post_spec.rb
133
157
  - spec/examples/twitter_spec.rb
134
158
  - spec/reference_spec.rb
159
+ - spec/regression_spec.rb
135
160
  - spec/roxml_spec.rb
136
161
  - spec/shared_specs.rb
137
162
  - spec/spec_helper.rb