Sha256: c7c3bf8367b06b7ed5e564580de3043a3403ff9fe8acfd055d24d10d5f9c85fc
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
module TableHelper # テストで動的に定義したクラスメソッドを削除 def remove_dynamically_defined_class_method(klass) klass.methods.each do |method_name| if method_name.to_s =~ /^find_by_/ || method_name.to_s =~ /^find_all_by_/ klass.class_eval do class_variable_set(:@@target_method_name, method_name) class << self remove_method class_variable_get(:@@target_method_name) end remove_class_variable(:@@target_method_name) end end end end # テストで動的に定義したインスタンスメソッドを削除 def remove_dynamically_defined_instance_method(klass) klass.column_names.each do |column_name| getter = column_name if klass.instance_methods.include?(getter) klass.class_eval { remove_method getter } end setter = (column_name.to_s + "=").to_sym if klass.instance_methods.include?(setter) klass.class_eval { remove_method setter } end end end # Tableクラスでテストするために、一時的にDB Tableを作成する def create_tables_table_for_test db = Facemock::Database.new db.connection.execute <<-SQL CREATE TABLE TABLES ( id INTEGER PRIMARY KEY AUTOINCREMENT, text TEXT NOT NULL, active BOOLEAN, number INTEGER NOT NULL, created_at DATETIME NOT NULL ); SQL db.disconnect! end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
facemock-0.0.6 | spec/support/tables_helper.rb |
facemock-0.0.5 | spec/support/tables_helper.rb |