puts caller(0,10); binding.pry
monitor certain field on model
class YourModel < ActiveRecord::Base
def myfield=(*args)
puts ">>>>>>>>>>>>>>>>>> #{args}"
Rails.logger.debug "myfield called at #{Kernel.caller(0,100)}"
super(*args)
end
end
- find Model.new or Model.create
- remember delagated methods
def assert
define_method :equal do |expected|
return puts "\e[1;32mTest passed!\e[m" if yield == expected
puts "\e[1;31mTest failed -- got: #{yield} // expected: #{expected}\e[m"
end
end
use
assert{ method_to_test }.equal something
p testing_function == expected
or
puts method_to_tested(param) == whatever ? "\e[32mPassed\e[m" : "\e[31mFailed\e[m"
$ rails c
irb > load "#{Rails.root}/<wherever>/script_to_run_in_rails.rb"
Search a column name thorugh all tables in a database
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%column_name%'
AND TABLE_SCHEMA='database_name';