class Rugular::GeneratorBase
Public Class Methods
source_root()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 16 def self.source_root __dir__.chomp('/tasks/generate') end
Public Instance Methods
create_route_folders()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 20 def create_route_folders route_pathnames.each do |pathname| next( "#{destination_file(pathname)} already exists" ) if File.exists? destination_file(pathname) create_file destination_file(pathname) do ERB.new(pathname.read).result( open_struct.instance_eval { binding } ) end end end
template_files()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 34 def template_files; []; end
Protected Instance Methods
app_module_file()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 69 def app_module_file 'src/app/app.module.coffee' end
app_or_component()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 98 def app_or_component options[:c] ? 'components' : 'app' end
camelcase_name()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 56 def camelcase_name name.split(':').last.camelcase(:lower) end
destination_file(pathname)
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 52 def destination_file(pathname) "#{folder}/#{pathname.basename('.erb').to_s.gsub('app', name.split(':').last)}" end
folder()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 48 def folder "src/#{app_or_component}/#{name_folder}" end
lib_directory()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 38 def lib_directory __dir__.chomp('tasks/generate') end
module_declaration()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 73 def module_declaration " '#{camelcase_name}'\n" end
module_declaration_present?(module_file)
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 77 def module_declaration_present?(module_file) File.read(module_file).include? module_declaration end
name_folder()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 85 def name_folder name.split(':').join('/') end
nested?()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 81 def nested? name.split(':').length > 1 end
nested_module_file()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 93 def nested_module_file "src/#{app_or_component}/#{name.split(':')[0..-2].join('/')}/"\ "#{nested_module_name}.module.coffee" end
nested_module_name()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 89 def nested_module_name name.split(':')[-2] end
open_struct()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 60 def open_struct @_open_struct ||= OpenStruct.new( name: name.split(':').last, full_name: name.gsub(':', '/'), camelcase_name: camelcase_name, app_or_component: app_or_component ) end
route_pathnames()
click to toggle source
# File lib/rugular/tasks/generate/generator_base.rb, line 42 def route_pathnames Dir.glob(template_files).map do |filename| Pathname.new(filename) end end