Module: Parsable

Defined in:
lib/parsable.rb,
lib/parsable/parser.rb,
lib/parsable/remote.rb,
lib/parsable/context.rb,
lib/parsable/version.rb,
lib/parsable/uri_helper.rb,
lib/parsable/parsed_item.rb

Defined Under Namespace

Classes: Context, ParsedItem, Parser, Remote, UriHelper

Constant Summary collapse

VERSION =
"0.2.5"

Class Method Summary collapse

Class Method Details

.crunch(args = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/parsable.rb', line 10

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