acts_as_isdoc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: