acts_as_isdoc 0.0.1

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/test/schema.rb ADDED
@@ -0,0 +1,7 @@
1
+ # -*- encoding : utf-8 -*-
2
+ ActiveRecord::Schema.define(:version => 0) do
3
+ create_table :basic_invoices, :force => true do |t|
4
+ end
5
+ create_table :sample_invoices, :force => true do |t|
6
+ end
7
+ end
@@ -0,0 +1,74 @@
1
+ # -*- encoding : utf-8 -*-
2
+ ENV['RAILS_ENV'] = 'test'
3
+ ENV['RAILS_ROOT'] ||= File.dirname(__FILE__) + '/../../../..'
4
+
5
+ require 'rubygems'
6
+ require 'test/unit'
7
+ #require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config/environment.rb'))
8
+ require 'active_support'
9
+ require 'active_support/test_case'
10
+ require 'active_support/core_ext/logger'
11
+
12
+ # method source from http://guides.rubyonrails.org/plugins.html
13
+ def load_schema
14
+ config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
15
+ ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
16
+
17
+ db_adapter = ENV['DB']
18
+
19
+ # no db passed, try one of these fine config-free DBs before bombing.
20
+ db_adapter ||=
21
+ begin
22
+ require 'rubygems'
23
+ require 'sqlite'
24
+ 'sqlite'
25
+ rescue MissingSourceFile
26
+ begin
27
+ require 'sqlite3'
28
+ 'sqlite3'
29
+ rescue MissingSourceFile
30
+ end
31
+ end
32
+
33
+ if db_adapter.nil?
34
+ raise "No DB Adapter selected. Pass the DB= option to pick one, or install Sqlite or Sqlite3."
35
+ end
36
+
37
+ ActiveRecord::Base.establish_connection(config[db_adapter])
38
+ load(File.dirname(__FILE__) + "/schema.rb")
39
+ end
40
+
41
+ # validation code taken from http://htmltest.googlecode.com/svn/trunk/html_test/lib/validator.rb
42
+ def valid_isdoc?(body)
43
+ schema = File.join(File.dirname(__FILE__), "..", "schema", "isdoc-invoice-5.2.xsd")
44
+ error_file = create_tmp_file("xmllint_error")
45
+ doc_file = command = nil
46
+ doc_file = create_tmp_file("xmllint", body)
47
+ command = "xmllint --schema #{schema} --noout #{doc_file} &> #{error_file}"
48
+ system(command)
49
+ status = $?.exitstatus
50
+ if status == 0
51
+ return true
52
+ else
53
+ failure_doc = File.join(Dir::tmpdir, "xmllint_last_response.xml")
54
+ FileUtils.cp doc_file, failure_doc
55
+ raise ("command='#{command}'. ISDOC document at '#{failure_doc}'. " +
56
+ IO.read(error_file))
57
+ end
58
+ end
59
+
60
+ private
61
+ def create_tmp_file(name, contents = "")
62
+ tmp_file = Tempfile.new(name)
63
+ tmp_file.puts(contents)
64
+ tmp_file.close
65
+ tmp_file.path
66
+ end
67
+
68
+ def assert_file_equals(isdoc_file, fixture_file)
69
+ diff_file = create_tmp_file("diff_file")
70
+ command = "diff #{isdoc_file} #{fixture_file} >> #{diff_file}"
71
+ system(command)
72
+ diff = File.read(diff_file)
73
+ assert_equal "\n", diff, diff
74
+ end
data/uninstall.rb ADDED
@@ -0,0 +1,2 @@
1
+ # -*- encoding : utf-8 -*-
2
+ # Uninstall hook code here
metadata ADDED
@@ -0,0 +1,170 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: acts_as_isdoc
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Jiri Kubicek
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-11-21 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: builder
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: htmlentities
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
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
49
+ name: activesupport
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: activerecord
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ type: :runtime
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: htmlentities
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ type: :runtime
89
+ version_requirements: *id005
90
+ description: Rendering business objects in ISDOC format
91
+ email:
92
+ - jiri.kubicek@kraxnet.cz
93
+ executables: []
94
+
95
+ extensions: []
96
+
97
+ extra_rdoc_files: []
98
+
99
+ files:
100
+ - .gitignore
101
+ - Gemfile
102
+ - MIT-LICENSE
103
+ - README
104
+ - Rakefile
105
+ - acts_as_isdoc.gemspec
106
+ - init.rb
107
+ - install.rb
108
+ - lib/acts_as_isdoc.rb
109
+ - lib/acts_as_isdoc/version.rb
110
+ - lib/isdoc_output_builder.rb
111
+ - lib/tasks/acts_as_isdoc_tasks.rake
112
+ - schema/isdoc-invoice-5.2.xsd
113
+ - schema/isdoc-invoice-dsig-5.2.xsd
114
+ - schema/xmldsig-core-schema.xsd
115
+ - test/acts_as_isdoc_test.rb
116
+ - test/database.yml
117
+ - test/fixtures/basic_invoice.isdoc
118
+ - test/fixtures/basic_invoice.rb
119
+ - test/fixtures/extended_invoice.isdoc
120
+ - test/fixtures/extended_invoice.rb
121
+ - test/fixtures/sample_invoice.isdoc
122
+ - test/fixtures/sample_invoice.rb
123
+ - test/schema.rb
124
+ - test/test_helper.rb
125
+ - uninstall.rb
126
+ homepage: ""
127
+ licenses: []
128
+
129
+ post_install_message:
130
+ rdoc_options: []
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 3
140
+ segments:
141
+ - 0
142
+ version: "0"
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ requirements: []
153
+
154
+ rubyforge_project:
155
+ rubygems_version: 1.8.17
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Business objects in ISDOC format
159
+ test_files:
160
+ - test/acts_as_isdoc_test.rb
161
+ - test/database.yml
162
+ - test/fixtures/basic_invoice.isdoc
163
+ - test/fixtures/basic_invoice.rb
164
+ - test/fixtures/extended_invoice.isdoc
165
+ - test/fixtures/extended_invoice.rb
166
+ - test/fixtures/sample_invoice.isdoc
167
+ - test/fixtures/sample_invoice.rb
168
+ - test/schema.rb
169
+ - test/test_helper.rb
170
+ has_rdoc: