asir_xml 1.1.11 → 1.1.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NzljMzM4OWRlYzlmYTg4ZjZlODRlYmU5OTNlOGQ4OWI5ZWVlOWJlMA==
5
+ data.tar.gz: !binary |-
6
+ NDgyNTk0ZjZiZmUxZDM4ODI4YmI0NTFmY2UwOWMwMDc5MzRjZjgyMQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YTMyZDYyODhhNDI5MGFjOTg2NmQzZDE1NjVlOGJjMmI2YzEwNmE0ZDNlNzM2
10
+ NDE3YzZhOGNhMWQwMzFmYjZhNmMzZTEwMjA4NjgwYTllMzk5MzYyNmI0ZjI0
11
+ MjNiYTE5NjQyNjk1ZjU1MTE2ODY3NDc4MmEyMDcxNzdmNjJlMDA=
12
+ data.tar.gz: !binary |-
13
+ ODRiOTQ3NTE3NzkxZjJmZjc2YTI1N2U1MmQ5M2I1MmExNTk3YzEwYWExZDJl
14
+ OGQxY2U0YTQ2MTNmODdmODY3MDcwMDVmOWVhYWI0MjliM2FkYTljOGUwZTUx
15
+ OTAyYTI3MTczYWRiNmRlODJlZjViNWYyZjE3YTBhYjlmZGU5NTc=
@@ -0,0 +1 @@
1
+ -Xcext.enabled=true
@@ -10,3 +10,7 @@ rvm:
10
10
  - jruby-head
11
11
  - 1.8.7
12
12
  - ree
13
+
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
@@ -18,9 +18,15 @@ Gem::Specification.new do |gem|
18
18
  gem.require_paths = ["lib"]
19
19
 
20
20
  gem.add_dependency "asir", ">= 1.1.10"
21
- gem.add_dependency "libxml-ruby", "~> 2.3.3"
21
+
22
+ case (RUBY_PLATFORM rescue "UNKNOWN")
23
+ when /java/i
24
+ gem.add_development_dependency 'spoon', '>= 0.0'
25
+ else
26
+ gem.add_dependency "libxml-ruby", "~> 2.7.0"
27
+ end
22
28
 
23
29
  gem.add_development_dependency 'rake', '>= 0.9.0'
24
- gem.add_development_dependency 'rspec', '~> 2.12.0'
30
+ gem.add_development_dependency 'rspec', '~> 2.14.0'
25
31
  gem.add_development_dependency 'simplecov', '>= 0.1'
26
32
  end
@@ -39,11 +39,12 @@ def server_process &blk
39
39
  else
40
40
  $stderr.puts " spawning at #{__FILE__}:#{__LINE__}"
41
41
  ENV['ASIR_JRUBY_SPAWNED'] = "1"
42
- cmd = "ruby -I #{File.dirname(__FILE__)} -I #{File.expand_path('../../lib', __FILE__)} #{$0} #{ARGV * ' '}"
43
- $stderr.puts " cmd = #{cmd}"
44
- $server_pid = Spoon.spawnp(cmd)
42
+ cmd = [ RUBY_INTERPRETER_PATH, "-I", "#{File.dirname(__FILE__)}", "-I", "#{File.expand_path('../../lib', __FILE__)}", "#{$0}", *ARGV ]
43
+ $stderr.puts " cmd = #{cmd * ' '}"
44
+ $server_pid = Spoon.spawnp(*cmd)
45
45
  ENV.delete('ASIR_JRUBY_SPAWNED')
46
46
  $stderr.puts " spawned #{$server_pid} at #{__FILE__}:#{__LINE__}"
47
+ sleep 10
47
48
  end
48
49
  else
49
50
  # $stderr.puts " at #{__FILE__}:#{__LINE__}"
@@ -66,7 +67,12 @@ ensure
66
67
  $server_pid = nil
67
68
  end
68
69
 
70
+ require 'rbconfig'
71
+ RUBY_INTERPRETER_PATH = File.join(RbConfig::CONFIG["bindir"],
72
+ RbConfig::CONFIG["RUBY_INSTALL_NAME"] +
73
+ RbConfig::CONFIG["EXEEXT"])
69
74
  end
70
75
 
76
+
71
77
  puts "*** #{$$}: client process"; $stdout.flush
72
78
 
Binary file
@@ -1,7 +1,5 @@
1
1
  require 'asir'
2
2
  require 'asir/object_resolving'
3
- gem 'libxml-ruby'
4
- require 'xml'
5
3
 
6
4
  module ASIR
7
5
  class Coder
@@ -28,8 +26,8 @@ module ASIR
28
26
  @dom_id_map = { }
29
27
  @dom_id = 0
30
28
  @cls_tag_map = { }
31
- @parser = ::XML::Parser.string(@stream)
32
- @dom = @parser.parse
29
+ @parser = Parser.new
30
+ @dom = @parser.parse(@stream)
33
31
  decode_dom @dom.root
34
32
  end
35
33
 
@@ -213,3 +211,5 @@ module ASIR
213
211
  # !SLIDE END
214
212
  end
215
213
  end
214
+
215
+ require 'asir/coder/xml/parser'
@@ -0,0 +1,92 @@
1
+ require 'asir/coder/xml'
2
+
3
+ module ASIR
4
+ class Coder
5
+ class XML
6
+ class Parser
7
+ case (RUBY_PLATFORM rescue "UNKNOWN")
8
+ when /java/i
9
+ include Java
10
+ require File.expand_path('../../../../../jdom/jdom-2.0.5.jar', __FILE__)
11
+
12
+ def parse stream
13
+ case stream
14
+ when String
15
+ input_stream = java.io.ByteArrayInputStream.new(stream.to_java_bytes)
16
+ builder = org.jdom2.input.SAXBuilder.new
17
+ when IO
18
+ input_stream = stream.to_io
19
+ else
20
+ raise TypeError, "cannot parse #{stream.class.name}"
21
+ end
22
+ jdom = builder.build(input_stream)
23
+ Document.new(jdom)
24
+ end
25
+
26
+ # Make JDOM compatible with libXML DOM.
27
+ class BaseElement
28
+ def initialize j; @j = j; end
29
+ end
30
+
31
+ class Document < BaseElement
32
+ def root
33
+ Element.new(@j.getRootElement)
34
+ end
35
+ end
36
+
37
+ class Element < BaseElement
38
+ def name
39
+ @j.getName
40
+ end
41
+
42
+ def content
43
+ return @content if @content
44
+ @content = @j.getContent.map{ | a | a.getText.to_s } * ''
45
+ end
46
+
47
+ def attributes
48
+ return @attributes if @attributes
49
+ h = { }
50
+ @j.getAttributes.each { | a | h[a.getName] = a.getValue }
51
+ h.extend(IndifferentAccess)
52
+ @attributes = h
53
+ end
54
+
55
+ def elements
56
+ return @elements if @elements
57
+ @elements = @j.getChildren.map { | a | Element.new(a) }
58
+ end
59
+
60
+ def first; elements.first; end
61
+
62
+ def each_element &blk
63
+ elements.each &blk
64
+ end
65
+ end
66
+
67
+ module IndifferentAccess
68
+ def [] x
69
+ x = x.to_s if Symbol === x
70
+ super(x)
71
+ end
72
+ end
73
+
74
+ else
75
+ gem 'libxml-ruby'
76
+ require 'xml'
77
+
78
+ def parse stream
79
+ case stream
80
+ when String
81
+ ::XML::Parser.string(stream).parse
82
+ else
83
+ raise TypeError, "cannot parse #{stream.class.name}"
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+
92
+
@@ -1,3 +1,3 @@
1
1
  module AsirXml
2
- VERSION = "1.1.11"
2
+ VERSION = "1.1.12"
3
3
  end
@@ -48,7 +48,7 @@ describe "ASIR Example" do
48
48
  exc = system_exit = nil; exit_code = 0
49
49
  begin
50
50
  if true
51
- cmd = "ASIR_EXAMPLE_SILENT=1 ruby -I example -I lib #{file}"
51
+ cmd = "ASIR_EXAMPLE_SILENT=1 #{ruby} -I example -I lib #{file}"
52
52
  $stderr.puts "\n Running #{cmd}:" if ENV['SPEC_VERBOSE']
53
53
  output = `#{cmd} 2>&1 | tee #{file}.out`
54
54
  else
@@ -74,6 +74,13 @@ describe "ASIR Example" do
74
74
  end
75
75
  end
76
76
 
77
+ require 'rbconfig'
78
+ RUBY_INTERPRETER_PATH = File.join(RbConfig::CONFIG["bindir"],
79
+ RbConfig::CONFIG["RUBY_INSTALL_NAME"] +
80
+ RbConfig::CONFIG["EXEEXT"])
81
+
82
+ def ruby; RUBY_INTERPRETER_PATH; end
83
+
77
84
  def expect rx, mode = :'=~'
78
85
  @expects << [ rx, mode ]
79
86
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asir_xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.11
5
- prerelease:
4
+ version: 1.1.12
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kurt Stephens
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-29 00:00:00.000000000 Z
11
+ date: 2013-09-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: asir
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,23 +27,20 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: libxml-ruby
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: 2.3.3
33
+ version: 2.7.0
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: 2.3.3
40
+ version: 2.7.0
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,23 +55,20 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
69
- version: 2.12.0
61
+ version: 2.14.0
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
77
- version: 2.12.0
68
+ version: 2.14.0
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: simplecov
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -99,6 +88,7 @@ extensions: []
99
88
  extra_rdoc_files: []
100
89
  files:
101
90
  - .gitignore
91
+ - .jrubyrc
102
92
  - .rspec
103
93
  - .travis.yml
104
94
  - ChangeLog
@@ -109,7 +99,9 @@ files:
109
99
  - asir_xml.gemspec
110
100
  - example/ex01.rb
111
101
  - example/example_helper.rb
102
+ - jdom/jdom-2.0.5.jar
112
103
  - lib/asir/coder/xml.rb
104
+ - lib/asir/coder/xml/parser.rb
113
105
  - lib/asir_xml.rb
114
106
  - lib/asir_xml/version.rb
115
107
  - spec/example_spec.rb
@@ -117,33 +109,26 @@ files:
117
109
  - spec/xml_spec.rb
118
110
  homepage: http://github.com/kstephens/abstracting_services_in_ruby
119
111
  licenses: []
112
+ metadata: {}
120
113
  post_install_message:
121
114
  rdoc_options: []
122
115
  require_paths:
123
116
  - lib
124
117
  required_ruby_version: !ruby/object:Gem::Requirement
125
- none: false
126
118
  requirements:
127
119
  - - ! '>='
128
120
  - !ruby/object:Gem::Version
129
121
  version: '0'
130
- segments:
131
- - 0
132
- hash: -2373877049933297676
133
122
  required_rubygems_version: !ruby/object:Gem::Requirement
134
- none: false
135
123
  requirements:
136
124
  - - ! '>='
137
125
  - !ruby/object:Gem::Version
138
126
  version: '0'
139
- segments:
140
- - 0
141
- hash: -2373877049933297676
142
127
  requirements: []
143
128
  rubyforge_project:
144
- rubygems_version: 1.8.24
129
+ rubygems_version: 2.1.5
145
130
  signing_key:
146
- specification_version: 3
131
+ specification_version: 4
147
132
  summary: XML Coder for ASIR
148
133
  test_files:
149
134
  - spec/example_spec.rb