module ZenturioBatteries::Base::Generator
Basic module for generation application parts
Public Instance Methods
available_options()
click to toggle source
Get the list of available options for current generator
# File lib/zenturio_batteries/base/generator.rb, line 8 def available_options [] end
execute!(handler, hard_mode = false)
click to toggle source
Execute option for given handler. If there is no such handler - raise Exception
# File lib/zenturio_batteries/base/generator.rb, line 14 def execute! handler, hard_mode = false raise Exception.new('No such handler') unless self.methods.include?(handler) method = self.method(handler) config_list = method.call process_config! config_list, hard_mode end
Protected Instance Methods
process_config!(config_list, hard_mode)
click to toggle source
Copy necessary files to destination folders. Information about files - in config_list parameter
config_list - is a Array and each element is a Hash. each element has 2 keys - :source and :destination
# File lib/zenturio_batteries/base/generator.rb, line 30 def process_config! config_list, hard_mode config_list.each do |finfo| source = finfo[:source] dest = finfo[:destination] # Setting bindings for templates proj_dir = Dir.pwd # Rendering templates renderer = ERB.new File.new(ZenturioBatteries.base_dir+'/assets'+source).read res = renderer.result binding # Saving templates to destination dest_file = proj_dir+dest if File.exists?(dest_file) && !hard_mode puts dest_file+' already exists and generation will be skipped.' else File.open(dest_file, "w+") do |f| f.write(res) end puts dest_file+' was generated.' end end end