Sha256: f07cf1461587aa0ae4ad7f349f04e4d19b718738d43aca94c74e888803a62323

Contents?: true

Size: 527 Bytes

Versions: 1

Compression:

Stored size: 527 Bytes

Contents

require "parsable/version"
require 'parsable/parser'
require 'parsable/context'
require 'parsable/parsed_item'
require 'parsable/remote'

module Parsable

  def self.crunch args={}
    original      = args.fetch(:string).to_s
    parsed_parts  = Parsable::Parser.new(args).parse
    context       = args[:context] || Parsable::Context.new

    crunched = original.dup

    parsed_parts.each do |item|
      crunched.gsub!("{{#{item.original}}}", context.read(item.object, item.attribute).to_s)
    end

    crunched
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
parsable-0.2.0 lib/parsable.rb