Class: Reins::Generators::AppGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/reins/generators/app_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ AppGenerator

Returns a new instance of AppGenerator.



6
7
8
9
# File 'lib/reins/generators/app_generator.rb', line 6

def initialize(name)
  @name = name
  @target = File.expand_path(name)
end

Instance Method Details

#app_class_nameObject



23
24
25
# File 'lib/reins/generators/app_generator.rb', line 23

def app_class_name
  @name.split(/[_-]/).map(&:capitalize).join
end

#runObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/reins/generators/app_generator.rb', line 11

def run
  FileUtils.mkdir_p(@target)
  files.each do |path, content|
    target = File.join(@target, path)
    FileUtils.mkdir_p(File.dirname(target))
    File.write(target, content)
  end
  FileUtils.chmod("+x", File.join(@target, "bin/setup"))
  FileUtils.chmod("+x", File.join(@target, "bin/console"))
  FileUtils.chmod("+x", File.join(@target, "bin/reins"))
end