class Dappgen::Machines::ExecuteMachine
Public Class Methods
new()
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 10 def initialize @origin_dir = `pwd`.chomp end
Public Instance Methods
cleanup(_)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 69 def cleanup(_) end
copy_base(_)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 31 def copy_base(_) puts "Copying static files to '#{@cur_dir_name}'" Dir["#{@static_files_dir}/*"].each do |object| FileUtils.cp_r object, @cur_dir_name end puts "Applying replacers to '#{@cur_dir_name}'" Dir["#{@replacer_files_dir}/**/*.erb"].each do |template| basename = File.join(@cur_dir_name, template.sub(%r{^#{@replacer_files_dir}/}, '')).sub(/.erb$/, '') generator = Erubis::Eruby.new(File.read(template), filename: template) FileUtils.mkdir_p File.dirname(basename) result = generator.result(@opts) File.write(basename, result) end end
generate(file, opts)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 55 def generate(file, opts) puts "Generating '#{@cur_dir_name}/#{file}'" template = File.join(@template_files_dir, opts[:with]) basename = File.join(@cur_dir_name, file) generator = Erubis::Eruby.new(File.read(template), filename: template) FileUtils.mkdir_p File.dirname(basename) result = generator.result(@opts) File.write(basename, result) end
remove(file)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 50 def remove(file) puts "Removing '#{@cur_dir_name}/#{file}'" FileUtils.rm_r(File.join(@cur_dir_name, file)) end
set_thing(thing, opts)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 14 def set_thing(thing, opts) puts "Generating a #{thing}" @thing = thing @opts = Hashie::Mash.new(opts[:opts]) @base_data_dir = File.join(Gem.loaded_specs['dappgen'].full_gem_path, 'data', 'dappgen', 'generators', thing) @static_files_dir = File.join(@base_data_dir, 'base') @replacer_files_dir = File.join(@base_data_dir, 'replacers') @template_files_dir = File.join(@base_data_dir, 'templates') end
setdir(name)
click to toggle source
# File lib/dappgen/machines/execute_machine.rb, line 25 def setdir(name) @cur_dir_name = name puts "Preparing directory '#{name}'" FileUtils.mkdir_p name end