class Quiver::CLI::NewApplication

Attributes

name[RW]
options[RW]

Public Class Methods

generators_array() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 21
def self.generators_array
  @generators_array ||= []
end
generators_hash() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 25
def self.generators_hash
  @generators_hash ||= {}
end
inherited(subclass) click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 11
def self.inherited(subclass)
  generators_hash.each do |k, v|
    subclass.generators_hash[k] = v
  end

  generators_array.each do |i|
    subclass.generators_array << i
  end
end
new(name, options) click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 34
def initialize(name, options)
  self.name = name
  self.options = options
  @destination_stack ||= []
  self.behavior = :invoke
end
register_step(name, step, opts={}) click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 29
def self.register_step(name, step, opts={})
  generators_hash[name] = step
  generators_array << name unless opts[:skip_queueing] || generators_array.include?(name)
end
source_root() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 7
def self.source_root
  File.expand_path(File.join('..', '..', 'templates'), __FILE__)
end

Public Instance Methods

generate!() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 41
def generate!
  self.class.generators_array.each do |name|
    if step = self.class.generators_hash[name]
      instance_exec(&step)
    end
  end

  git_init
end

Private Instance Methods

camelized_name() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 151
def camelized_name
  @camelized_name ||= name.camelize
end
git_init() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 155
def git_init
  inside(underscored_name) do
    run('git init')
    run('git add .')

    output = run(%Q{git commit -m " Initial Commit\n _____________________\n|                    /--<<<\n|___________________/----<<<"}, verbose: false, capture: true)
    puts output.sub(/Commit.*?\n/, "Commit\n")
  end
end
underscored_name() click to toggle source
# File lib/quiver/cli/generators/new_application.rb, line 147
def underscored_name
  @underscored_name ||= name.underscore
end