mongocore 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2b421c9156412c98e0da302d515db0283ba45ba
4
- data.tar.gz: a14a5b1d90a91328eab16f8d2e6f083725ab8658
3
+ metadata.gz: 28fcb4fb984516032b665605855fa978c7d8cda2
4
+ data.tar.gz: ecdb708c8470c2aec2cd624bdc35457e1fedb547
5
5
  SHA512:
6
- metadata.gz: c95e808a73109dbb45e4fb1538028c6cc453501a1fa90dcbae5ff3d0e2cc6ceb66fd9d0187a238dde05ca82df04e91ee50e438a3de73cc68198aba7eeff360b7
7
- data.tar.gz: e904842600c7643bf831745ff487639e0b64b6221092eb650f9b7c8f657d90cbc526bbc5211ba3a75036cde2ae777d9ecf85225af4e53a6ec26940f31948e519
6
+ metadata.gz: 9bd1c5dc2e11c6d3422a1fef2ac7e6c7e7b2f169cc5016da379f6d5dbb42e60b86fb06a40a2f488bd7724dea34e19d79597be5dd1eb45fc9efe13f52e117a077
7
+ data.tar.gz: ad17bff6efbe5f07828d5f0f452a53bc21af5108e878ae48fa54c34f86e59f18f80e7e34b5a5ce0a7e14f5ee2d4a9beee80636c016ca7723b4c87ad9da15d6d9
data/README.md CHANGED
@@ -21,7 +21,7 @@ Please read [the source code](https://github.com/fugroup/mongocore/tree/master/l
21
21
  | -------------------------------------- | ----- | ------- | ------------- |
22
22
  | [Mongoid](http://mongoid.com) | 256 | 14371 | 10590 |
23
23
  | [MongoMapper](http://mongomapper.com) | 91 | 200 | 4070 |
24
- | [Mongocore](http://mongocore.com) | 8 | 256 | 454 |
24
+ | [Mongocore](http://mongocore.com) | 8 | 254 | 448 |
25
25
 
26
26
  <br>
27
27
 
data/lib/mongocore/ext.rb CHANGED
@@ -18,3 +18,13 @@ class String
18
18
  end
19
19
 
20
20
  end
21
+
22
+ module BSON
23
+ class ObjectId
24
+
25
+ def as_json(o = {})
26
+ self.to_s
27
+ end
28
+
29
+ end
30
+ end
@@ -52,10 +52,10 @@ module Mongocore
52
52
  ids(transform(v))
53
53
  when Array
54
54
  # Return mapped array or recurse hashes
55
- h[k] = v.map{|r| r.is_a?(Hash) ? ids(transform(r)) : oid(r)}
55
+ h[k] = v.map{|r| r.is_a?(Hash) ? ids(transform(r)) : @model.schema.oid(r)}
56
56
  else
57
57
  # Convert to object ID if applicable
58
- h[k] = oid(v) if v.is_a?(String)
58
+ h[k] = @model.schema.oid(v) if v.is_a?(String)
59
59
  end
60
60
  end
61
61
  end
@@ -128,10 +128,10 @@ module Mongocore
128
128
  o[:per_page] = o[:per_page].to_i; o[:per_page] = Mongocore.per_page if o[:per_page] < 1
129
129
 
130
130
  # Skip results
131
- store[:skip] = o[:per_page] * (o[:page] - 1)
131
+ @store[:skip] = o[:per_page] * (o[:page] - 1)
132
132
 
133
133
  # Apply limit
134
- store[:limit] = o[:per_page]
134
+ @store[:limit] = o[:per_page]
135
135
 
136
136
  # Fetch the result as array
137
137
  all.tap{|r| r.total = total}
@@ -185,16 +185,6 @@ module Mongocore
185
185
  @key ||= "#{@model}#{@query.sort}#{@options.sort}#{@store.values}"
186
186
  end
187
187
 
188
- # Schema short cut for oid
189
- def oid(k)
190
- @model.schema.oid(k)
191
- end
192
-
193
- # Schema short cut for oid?
194
- def oid?(k)
195
- @model.schema.oid?(k)
196
- end
197
-
198
188
  # Call and return the scope if it exists
199
189
  def method_missing(name, *arguments, &block)
200
190
  return @model.send(name, @query, @options, @store.tap{@store[:chain] << name}) if @model.schema.scopes.has_key?(name)
@@ -67,11 +67,6 @@ module Mongocore
67
67
  @keys[key][:type].to_sym rescue :string
68
68
  end
69
69
 
70
- # This key is a BSON::Object ID?
71
- def oid?(key)
72
- find_type(key) === :object_id
73
- end
74
-
75
70
  # Convert to BSON::ObjectId
76
71
  def oid(id = nil)
77
72
  return id if id.is_a?(BSON::ObjectId)
data/lib/mongocore.rb CHANGED
@@ -7,7 +7,7 @@ require 'mongo'
7
7
  require 'request_store'
8
8
 
9
9
  module Mongocore
10
- VERSION = '0.2.1'
10
+ VERSION = '0.2.2'
11
11
 
12
12
  # # # # # #
13
13
  # Mongocore Ruby Database Driver.
data/mongocore.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'mongocore'
3
- s.version = '0.2.1'
3
+ s.version = '0.2.2'
4
4
  s.date = '2017-10-27'
5
5
  s.summary = "MongoDB ORM implementation on top of the Ruby MongoDB driver"
6
6
  s.description = "Does validations, associations, scopes, filters, pagination, counter cache, request cache, and nested queries. Using a YAML schema file, which supports default values, data types, and security levels for each key."
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongocore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fugroup Limited