Sha256: 567f60090f3c8e038a0cd7cd561da9158b9c9b6a63dc8ff1e70eb8c6cc3eb91a

Contents?: true

Size: 1.06 KB

Versions: 48

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true
require_relative "../base"

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

      def create_partials
        @elements = load_alchemy_yaml("elements.yml")
        return unless @elements

        @elements.each do |element|
          @element = element
          @contents = element["contents"] || []
          @element_name = element_name(element)
          conditional_template "view.html.#{template_engine}", "#{elements_dir}/_#{@element_name}.html.#{template_engine}"
        end
      end

      private

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

      def element_name(element)
        if element["name"] =~ Alchemy::Element::NAME_REGEXP
          element["name"].underscore
        else
          raise "Element name '#{element["name"]}' has wrong format. Only lowercase and non whitespace characters allowed."
        end
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
alchemy_cms-5.1.7 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.3 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.6 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.0.6 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.2 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.5 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.0.5 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.1 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.4 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.0.4 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.3 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.0 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.0.rc1 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.2.0.b1 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.2 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.1 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.0.3 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.0 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.0.2 lib/generators/alchemy/elements/elements_generator.rb
alchemy_cms-5.1.0.rc1 lib/generators/alchemy/elements/elements_generator.rb