fabulator-xml 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +1 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/features/types.feature +3 -3
- data/lib/fabulator/xml/actions.rb +29 -30
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- metadata +10 -7
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ begin
|
|
7
7
|
gem.email = "jgsmith@tamu.edu"
|
8
8
|
gem.homepage = "http://github.com/jgsmith/ruby-fabulator-xml"
|
9
9
|
gem.authors = ["James Smith"]
|
10
|
-
gem.add_dependency('fabulator', '>= 0.0.
|
10
|
+
gem.add_dependency('fabulator', '>= 0.0.9')
|
11
11
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
12
12
|
end
|
13
13
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/features/types.feature
CHANGED
@@ -13,7 +13,7 @@ Feature: Type unification
|
|
13
13
|
And the prefix x as "http://dh.tamu.edu/ns/fabulator/xml/1.0#"
|
14
14
|
When I run the expression (x:parse-string("<foo />")/@type)
|
15
15
|
Then I should get 1 item
|
16
|
-
And item 0 should be [f:uri
|
16
|
+
And item 0 should be [f:uri('x:document')]
|
17
17
|
|
18
18
|
Scenario: Get the type of a parsed string value
|
19
19
|
Given a context
|
@@ -21,7 +21,7 @@ Feature: Type unification
|
|
21
21
|
And the prefix x as "http://dh.tamu.edu/ns/fabulator/xml/1.0#"
|
22
22
|
When I run the expression (x:document("<foo />")/@type)
|
23
23
|
Then I should get 1 item
|
24
|
-
And item 0 should be [f:uri
|
24
|
+
And item 0 should be [f:uri('x:document')]
|
25
25
|
|
26
26
|
Scenario: Get the value of an element
|
27
27
|
Given a context
|
@@ -29,5 +29,5 @@ Feature: Type unification
|
|
29
29
|
And the prefix x as "http://dh.tamu.edu/ns/fabulator/xml/1.0#"
|
30
30
|
When I run the expression (x:path(x:parse-string("<foo><bar>baz</bar></foo>"), "/foo/bar")/@type)
|
31
31
|
Then I should get 1 item
|
32
|
-
And item 0 should be [f:uri
|
32
|
+
And item 0 should be [f:uri('x:node')]
|
33
33
|
|
@@ -8,37 +8,36 @@ module Fabulator
|
|
8
8
|
|
9
9
|
namespace XML_NS
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
11
|
+
has_type :document do
|
12
|
+
going_to [ FAB_NS, 'string' ] do
|
13
|
+
weight 1.0
|
14
|
+
converting do |x|
|
15
|
+
x.root.value.to_s
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
coming_from [ FAB_NS, 'string' ] do
|
20
|
+
weight 1.0
|
21
|
+
converting do |x|
|
22
|
+
(x.root.anon_node(LibXML::XML::Document.string(x.root.value), [ XML_NS, 'document' ]) rescue nil)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
(
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
]
|
41
|
-
}
|
27
|
+
has_type :node do
|
28
|
+
going_to [ FAB_NS, 'string' ] do
|
29
|
+
weight 1.0
|
30
|
+
converting do |x|
|
31
|
+
x.root.anon_node(
|
32
|
+
(
|
33
|
+
x.root.value.is_a?(LibXML::XML::Node) ? x.root.value.content :
|
34
|
+
x.root.value.is_a?(LibXML::XML::Attr) ? x.root.value.value :
|
35
|
+
x.root.value.to_s
|
36
|
+
), [ FAB_NS, 'string' ]
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
42
41
|
|
43
42
|
function 'parse-string', [ XML_NS, 'document' ] do |ctx, args|
|
44
43
|
args[0].collect { |a|
|
data/script/console
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
|
5
|
+
libs = " -r irb/completion"
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/fabulator-xml.rb'}"
|
9
|
+
puts "Loading fabulator-xml gem"
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/destroy'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/generate'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Generate.new.run(ARGV)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fabulator-xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 5
|
10
|
+
version: 0.0.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- James Smith
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-26 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 13
|
30
30
|
segments:
|
31
31
|
- 0
|
32
32
|
- 0
|
33
|
-
-
|
34
|
-
version: 0.0.
|
33
|
+
- 9
|
34
|
+
version: 0.0.9
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
description: XML functions and types for the Fabulator engine.
|
@@ -58,6 +58,9 @@ files:
|
|
58
58
|
- lib/fabulator/xml.rb
|
59
59
|
- lib/fabulator/xml/actions.rb
|
60
60
|
- lib/fabulator/xml/version.rb
|
61
|
+
- script/console
|
62
|
+
- script/destroy
|
63
|
+
- script/generate
|
61
64
|
- test/test_fabulator-xml.rb
|
62
65
|
- test/test_helper.rb
|
63
66
|
has_rdoc: true
|