Sha256: b166b0197b02ec086024bc13f051e101ff35a0ab3176c77da96cc373954762be
Contents?: true
Size: 1.07 KB
Versions: 47
Compression:
Stored size: 1.07 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 @ingredients = element["ingredients"] || [] @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 Alchemy::Element::NAME_REGEXP.match?(element["name"]) 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
47 entries across 47 versions & 1 rubygems