Sha256: 05605bdf9c3e2a621b091c6ab4a37dd740d1b81d3011ea2d93deffc5ae3fa664

Contents?: true

Size: 664 Bytes

Versions: 1

Compression:

Stored size: 664 Bytes

Contents

module Hanami
  module Generators
    class TemplateEngine
      class UnsupportedTemplateEngine < ::StandardError
      end

      SUPPORTED_ENGINES = %w(erb slim haml).freeze
      DEFAULT_ENGINE = 'erb'.freeze

      attr_reader :name

      def initialize(hanamirc, engine)
        @name = (engine || hanamirc.options.fetch(:template))
        assert_engine!
      end

      private

      def assert_engine!
        unless supported_engine?
          raise UnsupportedTemplateEngine, "\"#{ @name }\" is not a valid template engine"
        end
      end

      def supported_engine?
        SUPPORTED_ENGINES.include?(@name.to_s)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hanami-0.8.0 lib/hanami/generators/template_engine.rb