class CitizenCodeScripts::Base
Attributes
argv[R]
Public Class Methods
description()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 65 def self.description "" end
help()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 47 def self.help msg = <<-HELP Help has not been implemented for "#{name}". Please implement a help method like so: class #{self} < CitizenCodeScripts::Base def self.help <<-EOF My awesome help message here. This will be so useful for people. EOF end end HELP puts msg end
inherited(klass)
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 24 def self.inherited(klass) CitizenCodeScripts::Base.script_classes << klass end
load_scripts_deferred()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 36 def self.load_scripts_deferred script_classes.reduce(Hash.new) do |result, klass| result[klass.name] = klass result end end
name()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 15 def self.name self .to_s .split('::') .last .gsub(/[A-Z]/, "-\\0") .downcase[1..-1] end
new(*argv)
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 11 def initialize(*argv) @argv = argv end
run(*args)
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 69 def self.run(*args) new(*args).run end
script_classes()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 28 def self.script_classes @script_classes ||= [] end
script_names()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 43 def self.script_names scripts.keys end
scripts()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 32 def self.scripts @scripts ||= load_scripts_deferred end
Public Instance Methods
app_names()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 88 def app_names YAML.load_file('citizen.yml')['heroku_app_names'] end
app_root()
click to toggle source
path to your application root.
# File lib/citizen_code_scripts/base.rb, line 74 def app_root Pathname.new(Dir.pwd) end
staging_app_name()
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 92 def staging_app_name app_names['staging'] end
step(name) { || ... }
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 83 def step(name) puts colorize(:info, "\n== #{name} ==") yield end
system!(*args)
click to toggle source
# File lib/citizen_code_scripts/base.rb, line 78 def system!(*args) puts colorize(:command, args.join(" ")) system(*args) || abort(colorize(:error, "\n== Command #{args} failed ==")) end