module Squasher
Constants
- COLORS
- VERSION
Attributes
config[R]
Public Instance Methods
ask(*args)
click to toggle source
# File lib/squasher.rb, line 36 def ask(*args) tell(*args) $stdin.gets[0].downcase == 'y' end
clean()
click to toggle source
# File lib/squasher.rb, line 24 def clean Cleaner.process end
error(*args)
click to toggle source
# File lib/squasher.rb, line 52 def error(*args) tell(*args) abort end
print(message, options = {})
click to toggle source
# File lib/squasher.rb, line 48 def print(message, options = {}) puts message % options end
rake(command, description = nil)
click to toggle source
# File lib/squasher.rb, line 28 def rake(command, description = nil) tell(description) if description config.in_app_root do env = { 'RAILS_ENV' => 'development', 'DISABLE_DATABASE_ENVIRONMENT_CHECK' => '1' } system(env, "bundle exec rake #{ command }") end end
setup(options)
click to toggle source
# File lib/squasher.rb, line 14 def setup(options) options.each { |(k, v)| config.set(k, v) } end
squash(raw_date)
click to toggle source
# File lib/squasher.rb, line 18 def squash(raw_date) parts = raw_date.to_s.split('/').map(&:to_i) date = Time.new(*parts) Worker.process(date) end
tell(key, options = {})
click to toggle source
# File lib/squasher.rb, line 41 def tell(key, options = {}) message = messages.fetch(key.to_s) message = message.join("\n") if message.is_a?(Array) message = colorize(message) print(message, options) end
Private Instance Methods
colorize(message)
click to toggle source
# File lib/squasher.rb, line 69 def colorize(message) message.gsub(/\:(\w+)\<([^>]+)\>/) { |_| "\033[#{ COLORS[$1] }m#{ $2 }\033[039m" } end
messages()
click to toggle source
# File lib/squasher.rb, line 59 def messages return @messages if @messages require 'yaml' path = File.join(File.dirname(__FILE__), 'squasher/messages.yml') @messages = YAML.load(File.open(path)) end