saxy 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/saxy.rb CHANGED
@@ -1,7 +1,4 @@
1
- require "saxy/element"
2
- require "saxy/parser"
3
- require "saxy/parsing_error"
4
- require "saxy/version"
1
+ require 'saxy/version'
5
2
 
6
3
  module Saxy
7
4
  class << self
@@ -16,7 +13,12 @@ module Saxy
16
13
  end
17
14
 
18
15
  def ruby_18?
19
- RUBY_VERSION =~ /^1\.8/
16
+ @ruby_18 ||= RUBY_VERSION =~ /^1\.8/
20
17
  end
21
18
  end
22
19
  end
20
+
21
+ require 'saxy/element'
22
+ require 'saxy/ostruct'
23
+ require 'saxy/parser'
24
+ require 'saxy/parsing_error'
data/lib/saxy/element.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'active_support/core_ext/string/inflections'
2
- require 'ostruct'
3
2
 
4
3
  module Saxy
5
4
  class Element
@@ -40,4 +39,4 @@ module Saxy
40
39
  name.underscore
41
40
  end
42
41
  end
43
- end
42
+ end
@@ -0,0 +1,11 @@
1
+ require 'ostruct'
2
+
3
+ module Saxy
4
+ class OpenStruct < ::OpenStruct
5
+ if Saxy.ruby_18?
6
+ define_method :id do
7
+ @table[:id]
8
+ end
9
+ end
10
+ end
11
+ end
data/lib/saxy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Saxy
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/saxy.gemspec CHANGED
@@ -18,5 +18,4 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency "activesupport"
19
19
  gem.add_dependency "nokogiri"
20
20
  gem.add_development_dependency "rspec"
21
- gem.add_development_dependency "ZenTest"
22
21
  end
@@ -37,4 +37,4 @@ describe Saxy::Element do
37
37
  element.set_attribute("foo", "baz")
38
38
  element.as_object.foo.should == ["bar", "baz"]
39
39
  end
40
- end
40
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe Saxy::OpenStruct do
4
+ let(:object) { Saxy::OpenStruct.new }
5
+
6
+ if Saxy.ruby_18?
7
+ context "in Ruby 1.8" do
8
+ it "should correctly set id attribute" do
9
+ object.id = 1
10
+ object.id.should == 1
11
+ end
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,90 +1,74 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: saxy
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 21
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 1
10
+ version: 0.2.1
6
11
  platform: ruby
7
- authors:
8
- - Michał Szajbe
12
+ authors:
13
+ - "Micha\xC5\x82 Szajbe"
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-02-08 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-02-11 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: activesupport
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: nokogiri
32
- requirement: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
33
24
  none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
38
32
  type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: nokogiri
39
36
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
37
+ requirement: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
47
49
  name: rspec
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
50
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: ZenTest
64
- requirement: !ruby/object:Gem::Requirement
51
+ requirement: &id003 !ruby/object:Gem::Requirement
65
52
  none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
70
60
  type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- description: Saxy finds object definitions in XML files and translates them into Ruby
79
- objects. It uses SAX parser under the hood, which means that it doesn't load the
80
- whole XML file into memory. It goes once though it and yields objects along the
81
- way.
82
- email:
61
+ version_requirements: *id003
62
+ description: Saxy finds object definitions in XML files and translates them into Ruby objects. It uses SAX parser under the hood, which means that it doesn't load the whole XML file into memory. It goes once though it and yields objects along the way.
63
+ email:
83
64
  - michal.szajbe@gmail.com
84
65
  executables: []
66
+
85
67
  extensions: []
68
+
86
69
  extra_rdoc_files: []
87
- files:
70
+
71
+ files:
88
72
  - .gitignore
89
73
  - .rspec
90
74
  - .travis.yml
@@ -94,6 +78,7 @@ files:
94
78
  - Rakefile
95
79
  - lib/saxy.rb
96
80
  - lib/saxy/element.rb
81
+ - lib/saxy/ostruct.rb
97
82
  - lib/saxy/parser.rb
98
83
  - lib/saxy/parsing_error.rb
99
84
  - lib/saxy/version.rb
@@ -101,38 +86,48 @@ files:
101
86
  - spec/fixtures/webstore.xml
102
87
  - spec/fixtures_helper.rb
103
88
  - spec/saxy/element_spec.rb
89
+ - spec/saxy/ostruct_spec.rb
104
90
  - spec/saxy/parser_spec.rb
105
91
  - spec/saxy_spec.rb
106
92
  - spec/spec_helper.rb
107
93
  homepage: http://github.com/monterail/saxy
108
94
  licenses: []
95
+
109
96
  post_install_message:
110
97
  rdoc_options: []
111
- require_paths:
98
+
99
+ require_paths:
112
100
  - lib
113
- required_ruby_version: !ruby/object:Gem::Requirement
101
+ required_ruby_version: !ruby/object:Gem::Requirement
114
102
  none: false
115
- requirements:
116
- - - ! '>='
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
111
  none: false
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
125
119
  requirements: []
120
+
126
121
  rubyforge_project:
127
122
  rubygems_version: 1.8.24
128
123
  signing_key:
129
124
  specification_version: 3
130
- summary: Memory-efficient XML parser. Finds object definitions and translates them
131
- into Ruby objects.
132
- test_files:
125
+ summary: Memory-efficient XML parser. Finds object definitions and translates them into Ruby objects.
126
+ test_files:
133
127
  - spec/fixtures/webstore.xml
134
128
  - spec/fixtures_helper.rb
135
129
  - spec/saxy/element_spec.rb
130
+ - spec/saxy/ostruct_spec.rb
136
131
  - spec/saxy/parser_spec.rb
137
132
  - spec/saxy_spec.rb
138
133
  - spec/spec_helper.rb