lib/flextures/flextures.rb in flextures-1.9.7 vs lib/flextures/flextures.rb in flextures-1.9.8
- old
+ new
@@ -42,19 +42,38 @@
].each { |fn| load(fn) if File.exist?(fn) }
end
end
# テーブル情報の初期化
- def self.init_tables
+ def self.init_tables(ignore_tables=[])
tables = ActiveRecord::Base.connection.tables
tables.delete "schema_migrations"
- tables.each{ |name|
+ tables.delete ignore_tables
+ tables.each do |name|
# テーブルではなくviewを拾って止まる場合があるのでrescueしてしまう
begin
- Class.new(ActiveRecord::Base){ |o| o.table_name= name }.delete_all
+ klass = Class.new(ActiveRecord::Base){ |o| o.table_name= name }
+ klass.delete_all
rescue => e
+ p :init_table_error
+ p klass.table_name
end
- }
+ end
+ end
+
+ # デバッグ用のメソッド、渡されたブロックを実行する
+ # 主にテーブルの今の中身を覗きたい時に使う
+ def self.table_tap &dumper
+ tables = ActiveRecord::Base.connection.tables
+ tables.delete "schema_migrations"
+ tables.each do |name|
+ # テーブルではなくviewを拾って止まる場合があるのでrescueしてしまう
+ begin
+ klass = Class.new(ActiveRecord::Base){ |o| o.table_name= name; }
+ dumper.call klass
+ rescue => e
+ end
+ end
end
# 引数解析
module ARGS
# 書き出し 、読み込み すべきファイルとオプションを書きだす