module Ridgepole::MigrationExt
Public Class Methods
prepended(klass)
click to toggle source
# File lib/ridgepole/migration_ext.rb, line 7 def self.prepended(klass) klass.class_eval do cattr_accessor :time_recorder cattr_accessor :disable_logging def self.record_time result = nil begin self.time_recorder = TimeRecorder.new yield result = time_recorder.result ensure self.time_recorder = nil end result end end end
record_time() { || ... }
click to toggle source
# File lib/ridgepole/migration_ext.rb, line 12 def self.record_time result = nil begin self.time_recorder = TimeRecorder.new yield result = time_recorder.result ensure self.time_recorder = nil end result end
Public Instance Methods
parse_text(text)
click to toggle source
# File lib/ridgepole/migration_ext.rb, line 34 def parse_text(text) return unless time_recorder case text when /\A--\s+(.+)\Z/ time_recorder.add_key(Regexp.last_match(1)) when /\A\s+->\s+(\d+\.\d+)s\Z/ time_recorder.add_value(Regexp.last_match(1).to_f) end end
write(text = '')
click to toggle source
# File lib/ridgepole/migration_ext.rb, line 28 def write(text = '') logger = Ridgepole::Logger.instance logger.info(text) unless disable_logging parse_text(text) end