Sha256: 55f1b133042bead81c904e80ba54e5f9728158b3da07f0142c0b7d14e145b767

Contents?: true

Size: 752 Bytes

Versions: 1

Compression:

Stored size: 752 Bytes

Contents

require "inline_template_loader/version"

module InlineTemplateLoader
  def self.load(arg = nil)
    if arg.is_a? ::Integer
      caller_pos = arg
    elsif
      caller_pos = 0
    end

    if arg.is_a? ::String
      file = arg
    elsif
      file = caller[caller_pos].split(':').first
    end

    templates = {}
    sym = nil

    app, data = ::IO.read(file).gsub("\r\n", "\n").split(/^__END__$/, 2)

    if data
      data.each_line do |line|
        if line =~ /^@@\s*(.*\S)\s*$/
          sym = $1.to_sym
        else
          if sym
            unless templates[sym]
              templates[sym] = line
            else
              templates[sym] += line
            end
          end
        end
      end
    end

    templates
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inline_template_loader-0.3.0 lib/inline_template_loader.rb