schema_comments 0.2.0.alpha2 → 0.2.0.alpha3

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile CHANGED
@@ -19,4 +19,5 @@ group :development do
19
19
  gem "bundler", "~> 1.0.0"
20
20
  gem "jeweler", "~> 1.8.3"
21
21
  gem "simplecov", ">= 0"
22
+ gem "ZenTest"
22
23
  end
data/Gemfile.lock CHANGED
@@ -1,6 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ ZenTest (4.7.0)
4
5
  actionmailer (3.2.3)
5
6
  actionpack (= 3.2.3)
6
7
  mail (~> 2.4.4)
@@ -109,6 +110,7 @@ PLATFORMS
109
110
  ruby
110
111
 
111
112
  DEPENDENCIES
113
+ ZenTest
112
114
  activerecord (>= 3.0.0)
113
115
  activesupport (>= 3.0.0)
114
116
  bundler (~> 1.0.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0.alpha2
1
+ 0.2.0.alpha3
@@ -42,7 +42,7 @@ module SchemaComments
42
42
  klass.respond_to?(:table_exists?) and klass.table_exists?
43
43
  end
44
44
  subclasses.inject({}) do |d, m|
45
- comment = m.table_comment
45
+ comment = m.table_comment || ''
46
46
  comment.gsub!(ignore_pattern_to_export_i18n, '') if ignore_pattern_to_export_i18n
47
47
  d[m.name.underscore] = comment
48
48
  d
@@ -83,12 +83,12 @@ module SchemaComments
83
83
  module ConcreteAdapter
84
84
  def self.included(mod)
85
85
  mod.module_eval do
86
- alias_method_chain :columns, :schema_comments
87
- alias_method_chain :create_table, :schema_comments
88
- alias_method_chain :drop_table, :schema_comments
89
- alias_method_chain :rename_table, :schema_comments
86
+ alias_method_chain :columns , :schema_comments
87
+ alias_method_chain :create_table , :schema_comments
88
+ alias_method_chain :drop_table , :schema_comments
89
+ alias_method_chain :rename_table , :schema_comments
90
90
  alias_method_chain :remove_column, :schema_comments
91
- alias_method_chain :add_column, :schema_comments
91
+ alias_method_chain :add_column , :schema_comments
92
92
  alias_method_chain :change_column, :schema_comments
93
93
  alias_method_chain :rename_column, :schema_comments
94
94
  end
@@ -4,46 +4,28 @@ require 'hash_key_orderable'
4
4
 
5
5
  module SchemaComments
6
6
 
7
- # 現在はActiveRecord::Baseを継承していますが、将来移行が完全に終了した
8
- # 時点で、ActiveRecord::Baseの継承をやめます。
9
- #
10
- # それまではDBからのロードは可能ですが、YAMLにのみ保存します。
11
- class SchemaComment < ActiveRecord::Base
12
- set_table_name('schema_comments')
7
+ class SchemaComment
13
8
 
14
9
  TABLE_KEY = 'table_comments'
15
10
  COLUMN_KEY = 'column_comments'
16
11
 
17
12
  class << self
18
13
  def table_comment(table_name)
19
- if yaml_exist?
20
- @table_names ||= yaml_access{|db| db[TABLE_KEY]}.dup
21
- return @table_names[table_name.to_s]
22
- end
23
- return nil unless table_exists?
24
- connection.select_value(sanitize_conditions("select descriptions from schema_comments where table_name = '%s' and column_name is null" % table_name))
14
+ @table_names ||= yaml_access{|db| db[TABLE_KEY]}.dup
15
+ @table_names[table_name.to_s]
25
16
  end
26
17
 
27
18
  def column_comment(table_name, column_name)
28
- if yaml_exist?
29
- @column_names ||= yaml_access{|db| db[COLUMN_KEY] }.dup
30
- column_hash = @column_names[table_name.to_s] || {}
31
- return column_hash[column_name.to_s]
32
- end
33
- return nil unless table_exists?
34
- connection.select_value(sanitize_conditions("select descriptions from schema_comments where table_name = '%s' and column_name = '%s'" % [table_name, column_name]))
19
+ @column_names ||= yaml_access{|db| db[COLUMN_KEY] }.dup
20
+ column_hash = @column_names[table_name.to_s] || {}
21
+ column_hash[column_name.to_s]
35
22
  end
36
23
 
37
24
  def column_comments(table_name)
38
- if yaml_exist?
39
- result = nil
40
- @column_names ||= yaml_access{|db| db[COLUMN_KEY] }.dup
41
- result = @column_names[table_name.to_s]
42
- return result || {}
43
- end
44
- return {} unless table_exists?
45
- hash_array = connection.select_all(sanitize_conditions("select column_name, descriptions from schema_comments where table_name = '%s' and column_name is not null" % table_name))
46
- hash_array.inject({}){|dest, r| dest[r['column_name']] = r['descriptions']; dest}
25
+ result = nil
26
+ @column_names ||= yaml_access{|db| db[COLUMN_KEY] }.dup
27
+ result = @column_names[table_name.to_s]
28
+ result || {}
47
29
  end
48
30
 
49
31
  def save_table_comment(table_name, comment)
@@ -70,23 +52,19 @@ module SchemaComments
70
52
  end
71
53
 
72
54
  def update_table_name(table_name, new_name)
73
- if yaml_exist?
74
- yaml_access do |db|
75
- db[TABLE_KEY][new_name.to_s] = db[TABLE_KEY].delete(table_name.to_s)
76
- db[COLUMN_KEY][new_name.to_s] = db[COLUMN_KEY].delete(table_name.to_s)
77
- end
55
+ yaml_access do |db|
56
+ db[TABLE_KEY][new_name.to_s] = db[TABLE_KEY].delete(table_name.to_s)
57
+ db[COLUMN_KEY][new_name.to_s] = db[COLUMN_KEY].delete(table_name.to_s)
78
58
  end
79
59
  @table_names = nil
80
60
  @column_names = nil
81
61
  end
82
62
 
83
63
  def update_column_name(table_name, column_name, new_name)
84
- if yaml_exist?
85
- yaml_access do |db|
86
- table_cols = db[COLUMN_KEY][table_name.to_s]
87
- if table_cols
88
- table_cols[new_name.to_s] = table_cols.delete(column_name.to_s)
89
- end
64
+ yaml_access do |db|
65
+ table_cols = db[COLUMN_KEY][table_name.to_s]
66
+ if table_cols
67
+ table_cols[new_name.to_s] = table_cols.delete(column_name.to_s)
90
68
  end
91
69
  end
92
70
  @table_names = nil
@@ -118,7 +96,6 @@ module SchemaComments
118
96
  result
119
97
  end
120
98
  end
121
-
122
99
  end
123
100
 
124
101
  class SortedStore < YAML::Store
@@ -1,55 +1,38 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module SchemaComments
3
- module SchemaDumper
4
- def self.included(mod)
5
- # mod.extend(ClassMethods)
6
- # mod.instance_eval do
7
- # alias :ignore_tables_without_schema_comments :ignore_tables
8
- # alias :ignore_tables :ignore_tables_with_schema_comments
9
- # end
10
- mod.module_eval do
11
- alias_method_chain :tables, :schema_comments
12
- alias_method_chain :table, :schema_comments
13
- end
14
- end
15
-
16
- IGNORED_TABLE = 'schema_comments'
17
-
18
- # module ClassMethods
19
- # def ignore_tables_with_schema_comments
20
- # result = ignore_tables_without_schema_comments
21
- # result << IGNORED_TABLE unless result.include?(IGNORED_TABLE)
22
- # result
23
- # end
24
- # end
3
+ class SchemaDumper < ActiveRecord::SchemaDumper
25
4
 
26
5
  private
27
- def tables_with_schema_comments(stream)
28
- tables_without_schema_comments(stream)
29
- if adapter_name == "mysql"
30
- # ビューはtableの後に実行するようにしないと rake db:schema:load で失敗します。
31
- mysql_views(stream)
32
- end
6
+ def tables(stream)
7
+ result = super(stream)
8
+ # ビューはtableの後に実行するようにしないと rake db:schema:load で失敗します。
9
+ mysql_views(stream) if adapter_name == "mysql"
10
+ result
33
11
  end
34
12
 
35
- def table_with_schema_comments(table, stream)
36
- return if IGNORED_TABLE == table.downcase
13
+ def mysql_view?(table)
14
+ return false unless adapter_name == 'mysql'
15
+ config = ActiveRecord::Base.configurations[Rails.env]
16
+ match_count = @connection.select_value(
17
+ "select count(*) from information_schema.TABLES where TABLE_TYPE = 'VIEW' AND TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'" % [
18
+ config["database"], table])
19
+ match_count.to_i > 0
20
+ end
21
+
22
+ def table(table, stream)
37
23
  # MySQLは、ビューもテーブルとして扱うので、一個一個チェックします。
38
- if adapter_name == 'mysql'
39
- config = ActiveRecord::Base.configurations[Rails.env]
40
- match_count = @connection.select_value(
41
- "select count(*) from information_schema.TABLES where TABLE_TYPE = 'VIEW' AND TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'" % [
42
- config["database"], table])
43
- return if match_count.to_i > 0
44
- end
24
+ return if mysql_view?(table)
25
+
45
26
  columns = @connection.columns(table)
46
27
  begin
47
28
  tbl = StringIO.new
48
29
 
30
+ # first dump primary key column
49
31
  if @connection.respond_to?(:pk_and_sequence_for)
50
- pk, pk_seq = @connection.pk_and_sequence_for(table)
32
+ pk, _ = @connection.pk_and_sequence_for(table)
33
+ elsif @connection.respond_to?(:primary_key)
34
+ pk = @connection.primary_key(table)
51
35
  end
52
- pk ||= 'id'
53
36
 
54
37
  tbl.print " create_table #{table.inspect}"
55
38
  if columns.detect { |c| c.name == pk }
@@ -66,32 +49,38 @@ module SchemaComments
66
49
 
67
50
  tbl.puts " do |t|"
68
51
 
52
+ # then dump all non-primary key columns
69
53
  column_specs = columns.map do |column|
70
54
  raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" if @types[column.type].nil?
71
55
  next if column.name == pk
72
56
  spec = {}
73
57
  spec[:name] = column.name.inspect
74
- spec[:type] = column.type.to_s
75
- spec[:limit] = column.limit.inspect if column.limit != @types[column.type][:limit] && column.type != :decimal
76
- spec[:precision] = column.precision.inspect if !column.precision.nil?
77
- spec[:scale] = column.scale.inspect if !column.scale.nil?
78
- spec[:null] = 'false' if !column.null
79
- spec[:default] = default_string(column.default) if !column.default.nil?
58
+
59
+ # AR has an optimization which handles zero-scale decimals as integers. This
60
+ # code ensures that the dumper still dumps the column as a decimal.
61
+ spec[:type] = if column.type == :integer && [/^numeric/, /^decimal/].any? { |e| e.match(column.sql_type) }
62
+ 'decimal'
63
+ else
64
+ column.type.to_s
65
+ end
66
+ spec[:limit] = column.limit.inspect if column.limit != @types[column.type][:limit] && spec[:type] != 'decimal'
67
+ spec[:precision] = column.precision.inspect if column.precision
68
+ spec[:scale] = column.scale.inspect if column.scale
69
+ spec[:null] = 'false' unless column.null
70
+ spec[:default] = default_string(column.default) if column.has_default?
80
71
  spec[:comment] = '"' << (column.comment || '').gsub(/\"/, '\"') << '"' # ここでinspectを使うと最後の文字だけ文字化け(UTF-8のコード)になっちゃう
81
72
  (spec.keys - [:name, :type]).each{ |k| spec[k].insert(0, "#{k.inspect} => ")}
82
73
  spec
83
74
  end.compact
84
75
 
85
76
  # find all migration keys used in this table
86
- keys = [:name, :limit, :precision, :scale, :default, :null, :comment] & column_specs.map(&:keys).flatten
77
+ keys = [:name, :limit, :precision, :scale, :default, :null, :comment] & column_specs.map{ |k| k.keys }.flatten
87
78
 
88
79
  # figure out the lengths for each column based on above keys
89
- lengths = keys.map{ |key|
90
- column_specs.map{ |spec| spec[key] ? spec[key].length + 2 : 0 }.max
91
- }
80
+ lengths = keys.map{ |key| column_specs.map{ |spec| spec[key] ? spec[key].length + 2 : 0 }.max }
92
81
 
93
82
  # the string we're going to sprintf our values against, with standardized column widths
94
- format_string = lengths.map{|len| len ? "%-#{len}s" : "%s" }
83
+ format_string = lengths.map{ |len| "%-#{len}s" }
95
84
 
96
85
  # find the max length for the 'type' column, which is special
97
86
  type_length = column_specs.map{ |column| column[:type].length }.max
@@ -11,10 +11,8 @@ module SchemaComments
11
11
  autoload :SchemaComment, 'schema_comments/schema_comment'
12
12
  autoload :SchemaDumper, 'schema_comments/schema_dumper'
13
13
 
14
- # DEFAULT_YAML_PATH = File.expand_path(File.join(RAILS_ROOT, 'db/schema_comments.yml'))
15
-
16
14
  mattr_accessor :yaml_path
17
- # self.yaml_path = DEFAULT_YAML_PATH
15
+ self.yaml_path = Rails.root.join("db/schema_comments.yml").to_s if defined?(Rails)
18
16
 
19
17
  mattr_accessor :quiet
20
18
 
@@ -23,7 +21,7 @@ module SchemaComments
23
21
 
24
22
  class << self
25
23
  def setup
26
- base_names = %w(Base Migration Migrator Schema SchemaDumper) +
24
+ base_names = %w(Base Migration Migrator Schema) +
27
25
  %w(Column ColumnDefinition TableDefinition).map{|name| "ConnectionAdapters::#{name}"}
28
26
 
29
27
  base_names.each do |base_name|
@@ -41,7 +39,7 @@ module SchemaComments
41
39
  end
42
40
 
43
41
  # %w(Mysql PostgreSQL SQLite3 SQLite Firebird DB2 Oracle Sybase Openbase Frontbase)
44
- %w(Mysql PostgreSQL SQLite3 SQLite).each do |adapter|
42
+ %w(Mysql Mysql2 PostgreSQL SQLite3 SQLite).each do |adapter|
45
43
  begin
46
44
  require("active_record/connection_adapters/#{adapter.downcase}_adapter")
47
45
  adapter_class = ('ActiveRecord::ConnectionAdapters::' << "#{adapter}Adapter").constantize
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "schema_comments"
8
- s.version = "0.2.0.alpha2"
8
+ s.version = "0.2.0.alpha3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["akimatter"]
12
- s.date = "2012-04-16"
12
+ s.date = "2012-04-17"
13
13
  s.description = "schema_comments generates extra methods dynamically for attribute which has options"
14
14
  s.email = "akm2000@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -17,13 +17,13 @@ Gem::Specification.new do |s|
17
17
  "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
+ ".rspec",
20
21
  "Gemfile",
21
22
  "Gemfile.lock",
22
23
  "LICENSE.txt",
23
24
  "README.rdoc",
24
25
  "Rakefile",
25
26
  "VERSION",
26
- "autotest/discover.rb",
27
27
  "init.rb",
28
28
  "lib/annotate_models.rb",
29
29
  "lib/hash_key_orderable.rb",
@@ -91,6 +91,7 @@ Gem::Specification.new do |s|
91
91
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
92
92
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
93
93
  s.add_development_dependency(%q<simplecov>, [">= 0"])
94
+ s.add_development_dependency(%q<ZenTest>, [">= 0"])
94
95
  else
95
96
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
96
97
  s.add_dependency(%q<activerecord>, [">= 3.0.0"])
@@ -101,6 +102,7 @@ Gem::Specification.new do |s|
101
102
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
102
103
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
103
104
  s.add_dependency(%q<simplecov>, [">= 0"])
105
+ s.add_dependency(%q<ZenTest>, [">= 0"])
104
106
  end
105
107
  else
106
108
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
@@ -112,6 +114,7 @@ Gem::Specification.new do |s|
112
114
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
113
115
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
114
116
  s.add_dependency(%q<simplecov>, [">= 0"])
117
+ s.add_dependency(%q<ZenTest>, [">= 0"])
115
118
  end
116
119
  end
117
120
 
@@ -1,79 +1,43 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'yaml'
3
- require 'yaml_waml'
3
+ # require 'yaml_waml'
4
4
  require 'active_record'
5
+ require 'schema_comments'
6
+ require 'schema_comments/schema_comment'
5
7
 
6
- # テストを実行する際はschema_commentsのschema_comments.ymlへの出力を抑制します。
7
- namespace :db do
8
- Rake.application.send(:eval, "@tasks.delete('db:migrate')")
9
- desc "Migrate the database through scripts in db/migrate and update db/schema.rb by invoking db:schema:dump. Target specific version with VERSION=x. Turn off output with VERBOSE=false."
10
- task :migrate => :environment do
11
- SchemaComments::SchemaComment.yaml_access do
12
- ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
13
- ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
14
- SchemaComments.quiet = true
15
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
16
- end
17
- end
18
-
19
- Rake.application.send(:eval, "@tasks.delete('db:rollback')")
20
- desc 'Rolls the schema back to the previous version. Specify the number of steps with STEP=n'
21
- task :rollback => :environment do
22
- SchemaComments::SchemaComment.yaml_access do
23
- step = ENV['STEP'] ? ENV['STEP'].to_i : 1
24
- ActiveRecord::Migrator.rollback('db/migrate/', step)
25
- SchemaComments.quiet = true
26
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
27
- end
28
- end
29
-
30
- namespace :migrate do
31
- desc 'Runs the "up" for a given migration VERSION.'
32
- task :up => :environment do
33
- SchemaComments::SchemaComment.yaml_access do
34
- version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
35
- raise "VERSION is required" unless version
36
- ActiveRecord::Migrator.run(:up, "db/migrate/", version)
37
- SchemaComments.quiet = true
38
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
39
- end
40
- end
41
-
42
- desc 'Runs the "down" for a given migration VERSION.'
43
- task :down => :environment do
44
- SchemaComments::SchemaComment.yaml_access do
45
- version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
46
- raise "VERSION is required" unless version
47
- ActiveRecord::Migrator.run(:down, "db/migrate/", version)
48
- SchemaComments.quiet = true
49
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
50
- end
51
- end
52
- end
8
+ db_namespace = namespace :db do
9
+ namespace :schema do
53
10
 
54
- namespace :test do
55
- Rake.application.send(:eval, "@tasks.delete('db:test:prepare')")
56
- desc 'Check for pending migrations and load the test schema'
57
- task :prepare => 'db:abort_if_pending_migrations' do
58
- SchemaComments::SchemaComment.yaml_access do
59
- SchemaComments.quiet = true
60
- if defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
61
- Rake::Task[{ :sql => "db:test:clone_structure", :ruby => "db:test:load"
62
- }[ActiveRecord::Base.schema_format]].invoke
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
+ SchemaComments.setup
16
+ require 'active_record/schema_dumper'
17
+ filename = ENV['SCHEMA'] || "#{Rails.root}/db/schema.rb"
18
+ File.open(filename, "w:utf-8") do |file|
19
+ ActiveRecord::Base.establish_connection(Rails.env)
20
+ # ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
21
+ SchemaComments::SchemaDumper.dump(ActiveRecord::Base.connection, file)
63
22
  end
23
+ db_namespace['schema:dump'].reenable
24
+ rescue Exception => e
25
+ puts "[#{e.class}] #{e.message}:\n " << e.backtrace.join("\n ")
26
+ raise e
64
27
  end
65
28
  end
66
- end
67
29
 
30
+ end
68
31
  end
69
32
 
70
-
71
-
72
33
  class ActiveRecord::Base
73
34
  class << self
74
35
  attr_accessor :ignore_pattern_to_export_i18n
75
- self.ignore_pattern_to_export_i18n = /\(\(\(.*\)\)\)/
36
+ end
76
37
 
38
+ self.ignore_pattern_to_export_i18n = /\(\(\(.*\)\)\)/
39
+
40
+ class << self
77
41
  def export_i18n_models
78
42
  subclasses = ActiveRecord::Base.send(:subclasses).select do |klass|
79
43
  (klass != SchemaComments::SchemaComment) and
@@ -159,7 +123,7 @@ end
159
123
  namespace :i18n do
160
124
  namespace :schema_comments do
161
125
  task :load_all_models => :environment do
162
- Dir.glob(File.join(RAILS_ROOT, 'app', 'models', '**', '*.rb')) do |file_name|
126
+ Dir.glob(Rails.root.join('app/models/**/*.rb')) do |file_name|
163
127
  require file_name
164
128
  end
165
129
  end
@@ -182,7 +146,7 @@ namespace :i18n do
182
146
  task :update_config_locale => :"i18n:schema_comments:load_all_models" do
183
147
  require 'yaml/store'
184
148
  locale = (ENV['LOCALE'] || I18n.locale).to_s
185
- path = (ENV['YAML_PATH'] || File.join(RAILS_ROOT, "config/locales/#{locale}.yml"))
149
+ path = (ENV['YAML_PATH'] || Rails.root.join("config/locales/#{locale}.yml"))
186
150
  print "updating #{path}..."
187
151
 
188
152
  begin
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_comments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.alpha2
4
+ version: 0.2.0.alpha3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-16 00:00:00.000000000 Z
12
+ date: 2012-04-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &2158918000 !ruby/object:Gem::Requirement
16
+ requirement: &2168170300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2158918000
24
+ version_requirements: *2168170300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &2158916980 !ruby/object:Gem::Requirement
27
+ requirement: &2168169800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2158916980
35
+ version_requirements: *2168169800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2158916160 !ruby/object:Gem::Requirement
38
+ requirement: &2168169320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.8.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2158916160
46
+ version_requirements: *2168169320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec-rails
49
- requirement: &2158915500 !ruby/object:Gem::Requirement
49
+ requirement: &2168185180 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.8.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2158915500
57
+ version_requirements: *2168185180
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yard
60
- requirement: &2158915020 !ruby/object:Gem::Requirement
60
+ requirement: &2168184700 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.7'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2158915020
68
+ version_requirements: *2168184700
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc
71
- requirement: &2158974440 !ruby/object:Gem::Requirement
71
+ requirement: &2168184180 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '3.12'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2158974440
79
+ version_requirements: *2168184180
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: bundler
82
- requirement: &2158973900 !ruby/object:Gem::Requirement
82
+ requirement: &2168183700 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.0.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2158973900
90
+ version_requirements: *2168183700
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: jeweler
93
- requirement: &2158973420 !ruby/object:Gem::Requirement
93
+ requirement: &2168183180 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.8.3
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *2158973420
101
+ version_requirements: *2168183180
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: simplecov
104
- requirement: &2158972860 !ruby/object:Gem::Requirement
104
+ requirement: &2168182700 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,18 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *2158972860
112
+ version_requirements: *2168182700
113
+ - !ruby/object:Gem::Dependency
114
+ name: ZenTest
115
+ requirement: &2168182220 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *2168182220
113
124
  description: schema_comments generates extra methods dynamically for attribute which
114
125
  has options
115
126
  email: akm2000@gmail.com
@@ -119,13 +130,13 @@ extra_rdoc_files:
119
130
  - LICENSE.txt
120
131
  - README.rdoc
121
132
  files:
133
+ - .rspec
122
134
  - Gemfile
123
135
  - Gemfile.lock
124
136
  - LICENSE.txt
125
137
  - README.rdoc
126
138
  - Rakefile
127
139
  - VERSION
128
- - autotest/discover.rb
129
140
  - init.rb
130
141
  - lib/annotate_models.rb
131
142
  - lib/hash_key_orderable.rb
@@ -190,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
201
  version: '0'
191
202
  segments:
192
203
  - 0
193
- hash: -3771409335729466144
204
+ hash: -382324986614841609
194
205
  required_rubygems_version: !ruby/object:Gem::Requirement
195
206
  none: false
196
207
  requirements:
data/autotest/discover.rb DELETED
@@ -1,10 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- $KCODE='u'
3
-
4
- # Autotestを実行するためのスクリプトです。
5
- # see http://rails.aizatto.com/2007/11/19/autotest-ing-your-rails-plugin/
6
- # $:.push(File.join(File.dirname(__FILE__), %w[.. .. rspec]))
7
-
8
- Autotest.add_discovery do
9
- "rspec"
10
- end