Skip to content

Commit

Permalink
Move key normalization to method.
Browse files Browse the repository at this point in the history
  • Loading branch information
jnunemaker committed Oct 10, 2012
1 parent 873619d commit dcc2f47
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions lib/plucky/query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -192,19 +192,19 @@ def amend(opts={})
end

def [](key)
key = key.to_sym if key.respond_to?(:to_sym)
key = normalized_key(key)

if OptionKeys.include?(key)
if options_key?(key)
@options[key]
else
@criteria[key]
end
end

def []=(key, value)
key = key.to_sym if key.respond_to?(:to_sym)
key = normalized_key(key)

if OptionKeys.include?(key)
if options_key?(key)
@options[key] = value
else
@criteria[key] = value
Expand Down Expand Up @@ -234,9 +234,21 @@ def inspect

private

def normalized_key(key)
if key.respond_to?(:to_sym)
key.to_sym
else
key
end
end

def options_key?(key)
OptionKeys.include?(key)
end

def set_field_inclusion(fields, value)
fields_option = {}
fields.each { |field| fields_option[field.to_sym] = value }
fields.each { |field| fields_option[normalized_key(field)] = value }
clone.tap { |query| query.options[:fields] = fields_option }
end
end
Expand Down

0 comments on commit dcc2f47

Please sign in to comment.