class Alchemy::Generators::Base
Private Instance Methods
conditional_template(source, destination)
click to toggle source
# File lib/generators/alchemy/base.rb, line 12 def conditional_template(source, destination) files = Dir.glob(destination.gsub(/\.([a-z]+)$/, "*")) if files.any? ext = File.extname(files.first)[1..] # If view already exists using a different template engine, change # source and destination file names to use that engine. if ext != template_engine.to_s say_status :warning, "View uses unexpected template engine '#{ext}'.", :cyan destination = destination.gsub(/#{template_engine}$/, ext) source = source.gsub(/#{template_engine}$/, ext) end end template source, destination end
load_alchemy_yaml(name)
click to toggle source
# File lib/generators/alchemy/base.rb, line 36 def load_alchemy_yaml(name) YAML.safe_load( ERB.new(File.read(Rails.root.join("config", "alchemy", name))).result, permitted_classes: YAML_PERMITTED_CLASSES, aliases: true ) rescue Errno::ENOENT puts "\nERROR: Could not read config/alchemy/#{name} file. Please run: `rails generate alchemy:install`" end
template_engine()
click to toggle source
# File lib/generators/alchemy/base.rb, line 29 def template_engine # Rails is clever enough to default this to whatever template # engine is configured through its generator configuration, # but we'll default it to erb anyway, just in case. options[:template_engine] || "erb" end