lib/parsable.rb in parsable-0.1.1 vs lib/parsable.rb in parsable-0.1.2
- old
+ new
@@ -1,18 +1,20 @@
require "parsable/version"
require 'parsable/parser'
require 'parsable/context'
+require 'parsable/parsed_item'
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]}}}", "#{item[:lambda].call}")
+ crunched.gsub!("{{#{item.original}}}", context.read(item.object, item.attribute).to_s)
end
crunched
end