origin 1.0.4 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,12 @@
6
6
 
7
7
  ### Resolved Issues
8
8
 
9
+ ## 1.0.5
10
+
11
+ ### Resolved Issues
12
+
13
+ * \#40 Allow $elemMatch queries to be expanded.
14
+
9
15
  ## 1.0.4
10
16
 
11
17
  ### Resolved Issues
@@ -135,6 +135,22 @@ module Origin
135
135
  end
136
136
  end
137
137
 
138
+ # Get the object as expanded.
139
+ #
140
+ # @example Get the object expanded.
141
+ # obj.__expand_complex__
142
+ #
143
+ # @return [ Hash ] The expanded hash.
144
+ #
145
+ # @since 1.0.5
146
+ def __expand_complex__
147
+ replacement = {}
148
+ each_pair do |key, value|
149
+ replacement.merge!(key.specify(value))
150
+ end
151
+ replacement
152
+ end
153
+
138
154
  # Update all the values in the hash with the provided block.
139
155
  #
140
156
  # @example Update the values in place.
@@ -126,6 +126,26 @@ module Origin
126
126
  [ self ]
127
127
  end
128
128
 
129
+ # Get the object as expanded.
130
+ #
131
+ # @example Get the object expanded.
132
+ # obj.__expand_complex__
133
+ #
134
+ # @return [ Object ] self.
135
+ #
136
+ # @since 1.0.5
137
+ def __expand_complex__
138
+ self
139
+ end
140
+
141
+ # Is the object a regex.
142
+ #
143
+ # @example Is the object a regex?
144
+ # obj.regexp?
145
+ #
146
+ # @return [ false ] Always false.
147
+ #
148
+ # @since 1.0.4
129
149
  def regexp?
130
150
  false
131
151
  end
@@ -196,6 +196,7 @@ module Origin
196
196
  # @since 1.0.0
197
197
  def prepare(field, operator, value)
198
198
  return value if operator =~ /exists|type|size/
199
+ value = value.__expand_complex__
199
200
  serializer = serializers[field]
200
201
  serializer ? serializer.evolve(value) : value
201
202
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Origin
3
- VERSION = "1.0.4"
3
+ VERSION = "1.0.6"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-07 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -145,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
145
  version: '0'
146
146
  segments:
147
147
  - 0
148
- hash: 844686172235787907
148
+ hash: 2569120382874520482
149
149
  required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements: