schema_comments 0.4.3 → 0.5.0
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.
- checksums.yaml +4 -4
- data/.gitignore +0 -5
- data/.rspec +1 -0
- data/.travis.yml +0 -1
- data/Gemfile +12 -1
- data/MIT-LICENSE +20 -0
- data/README.md +11 -84
- data/Rakefile +6 -0
- data/gemfiles/Gemfile.rails-4.0 +2 -0
- data/gemfiles/Gemfile.rails-4.1 +2 -0
- data/gemfiles/Gemfile.rails-4.2 +2 -0
- data/lib/schema_comments.rb +25 -4
- data/lib/schema_comments/connection_adapters.rb +0 -14
- data/lib/schema_comments/dummy_migration.rb +7 -0
- data/lib/schema_comments/railtie.rb +1 -0
- data/lib/schema_comments/schema_comment.rb +42 -10
- data/lib/schema_comments/schema_dumper.rb +8 -3
- data/lib/schema_comments/schema_dumper/mysql.rb +7 -2
- data/lib/schema_comments/tasks/schema_comments.rake +23 -155
- data/lib/schema_comments/version.rb +1 -1
- data/lib/tasks/schema_comments_tasks.rake +4 -0
- data/log/.keep +0 -0
- data/schema_comments.gemspec +21 -22
- metadata +15 -22
- data/LICENSE.txt +0 -60
- data/VERSION +0 -1
- data/bin/console +0 -14
- data/bin/setup +0 -7
- data/init.rb +0 -4
- data/lib/annotate_models.rb +0 -234
- data/lib/schema_comments/base.rb +0 -69
- data/lib/schema_comments/migration.rb +0 -16
- data/lib/schema_comments/migrator.rb +0 -16
- data/lib/schema_comments/tasks/alter_comments.rake +0 -53
- data/lib/schema_comments/tasks/annotate_models_tasks.rake +0 -12
@@ -80,7 +80,8 @@ module SchemaComments
|
|
80
80
|
spec[:null] = 'false' unless column.null
|
81
81
|
default = schema_default(column) if column.has_default?
|
82
82
|
spec[:default] = default unless default.nil?
|
83
|
-
|
83
|
+
column_comment = SchemaComment.column_comment(table, column.name)
|
84
|
+
spec[:comment] = '"' << (column_comment || '').gsub(/\"/, '\"') << '"' # ここでinspectを使うと最後の文字だけ文字化け(UTF-8のコード)になっちゃう
|
84
85
|
(spec.keys - [:name, :type]).each{ |k| spec[k].insert(0, "#{k.inspect} => ")}
|
85
86
|
spec
|
86
87
|
end.compact
|
@@ -120,6 +121,10 @@ module SchemaComments
|
|
120
121
|
stream.puts "# Could not dump table #{table.inspect} because of following #{e.class}"
|
121
122
|
stream.puts "# #{e.message}"
|
122
123
|
stream.puts
|
124
|
+
if ENV['RAILS_ENV'] == 'test'
|
125
|
+
$stderr.puts "[#{e.class.name}] #{e.message}"
|
126
|
+
$stderr.puts e.backtrace.join("\n ")
|
127
|
+
end
|
123
128
|
end
|
124
129
|
|
125
130
|
stream
|
@@ -161,13 +166,13 @@ module SchemaComments
|
|
161
166
|
klass = usage[:class]
|
162
167
|
method_caption = nil
|
163
168
|
if col = usage[:class].columns.detect{|c| c.name == usage[:enum_name]}
|
164
|
-
method_caption = col.
|
169
|
+
method_caption = SchemaComment.column_comment(klass.table_name, col.name)
|
165
170
|
end
|
166
171
|
method_caption ||= usage[:enum_name]
|
167
172
|
spec = {
|
168
173
|
:class_name => klass.name,
|
169
174
|
:methos_name => usage[:enum_name],
|
170
|
-
:class_caption => klass.
|
175
|
+
:class_caption => SchemaComment.table_comment(klass.table_name),
|
171
176
|
:method_caption => method_caption
|
172
177
|
}
|
173
178
|
specs << spec
|
@@ -92,7 +92,7 @@ HEADER
|
|
92
92
|
end
|
93
93
|
tbl.print ", :force => true"
|
94
94
|
|
95
|
-
table_comment =
|
95
|
+
table_comment = SchemaComment.table_comment(table)
|
96
96
|
tbl.print ", :comment => '#{table_comment}'" unless table_comment.blank?
|
97
97
|
|
98
98
|
tbl.puts " do |t|"
|
@@ -121,7 +121,8 @@ HEADER
|
|
121
121
|
if column.name == pk
|
122
122
|
spec[:comment] = '"AUTO_INCREMENT PRIMARY KEY by rails"'
|
123
123
|
else
|
124
|
-
|
124
|
+
column_comment = SchemaComment.column_comment(table, column.name)
|
125
|
+
spec[:comment] = '"' << (column_comment || '').gsub(/\"/, '\"') << '"' # ここでinspectを使うと最後の文字だけ文字化け(UTF-8のコード)になっちゃう
|
125
126
|
end
|
126
127
|
(spec.keys - [:name, :type]).each{ |k| spec[k].insert(0, "#{k.inspect} => ")}
|
127
128
|
spec
|
@@ -172,6 +173,10 @@ HEADER
|
|
172
173
|
stream.puts "# Could not dump table #{table.inspect} because of following #{e.class}"
|
173
174
|
stream.puts "# #{e.message}"
|
174
175
|
stream.puts
|
176
|
+
if ENV['RAILS_ENV'] == 'test'
|
177
|
+
$stderr.puts "[#{e.class.name}] #{e.message}"
|
178
|
+
$stderr.puts e.backtrace.join("\n ")
|
179
|
+
end
|
175
180
|
end
|
176
181
|
|
177
182
|
stream
|
@@ -1,168 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
require 'active_record'
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
Rake.application.send(:eval, "@tasks.delete('db:schema:dump')")
|
12
|
-
desc 'Create a db/schema.rb file that can be portably used against any DB supported by AR'
|
13
|
-
task :dump => [:environment, :load_config] do
|
14
|
-
begin
|
15
|
-
require 'active_record/schema_dumper'
|
16
|
-
filename = ENV['SCHEMA'] || "#{Rails.root}/db/schema.rb"
|
17
|
-
File.open(filename, "w:utf-8") do |file|
|
18
|
-
ActiveRecord::Base.establish_connection(Rails.env)
|
19
|
-
# ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
20
|
-
SchemaComments::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
21
|
-
end
|
22
|
-
db_namespace['schema:dump'].reenable
|
23
|
-
rescue Exception => e
|
24
|
-
puts "[#{e.class}] #{e.message}:\n " << e.backtrace.join("\n ")
|
25
|
-
raise e
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
class ActiveRecord::Base
|
33
|
-
class << self
|
34
|
-
attr_accessor :ignore_pattern_to_export_i18n
|
35
|
-
end
|
36
|
-
|
37
|
-
self.ignore_pattern_to_export_i18n = /\(\(\(.*\)\)\)/
|
38
|
-
|
39
|
-
class << self
|
40
|
-
def export_i18n_models
|
41
|
-
subclasses = ActiveRecord::Base.send(:subclasses).select do |klass|
|
42
|
-
(klass != SchemaComments::SchemaComment) and
|
43
|
-
klass.respond_to?(:table_exists?) and klass.table_exists?
|
44
|
-
end
|
45
|
-
result = subclasses.inject({}) do |d, m|
|
46
|
-
comment = (m.table_comment || '').dup
|
47
|
-
comment.gsub!(ignore_pattern_to_export_i18n, '') if ignore_pattern_to_export_i18n
|
48
|
-
# テーブル名(複数形)をモデル名(単数形)に
|
49
|
-
model_name = (comment.scan(/\[\[\[(?:model|class)(?:_name)?:\s*?([^\s]+?)\s*?\]\]\]/).flatten.first || m.name).underscore
|
50
|
-
comment.gsub!(/\[\[\[.*?\]\]\]/)
|
51
|
-
d[model_name] = comment
|
52
|
-
d
|
53
|
-
end
|
54
|
-
result.instance_eval do
|
55
|
-
def each_with_order(*args, &block)
|
56
|
-
self.keys.sort.each do |key|
|
57
|
-
yield(key, self[key])
|
58
|
-
end
|
59
|
-
end
|
60
|
-
alias :each_without_order :each
|
61
|
-
alias :each :each_with_order
|
62
|
-
end
|
63
|
-
result
|
64
|
-
end
|
65
|
-
|
66
|
-
def export_i18n_attributes
|
67
|
-
subclasses = ActiveRecord::Base.send(:subclasses).select do |klass|
|
68
|
-
(klass != SchemaComments::SchemaComment) and
|
69
|
-
klass.respond_to?(:table_exists?) and klass.table_exists?
|
70
|
-
end
|
71
|
-
result = subclasses.inject({}) do |d, m|
|
72
|
-
attrs = {}
|
73
|
-
m.columns.each do |col|
|
74
|
-
next if col.name == 'id'
|
75
|
-
comment = (col.comment || '').dup
|
76
|
-
comment.gsub!(ignore_pattern_to_export_i18n, '') if ignore_pattern_to_export_i18n
|
77
|
-
|
78
|
-
# カラム名を属性名に
|
79
|
-
attr_name = (comment.scan(/\[\[\[(?:attr|attribute)(?:_name)?:\s*?([^\s]+?)\s*?\]\]\]/).flatten.first || col.name)
|
80
|
-
comment.gsub!(/\[\[\[.*?\]\]\]/)
|
81
|
-
attrs[attr_name] = comment
|
82
|
-
end
|
83
|
-
|
84
|
-
column_names = m.columns.map(&:name) - ['id']
|
85
|
-
column_order_modeule = Module.new do
|
86
|
-
def each_with_column_order(*args, &block)
|
87
|
-
@column_names.each do |column_name|
|
88
|
-
yield(column_name, self[column_name])
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def self.extended(obj)
|
93
|
-
obj.instance_eval do
|
94
|
-
alias :each_without_column_order :each
|
95
|
-
alias :each :each_with_column_order
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
attrs.instance_variable_set(:@column_names, column_names)
|
100
|
-
attrs.extend(column_order_modeule)
|
101
|
-
|
102
|
-
# テーブル名(複数形)をモデル名(単数形)に
|
103
|
-
model_name = ((m.table_comment || '').scan(/\[\[\[(?:model|class)(?:_name)?:\s*?([^\s]+?)\s*?\]\]\]/).flatten.first || m.name).underscore
|
104
|
-
d[model_name] = attrs
|
105
|
-
d
|
106
|
-
end
|
107
|
-
|
108
|
-
result.instance_eval do
|
109
|
-
def each_with_order(*args, &block)
|
110
|
-
self.keys.sort.each do |key|
|
111
|
-
yield(key, self[key])
|
112
|
-
end
|
113
|
-
end
|
114
|
-
alias :each_without_order :each
|
115
|
-
alias :each :each_with_order
|
116
|
-
end
|
117
|
-
result
|
1
|
+
namespace :schema_comments do
|
2
|
+
desc 'Dump schema to db/schema.rb'
|
3
|
+
task :dump => :environment do
|
4
|
+
require 'active_record/schema_dumper'
|
5
|
+
filename = ENV['SCHEMA'] || Rails.root.join('db/schema.rb').to_s
|
6
|
+
File.open(filename, "w:utf-8") do |file|
|
7
|
+
ActiveRecord::Base.establish_connection(Rails.env)
|
8
|
+
# ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
9
|
+
SchemaComments::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
118
10
|
end
|
119
11
|
end
|
120
|
-
end
|
121
|
-
|
122
|
-
namespace :i18n do
|
123
|
-
namespace :schema_comments do
|
124
|
-
task :load_all_models => :environment do
|
125
|
-
Dir.glob(Rails.root.join('app/models/**/*.rb')) do |file_name|
|
126
|
-
require file_name
|
127
|
-
end
|
128
|
-
end
|
129
12
|
|
130
|
-
|
131
|
-
|
13
|
+
namespace :i18n do
|
14
|
+
desc "Show locale YAML"
|
15
|
+
task :show => :environment do
|
132
16
|
locale = (ENV['LOCALE'] || I18n.locale).to_s
|
133
|
-
|
134
|
-
puts YAML.dump(obj)
|
135
|
-
end
|
136
|
-
|
137
|
-
desc "Export i18n attributes resources from schema_comments. you can set locale with environment variable LOCALE"
|
138
|
-
task :export_attributes => :"i18n:schema_comments:load_all_models" do
|
139
|
-
locale = (ENV['LOCALE'] || I18n.locale).to_s
|
140
|
-
obj = {locale => {'activerecord' => {'attributes' => ActiveRecord::Base.export_i18n_attributes}}}
|
141
|
-
puts YAML.dump(obj)
|
17
|
+
puts SchemaComments::SchemaComment.locale_yaml(locale)
|
142
18
|
end
|
143
19
|
|
144
20
|
desc "update i18n YAML. you can set locale with environment variable LOCALE"
|
145
|
-
task :
|
146
|
-
require 'yaml/store'
|
21
|
+
task :update => :environment do
|
147
22
|
locale = (ENV['LOCALE'] || I18n.locale).to_s
|
148
23
|
path = (ENV['YAML_PATH'] || Rails.root.join("config/locales/#{locale}.yml"))
|
149
|
-
|
150
|
-
|
151
|
-
begin
|
152
|
-
db = YAML::Store.new(path)
|
153
|
-
db.transaction do
|
154
|
-
locale = db[locale] ||= {}
|
155
|
-
activerecord = locale['activerecord'] ||= {}
|
156
|
-
activerecord['models'] = ActiveRecord::Base.export_i18n_models
|
157
|
-
activerecord['attributes'] = ActiveRecord::Base.export_i18n_attributes
|
158
|
-
end
|
159
|
-
puts "Complete!"
|
160
|
-
rescue Exception
|
161
|
-
puts "Failure!!!"
|
162
|
-
puts $!.to_s
|
163
|
-
puts " " << $!.backtrace.join("\n ")
|
164
|
-
raise
|
24
|
+
open(path, 'w') do |f|
|
25
|
+
f.puts SchemaComments::SchemaComment.locale_yaml(locale)
|
165
26
|
end
|
166
27
|
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
if Rails.env.development?
|
33
|
+
Rake::Task['db:schema:dump'].enhance do
|
34
|
+
Rake::Task['schema_comments:dump'].invoke
|
167
35
|
end
|
168
36
|
end
|
data/log/.keep
ADDED
File without changes
|
data/schema_comments.gemspec
CHANGED
@@ -1,28 +1,27 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'schema_comments/version'
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "schema_comments/version"
|
5
3
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "schema_comments"
|
6
|
+
s.version = SchemaComments::VERSION
|
7
|
+
s.authors = ["akm"]
|
8
|
+
s.email = ["akm2000@gmail.com"]
|
9
|
+
s.homepage = "http://github.com/akm/schema_comments"
|
10
|
+
s.summary = "schema_comments generates extra methods dynamically for attribute which has options."
|
11
|
+
s.description = "schema_comments generates extra methods dynamically for attribute which has options."
|
12
|
+
s.license = "MIT"
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
15
|
+
# s.bindir = "exe"
|
16
|
+
# s.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
16
18
|
|
17
|
-
|
18
|
-
spec.bindir = "exe"
|
19
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
-
spec.require_paths = ["lib"]
|
19
|
+
s.test_files = Dir["test/**/*"]
|
21
20
|
|
22
|
-
|
23
|
-
|
21
|
+
s.add_runtime_dependency('activesupport', ">= 4.0.0")
|
22
|
+
s.add_runtime_dependency('activerecord', ">= 4.0.0")
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
s.add_development_dependency "bundler"
|
25
|
+
s.add_development_dependency "rake"
|
26
|
+
s.add_development_dependency "rspec"
|
28
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_comments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akm
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -42,30 +42,30 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,34 +92,27 @@ files:
|
|
92
92
|
- ".rspec"
|
93
93
|
- ".travis.yml"
|
94
94
|
- Gemfile
|
95
|
-
- LICENSE
|
95
|
+
- MIT-LICENSE
|
96
96
|
- README.md
|
97
97
|
- Rakefile
|
98
|
-
- VERSION
|
99
|
-
- bin/console
|
100
|
-
- bin/setup
|
101
98
|
- gemfiles/.gitignore
|
102
99
|
- gemfiles/Gemfile.rails-4.0
|
103
100
|
- gemfiles/Gemfile.rails-4.1
|
104
101
|
- gemfiles/Gemfile.rails-4.2
|
105
|
-
- init.rb
|
106
|
-
- lib/annotate_models.rb
|
107
102
|
- lib/hash_key_orderable.rb
|
108
103
|
- lib/schema_comments.rb
|
109
|
-
- lib/schema_comments/base.rb
|
110
104
|
- lib/schema_comments/connection_adapters.rb
|
111
|
-
- lib/schema_comments/
|
112
|
-
- lib/schema_comments/migrator.rb
|
105
|
+
- lib/schema_comments/dummy_migration.rb
|
113
106
|
- lib/schema_comments/railtie.rb
|
114
107
|
- lib/schema_comments/schema.rb
|
115
108
|
- lib/schema_comments/schema_comment.rb
|
116
109
|
- lib/schema_comments/schema_dumper.rb
|
117
110
|
- lib/schema_comments/schema_dumper/mysql.rb
|
118
111
|
- lib/schema_comments/task.rb
|
119
|
-
- lib/schema_comments/tasks/alter_comments.rake
|
120
|
-
- lib/schema_comments/tasks/annotate_models_tasks.rake
|
121
112
|
- lib/schema_comments/tasks/schema_comments.rake
|
122
113
|
- lib/schema_comments/version.rb
|
114
|
+
- lib/tasks/schema_comments_tasks.rake
|
115
|
+
- log/.keep
|
123
116
|
- schema_comments.gemspec
|
124
117
|
homepage: http://github.com/akm/schema_comments
|
125
118
|
licenses:
|
data/LICENSE.txt
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
Ruby License
|
2
|
-
http://www.ruby-lang.org/en/LICENSE.txt
|
3
|
-
|
4
|
-
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
|
5
|
-
You can redistribute it and/or modify it under either the terms of the GPL
|
6
|
-
(see COPYING.txt file), or the conditions below:
|
7
|
-
|
8
|
-
1. You may make and give away verbatim copies of the source form of the
|
9
|
-
software without restriction, provided that you duplicate all of the
|
10
|
-
original copyright notices and associated disclaimers.
|
11
|
-
|
12
|
-
2. You may modify your copy of the software in any way, provided that
|
13
|
-
you do at least ONE of the following:
|
14
|
-
|
15
|
-
a) place your modifications in the Public Domain or otherwise
|
16
|
-
make them Freely Available, such as by posting said
|
17
|
-
modifications to Usenet or an equivalent medium, or by allowing
|
18
|
-
the author to include your modifications in the software.
|
19
|
-
|
20
|
-
b) use the modified software only within your corporation or
|
21
|
-
organization.
|
22
|
-
|
23
|
-
c) rename any non-standard executables so the names do not conflict
|
24
|
-
with standard executables, which must also be provided.
|
25
|
-
|
26
|
-
d) make other distribution arrangements with the author.
|
27
|
-
|
28
|
-
3. You may distribute the software in object code or executable
|
29
|
-
form, provided that you do at least ONE of the following:
|
30
|
-
|
31
|
-
a) distribute the executables and library files of the software,
|
32
|
-
together with instructions (in the manual page or equivalent)
|
33
|
-
on where to get the original distribution.
|
34
|
-
|
35
|
-
b) accompany the distribution with the machine-readable source of
|
36
|
-
the software.
|
37
|
-
|
38
|
-
c) give non-standard executables non-standard names, with
|
39
|
-
instructions on where to get the original software distribution.
|
40
|
-
|
41
|
-
d) make other distribution arrangements with the author.
|
42
|
-
|
43
|
-
4. You may modify and include the part of the software into any other
|
44
|
-
software (possibly commercial). But some files in the distribution
|
45
|
-
are not written by the author, so that they are not under this terms.
|
46
|
-
|
47
|
-
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
48
|
-
files under the ./missing directory. See each file for the copying
|
49
|
-
condition.
|
50
|
-
|
51
|
-
5. The scripts and library files supplied as input to or produced as
|
52
|
-
output from the software do not automatically fall under the
|
53
|
-
copyright of the software, but belong to whomever generated them,
|
54
|
-
and may be sold commercially, and may be aggregated with this
|
55
|
-
software.
|
56
|
-
|
57
|
-
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
58
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
59
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
60
|
-
PURPOSE.
|