Sha256: 84c37af6c0475bce2bd5000cc7dda3a79478ec2c41bc642571b3d20d7d780beb

Contents?: true

Size: 557 Bytes

Versions: 5

Compression:

Stored size: 557 Bytes

Contents

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

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

5 entries across 5 versions & 1 rubygems

Version Path
parsable-0.2.5 lib/parsable.rb
parsable-0.2.4 lib/parsable.rb
parsable-0.2.3 lib/parsable.rb
parsable-0.2.2 lib/parsable.rb
parsable-0.2.1 lib/parsable.rb