Sha256: c7911cc3f92c4fb7e97d019d6231fa789bcd9eead309a65421e7ed472745a97f

Contents?: true

Size: 915 Bytes

Versions: 9

Compression:

Stored size: 915 Bytes

Contents

require "#{File.dirname(__FILE__)}/through_ryoku"

module I18nTranslationGeneratorModule
  class ErbExecuter
    def exec_erb(filename)
      begin
#         ERB.new(File.read(f)).result
        (m = Module.new).module_eval <<-EOS
          class Executer
            extend ERB::DefMethod
            include ActionView::Helpers::TranslationHelper
            include I18nTranslationGeneratorModule::ThroughRyoku

            fname = '#{filename}'
            erb = nil
            File.open(fname) {|f| erb = ERB.new(f.read, nil, '-') }
            erb.def_method(self, 'execute', fname)
          end
        EOS
        nil.class_eval {def method_missing(method, *args, &block); nil; end}
        m.const_get('Executer').new.execute { }
      rescue => e
        p e
        # do nothing
      ensure
        nil.class_eval {undef :method_missing} if nil.respond_to? :method_missing
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
i18n-generators-1.1.3 generators/i18n_translation/lib/erb_executer.rb
i18n-generators-1.1.2 generators/i18n_translation/lib/erb_executer.rb
i18n-generators-1.1.1 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.1.0 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.0.3 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.0.2 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.0.1 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.0.0 generators/i18n_translation/lib/erb_executer.rb
i18n_generators-1.0.0.pre1 generators/i18n_translation/lib/erb_executer.rb