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}$/