lib/pickle/session/parser.rb in pickle-0.5.1 vs lib/pickle/session/parser.rb in pickle-0.5.2

- old
+ new

@@ -1,24 +1,26 @@ module Pickle module Session # add ability to parse model names as fields, using a session module Parser + module ParseFieldWithModel + def parse_field(field) + if session && field =~ /^(\w+): #{capture_model}$/ + {$1 => session.model!($2)} + else + super(field) + end + end + end + def self.included(parser_class) - parser_class.alias_method_chain :parse_field, :model + parser_class.send(:prepend, ParseFieldWithModel) end attr_accessor :session def match_field "(?:\\w+: (?:#{match_model}|#{match_value}))" - end - - def parse_field_with_model(field) - if session && field =~ /^(\w+): #{capture_model}$/ - {$1 => session.model!($2)} - else - parse_field_without_model(field) - end end def parse_hash(hash) hash.inject({}) do |parsed, (key, val)| if session && val =~ /^#{capture_model}$/