Sha256: 6f1aeae3a8f1934f9813d23efae11daf1bc2ab71b5873f322a15991c1053bd03

Contents?: true

Size: 1.43 KB

Versions: 56

Compression:

Stored size: 1.43 KB

Contents

require 'rails'

module Alchemy
  module Generators
    class Base < ::Rails::Generators::Base
      class_option :template_engine, :type => :string, :aliases => '-e', :desc => 'Template engine for the views. Available options are "erb", "haml", and "slim".'

      private

      def conditional_template(source, destination)
        files = Dir.glob(destination.gsub(/\.([a-z]+)$/, '*'))
        if files.any?
          ext = File.extname(files.first)[1..-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.gsub!(/#{template_engine}$/, ext)
            source.gsub!(/#{template_engine}$/, ext)
          end
        end

        template source, destination
      end

      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

      def load_alchemy_yaml(name)
        YAML.load_file "#{Rails.root}/config/alchemy/#{name}"
      rescue Errno::ENOENT
        puts "\nERROR: Could not read config/alchemy/#{name} file. Please run: rails generate alchemy:scaffold"
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
alchemy_cms-3.1.3 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.2.0.rc1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.2.0.beta lib/rails/generators/alchemy/base.rb
alchemy_cms-2.9.1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.0.4 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.rc3 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.rc2 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.rc1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta6 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta5 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta4 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.0.3 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta3 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta2 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.1.0.beta1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.0.2 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.0.1 lib/rails/generators/alchemy/base.rb
alchemy_cms-3.0.0 lib/rails/generators/alchemy/base.rb