class Railgen::New
Public Class Methods
exec(options)
click to toggle source
# File lib/railgen/new.rb, line 4 def self.exec(options) generator = new(options) generator.make_app_directory generator.skeleton end
new(options)
click to toggle source
# File lib/railgen/new.rb, line 10 def initialize(options) @options = options end
Public Instance Methods
make_app_directory()
click to toggle source
# File lib/railgen/new.rb, line 14 def make_app_directory Dir.mkdir("#{target}/#{namespace_to_snake}") end
skeleton()
click to toggle source
# File lib/railgen/new.rb, line 18 def skeleton files = skeleton_files files.each do |file| filepath = "#{target}/#{namespace_to_snake}#{file.skeleton_path.gsub('skeleton', namespace_to_snake).gsub(/\.erb$/,'')}" puts "create #{filepath}" if file.directory? Dir.mkdir(filepath) elsif file.erb? open(filepath, 'w+') do |f| f.write ERB.new(file.read).result(binding) end else open(filepath, 'w+') do |f| f.write file.read end end end end
Private Instance Methods
namespace()
click to toggle source
# File lib/railgen/new.rb, line 42 def namespace @options[:namespace] ||= 'Sample' end
namespace_to_snake()
click to toggle source
# File lib/railgen/new.rb, line 46 def namespace_to_snake Rinne.to_snake(namespace) end
skeleton_files()
click to toggle source
# File lib/railgen/new.rb, line 50 def skeleton_files Dir.glob("#{File.dirname(__FILE__)}/../../skeleton/**/*", File::FNM_DOTMATCH).map do |v| Skeleton.new(v, File.dirname(__FILE__)) end end
target()
click to toggle source
# File lib/railgen/new.rb, line 38 def target @options[:target] ||= './' end