Sha256: f981ee61d114359b73e4e3990b7e5555e341fe2e1974669fa8c201931c2530f1

Contents?: true

Size: 1.12 KB

Versions: 18

Compression:

Stored size: 1.12 KB

Contents

require File.join(__FILE__, '../../base')

module Alchemy
  module Generators
    class ElementsGenerator < Base
      desc "This generator generates your elements view partials."
      source_root File.expand_path('templates', File.dirname(__FILE__))

      def create_partials
        @elements = load_alchemy_yaml('elements.yml')
        return unless @elements
        @elements.each do |element|
          @element = element
          @contents = element["contents"] || []
          if element["name"] =~ /\A[a-z0-9_-]+\z/
            @element_name = element["name"].underscore
          else
            raise "Element name '#{element['name']}' has wrong format. Only lowercase and non whitespace characters allowed."
          end

          conditional_template "editor.html.#{template_engine}", "#{elements_dir}/_#{@element_name}_editor.html.#{template_engine}"
          conditional_template "view.html.#{template_engine}", "#{elements_dir}/_#{@element_name}_view.html.#{template_engine}"
        end
      end

      private

      def elements_dir
        @_elements_dir ||= "app/views/alchemy/elements"
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
alchemy_cms-4.0.6 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.7 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.6 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.5 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.4 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.3 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.5 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.2 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.1 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.4 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.0 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.3 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.2 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.0.rc2 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.0.rc1 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.1 lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-4.0.0.beta lib/rails/generators/alchemy/elements/elements_generator.rb
alchemy_cms-3.6.0 lib/rails/generators/alchemy/elements/elements_generator.rb