fn_document 0.9.2
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/.document +5 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +20 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/fn_document.gemspec +95 -0
- data/lib/fn/block.rb +27 -0
- data/lib/fn/document.rb +204 -0
- data/lib/fn/migrate.xslt +224 -0
- data/lib/fn/node/base.rb +69 -0
- data/lib/fn/node/context.rb +70 -0
- data/lib/fn/node/root.rb +14 -0
- data/lib/fn/pdf/node/begin_document.rb +22 -0
- data/lib/fn/pdf/node/begin_page_ext.rb +24 -0
- data/lib/fn/pdf/node/create_textflow.rb +137 -0
- data/lib/fn/pdf/node/end_page_ext.rb +22 -0
- data/lib/fn/pdf/node/fit_image.rb +28 -0
- data/lib/fn/pdf/node/fit_pdi_page.rb +26 -0
- data/lib/fn/pdf/node/fit_textflow.rb +27 -0
- data/lib/fn/pdf/node/invert.rb +36 -0
- data/lib/fn/pdf/node/load_image.rb +21 -0
- data/lib/fn/pdf/node/open_pdi.rb +22 -0
- data/lib/fn/pdf/node/open_pdi_page.rb +31 -0
- data/lib/fn/pdf/node/resume_page.rb +21 -0
- data/lib/fn/pdf/node/set_parameter.rb +22 -0
- data/lib/fn/pdf/node/watermark.rb +24 -0
- data/lib/fn/pdf/struct.rb +40 -0
- data/lib/fn/pdf/writer.rb +205 -0
- data/lib/fn/resource.rb +53 -0
- data/lib/fn/swf/node/break.rb +19 -0
- data/lib/fn/swf/node/flash.rb +24 -0
- data/lib/fn/swf/node/font.rb +24 -0
- data/lib/fn/swf/node/frame.rb +19 -0
- data/lib/fn/swf/node/hot_spot.rb +43 -0
- data/lib/fn/swf/node/image.rb +19 -0
- data/lib/fn/swf/node/page.rb +30 -0
- data/lib/fn/swf/node/photo_block.rb +53 -0
- data/lib/fn/swf/node/text.rb +51 -0
- data/lib/fn/swf/struct.rb +43 -0
- data/lib/fn/swf/writer.rb +89 -0
- data/lib/fn/util.rb +27 -0
- data/lib/fn/validation.rng +172 -0
- data/lib/fn_document.rb +3 -0
- data/test/helper.rb +18 -0
- data/test/test_fn_document.rb +7 -0
- metadata +150 -0
data/lib/fn/util.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
gem "libxml-ruby", "=1.1.3"
|
3
|
+
gem "libxslt-ruby", "=0.9.2"
|
4
|
+
require 'libxml'
|
5
|
+
require 'libxslt'
|
6
|
+
include LibXML
|
7
|
+
include LibXSLT
|
8
|
+
|
9
|
+
module FN
|
10
|
+
class XMLTypeError < TypeError; end
|
11
|
+
|
12
|
+
module Util
|
13
|
+
|
14
|
+
def raise_unless_xml_doc(xml)
|
15
|
+
|
16
|
+
if !xml.is_a?(XML::Document)
|
17
|
+
raise XMLTypeError.new("Not a LibXML doc")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def raise_unless_xml_node(xml)
|
22
|
+
if !xml.is_a?(XML::Node)
|
23
|
+
raise XMLTypeError.new("Not a LibXML node")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,172 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<start>
|
4
|
+
<element name="document">
|
5
|
+
<attribute name="version">
|
6
|
+
<data type="integer"/>
|
7
|
+
</attribute>
|
8
|
+
<element name="resources">
|
9
|
+
<oneOrMore>
|
10
|
+
<element name="resource">
|
11
|
+
<attribute name="id" />
|
12
|
+
<attribute name="type">
|
13
|
+
<data type="NCName"/>
|
14
|
+
</attribute>
|
15
|
+
<text/>
|
16
|
+
</element>
|
17
|
+
</oneOrMore>
|
18
|
+
</element>
|
19
|
+
<element name="menu">
|
20
|
+
<empty/>
|
21
|
+
</element>
|
22
|
+
<element name="pages">
|
23
|
+
<oneOrMore>
|
24
|
+
<element name="page">
|
25
|
+
<attribute name="background">
|
26
|
+
<data type="NCName"/>
|
27
|
+
</attribute>
|
28
|
+
<attribute name="height">
|
29
|
+
<data type="integer"/>
|
30
|
+
</attribute>
|
31
|
+
<attribute name="hotspot"/>
|
32
|
+
<attribute name="number">
|
33
|
+
<data type="integer"/>
|
34
|
+
</attribute>
|
35
|
+
<attribute name="width">
|
36
|
+
<data type="integer"/>
|
37
|
+
</attribute>
|
38
|
+
<zeroOrMore>
|
39
|
+
<element name="slice">
|
40
|
+
<attribute name="height">
|
41
|
+
<data type="integer"/>
|
42
|
+
</attribute>
|
43
|
+
<attribute name="index">
|
44
|
+
<data type="integer"/>
|
45
|
+
</attribute>
|
46
|
+
<attribute name="width">
|
47
|
+
<data type="integer"/>
|
48
|
+
</attribute>
|
49
|
+
<attribute name="x">
|
50
|
+
<data type="integer"/>
|
51
|
+
</attribute>
|
52
|
+
<attribute name="y">
|
53
|
+
<data type="integer"/>
|
54
|
+
</attribute>
|
55
|
+
</element>
|
56
|
+
</zeroOrMore>
|
57
|
+
<oneOrMore>
|
58
|
+
<element name="block">
|
59
|
+
<optional>
|
60
|
+
<attribute name="align">
|
61
|
+
<data type="NCName"/>
|
62
|
+
</attribute>
|
63
|
+
</optional>
|
64
|
+
<optional>
|
65
|
+
<attribute name="boxHeight">
|
66
|
+
<data type="integer"/>
|
67
|
+
</attribute>
|
68
|
+
</optional>
|
69
|
+
<optional>
|
70
|
+
<attribute name="boxWidth">
|
71
|
+
<data type="integer"/>
|
72
|
+
</attribute>
|
73
|
+
</optional>
|
74
|
+
<optional>
|
75
|
+
<attribute name="boxX">
|
76
|
+
<data type="integer"/>
|
77
|
+
</attribute>
|
78
|
+
</optional>
|
79
|
+
<optional>
|
80
|
+
<attribute name="boxY">
|
81
|
+
<data type="integer"/>
|
82
|
+
</attribute>
|
83
|
+
</optional>
|
84
|
+
<optional>
|
85
|
+
<attribute name="height">
|
86
|
+
<data type="integer"/>
|
87
|
+
</attribute>
|
88
|
+
</optional>
|
89
|
+
<optional>
|
90
|
+
<attribute name="id">
|
91
|
+
<data type="integer"/>
|
92
|
+
</attribute>
|
93
|
+
</optional>
|
94
|
+
<optional>
|
95
|
+
<attribute name="index">
|
96
|
+
<data type="integer"/>
|
97
|
+
</attribute>
|
98
|
+
</optional>
|
99
|
+
<optional>
|
100
|
+
<attribute name="src">
|
101
|
+
<data type="NCName"/>
|
102
|
+
</attribute>
|
103
|
+
</optional>
|
104
|
+
<optional>
|
105
|
+
<attribute name="text">
|
106
|
+
<data type="integer"/>
|
107
|
+
</attribute>
|
108
|
+
</optional>
|
109
|
+
<attribute name="type">
|
110
|
+
<data type="NCName"/>
|
111
|
+
</attribute>
|
112
|
+
<attribute name="width">
|
113
|
+
<data type="integer"/>
|
114
|
+
</attribute>
|
115
|
+
<optional>
|
116
|
+
<attribute name="x">
|
117
|
+
<data type="integer"/>
|
118
|
+
</attribute>
|
119
|
+
</optional>
|
120
|
+
<optional>
|
121
|
+
<attribute name="y">
|
122
|
+
<data type="integer"/>
|
123
|
+
</attribute>
|
124
|
+
</optional>
|
125
|
+
<optional>
|
126
|
+
<attribute name="multipage" />
|
127
|
+
</optional>
|
128
|
+
</element>
|
129
|
+
</oneOrMore>
|
130
|
+
</element>
|
131
|
+
</oneOrMore>
|
132
|
+
</element>
|
133
|
+
<element name="texts">
|
134
|
+
<oneOrMore>
|
135
|
+
<choice>
|
136
|
+
<text/>
|
137
|
+
<element name="text">
|
138
|
+
<attribute name="id">
|
139
|
+
<data type="integer"/>
|
140
|
+
</attribute>
|
141
|
+
<oneOrMore>
|
142
|
+
<element name="p">
|
143
|
+
<attribute name="align">
|
144
|
+
<data type="NCName"/>
|
145
|
+
</attribute>
|
146
|
+
<choice>
|
147
|
+
<ref name="font"/>
|
148
|
+
<element name="i">
|
149
|
+
<ref name="font"/>
|
150
|
+
</element>
|
151
|
+
</choice>
|
152
|
+
</element>
|
153
|
+
</oneOrMore>
|
154
|
+
</element>
|
155
|
+
</choice>
|
156
|
+
</oneOrMore>
|
157
|
+
</element>
|
158
|
+
</element>
|
159
|
+
</start>
|
160
|
+
<define name="font">
|
161
|
+
<element name="font">
|
162
|
+
<attribute name="color"/>
|
163
|
+
<attribute name="face"/>
|
164
|
+
<attribute name="size">
|
165
|
+
<data type="integer"/>
|
166
|
+
</attribute>
|
167
|
+
<element name="textformat">
|
168
|
+
<text/>
|
169
|
+
</element>
|
170
|
+
</element>
|
171
|
+
</define>
|
172
|
+
</grammar>
|
data/lib/fn_document.rb
ADDED
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'fn_document'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fn_document
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.9.2
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Nathan Colgate Clark
|
9
|
+
- Kyle Maxwell
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
|
14
|
+
date: 2011-07-14 00:00:00 -07:00
|
15
|
+
default_executable:
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
name: shoulda
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
type: :development
|
26
|
+
prerelease: false
|
27
|
+
version_requirements: *id001
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 1.0.0
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: *id002
|
39
|
+
- !ruby/object:Gem::Dependency
|
40
|
+
name: jeweler
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.6.4
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: *id003
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: rcov
|
52
|
+
requirement: &id004 !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: *id004
|
61
|
+
description: Gem for handling documents within FASI AMS
|
62
|
+
email: nathancolgate@gmail.com
|
63
|
+
executables: []
|
64
|
+
|
65
|
+
extensions: []
|
66
|
+
|
67
|
+
extra_rdoc_files:
|
68
|
+
- LICENSE.txt
|
69
|
+
- README.rdoc
|
70
|
+
files:
|
71
|
+
- .document
|
72
|
+
- Gemfile
|
73
|
+
- Gemfile.lock
|
74
|
+
- LICENSE.txt
|
75
|
+
- README.rdoc
|
76
|
+
- Rakefile
|
77
|
+
- VERSION
|
78
|
+
- fn_document.gemspec
|
79
|
+
- lib/fn/block.rb
|
80
|
+
- lib/fn/document.rb
|
81
|
+
- lib/fn/migrate.xslt
|
82
|
+
- lib/fn/node/base.rb
|
83
|
+
- lib/fn/node/context.rb
|
84
|
+
- lib/fn/node/root.rb
|
85
|
+
- lib/fn/pdf/node/begin_document.rb
|
86
|
+
- lib/fn/pdf/node/begin_page_ext.rb
|
87
|
+
- lib/fn/pdf/node/create_textflow.rb
|
88
|
+
- lib/fn/pdf/node/end_page_ext.rb
|
89
|
+
- lib/fn/pdf/node/fit_image.rb
|
90
|
+
- lib/fn/pdf/node/fit_pdi_page.rb
|
91
|
+
- lib/fn/pdf/node/fit_textflow.rb
|
92
|
+
- lib/fn/pdf/node/invert.rb
|
93
|
+
- lib/fn/pdf/node/load_image.rb
|
94
|
+
- lib/fn/pdf/node/open_pdi.rb
|
95
|
+
- lib/fn/pdf/node/open_pdi_page.rb
|
96
|
+
- lib/fn/pdf/node/resume_page.rb
|
97
|
+
- lib/fn/pdf/node/set_parameter.rb
|
98
|
+
- lib/fn/pdf/node/watermark.rb
|
99
|
+
- lib/fn/pdf/struct.rb
|
100
|
+
- lib/fn/pdf/writer.rb
|
101
|
+
- lib/fn/resource.rb
|
102
|
+
- lib/fn/swf/node/break.rb
|
103
|
+
- lib/fn/swf/node/flash.rb
|
104
|
+
- lib/fn/swf/node/font.rb
|
105
|
+
- lib/fn/swf/node/frame.rb
|
106
|
+
- lib/fn/swf/node/hot_spot.rb
|
107
|
+
- lib/fn/swf/node/image.rb
|
108
|
+
- lib/fn/swf/node/page.rb
|
109
|
+
- lib/fn/swf/node/photo_block.rb
|
110
|
+
- lib/fn/swf/node/text.rb
|
111
|
+
- lib/fn/swf/struct.rb
|
112
|
+
- lib/fn/swf/writer.rb
|
113
|
+
- lib/fn/util.rb
|
114
|
+
- lib/fn/validation.rng
|
115
|
+
- lib/fn_document.rb
|
116
|
+
- test/helper.rb
|
117
|
+
- test/test_fn_document.rb
|
118
|
+
has_rdoc: true
|
119
|
+
homepage: http://github.com/nathancolgate/fn_document
|
120
|
+
licenses:
|
121
|
+
- MIT
|
122
|
+
post_install_message:
|
123
|
+
rdoc_options: []
|
124
|
+
|
125
|
+
require_paths:
|
126
|
+
- lib
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: -466449568882368545
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: "0"
|
142
|
+
requirements: []
|
143
|
+
|
144
|
+
rubyforge_project:
|
145
|
+
rubygems_version: 1.6.2
|
146
|
+
signing_key:
|
147
|
+
specification_version: 3
|
148
|
+
summary: Gem for handling documents within FASI AMS
|
149
|
+
test_files: []
|
150
|
+
|