Sha256: 09b21a4223449bae53a1a6ae9037fe8c5719b2e976d125b04c3c5c08b8fbf44a

Contents?: true

Size: 795 Bytes

Versions: 100

Compression:

Stored size: 795 Bytes

Contents

# frozen_string_literal: true

module DeclareSchema
  module Support
    module EvalTemplate
      class << self
        def included(base)
          base.class_eval do
            private

            def eval_template(template_name)
              source = File.expand_path(find_in_source_paths(template_name))
              erb = ERB.new(::File.read(source).force_encoding(Encoding::UTF_8), trim_mode: '>')
              erb.filename = source
              begin
                erb.result(binding)
              rescue Exception => ex
                raise ex.class, <<~EOS
                  #{ex.message}
                  #{erb.src}
                    #{ex.backtrace.join("\n  ")}
                EOS
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 1 rubygems

Version Path
declare_schema-2.3.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.3.0 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.3.0.pre.is.0 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.2.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.2.0.colin.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.2.0 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.1.0 lib/generators/declare_schema/support/eval_template.rb
declare_schema-2.1.0.pre.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.4.0 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.4.0.colin.11 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.6 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.6.colin.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.5 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.5.colin.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.4.0.colin.9 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.4 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.4.colin.1 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.4.0.colin.8 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.3 lib/generators/declare_schema/support/eval_template.rb
declare_schema-1.3.3.colin.1 lib/generators/declare_schema/support/eval_template.rb