mongo_doc_rails2 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +8 -0
- data/HISTORY.md +11 -0
- data/LICENSE +20 -0
- data/README.textile +185 -0
- data/Rakefile +188 -0
- data/TODO +40 -0
- data/VERSION +1 -0
- data/data/.gitignore +2 -0
- data/examples/simple_document.rb +46 -0
- data/examples/simple_object.rb +34 -0
- data/features/collections.feature +9 -0
- data/features/embed_hash.feature +16 -0
- data/features/finders.feature +76 -0
- data/features/indexes.feature +28 -0
- data/features/mongodb.yml +7 -0
- data/features/mongodoc_base.feature +128 -0
- data/features/new_record.feature +36 -0
- data/features/partial_updates.feature +95 -0
- data/features/removing_documents.feature +68 -0
- data/features/saving_an_object.feature +15 -0
- data/features/scopes.feature +66 -0
- data/features/step_definitions/collection_steps.rb +17 -0
- data/features/step_definitions/document_steps.rb +149 -0
- data/features/step_definitions/documents.rb +40 -0
- data/features/step_definitions/embed_hash_steps.rb +6 -0
- data/features/step_definitions/finder_steps.rb +15 -0
- data/features/step_definitions/index_steps.rb +10 -0
- data/features/step_definitions/json_steps.rb +9 -0
- data/features/step_definitions/object_steps.rb +50 -0
- data/features/step_definitions/objects.rb +24 -0
- data/features/step_definitions/partial_update_steps.rb +31 -0
- data/features/step_definitions/query_steps.rb +66 -0
- data/features/step_definitions/removing_documents_steps.rb +14 -0
- data/features/step_definitions/scope_steps.rb +18 -0
- data/features/step_definitions/string_casting_steps.rb +29 -0
- data/features/step_definitions/util_steps.rb +7 -0
- data/features/string_casting.feature +10 -0
- data/features/support/support.rb +10 -0
- data/features/using_criteria.feature +142 -0
- data/lib/mongo_doc.rb +12 -0
- data/lib/mongo_doc/associations.rb +109 -0
- data/lib/mongo_doc/associations/collection_proxy.rb +121 -0
- data/lib/mongo_doc/associations/document_proxy.rb +65 -0
- data/lib/mongo_doc/associations/hash_proxy.rb +102 -0
- data/lib/mongo_doc/associations/proxy_base.rb +48 -0
- data/lib/mongo_doc/attributes.rb +84 -0
- data/lib/mongo_doc/bson.rb +31 -0
- data/lib/mongo_doc/collection.rb +82 -0
- data/lib/mongo_doc/connection.rb +88 -0
- data/lib/mongo_doc/contexts.rb +31 -0
- data/lib/mongo_doc/contexts/ids.rb +41 -0
- data/lib/mongo_doc/contexts/mongo.rb +272 -0
- data/lib/mongo_doc/criteria.rb +70 -0
- data/lib/mongo_doc/cursor.rb +32 -0
- data/lib/mongo_doc/document.rb +205 -0
- data/lib/mongo_doc/ext.rb +16 -0
- data/lib/mongo_doc/ext/array.rb +5 -0
- data/lib/mongo_doc/ext/binary.rb +7 -0
- data/lib/mongo_doc/ext/boolean_class.rb +17 -0
- data/lib/mongo_doc/ext/date.rb +19 -0
- data/lib/mongo_doc/ext/date_time.rb +17 -0
- data/lib/mongo_doc/ext/dbref.rb +7 -0
- data/lib/mongo_doc/ext/hash.rb +7 -0
- data/lib/mongo_doc/ext/min_max_keys.rb +13 -0
- data/lib/mongo_doc/ext/nil_class.rb +5 -0
- data/lib/mongo_doc/ext/numeric.rb +17 -0
- data/lib/mongo_doc/ext/object.rb +19 -0
- data/lib/mongo_doc/ext/object_id.rb +7 -0
- data/lib/mongo_doc/ext/regexp.rb +5 -0
- data/lib/mongo_doc/ext/string.rb +5 -0
- data/lib/mongo_doc/ext/symbol.rb +5 -0
- data/lib/mongo_doc/ext/time.rb +9 -0
- data/lib/mongo_doc/finders.rb +38 -0
- data/lib/mongo_doc/index.rb +46 -0
- data/lib/mongo_doc/matchers.rb +35 -0
- data/lib/mongo_doc/root.rb +26 -0
- data/lib/mongo_doc/scope.rb +64 -0
- data/lib/mongo_doc/validations.rb +12 -0
- data/lib/mongo_doc/validations/macros.rb +11 -0
- data/lib/mongo_doc/validations/validates_embedded.rb +13 -0
- data/lib/mongoid/contexts/enumerable.rb +151 -0
- data/lib/mongoid/contexts/paging.rb +42 -0
- data/lib/mongoid/criteria.rb +239 -0
- data/lib/mongoid/criterion/complex.rb +21 -0
- data/lib/mongoid/criterion/exclusion.rb +65 -0
- data/lib/mongoid/criterion/inclusion.rb +93 -0
- data/lib/mongoid/criterion/optional.rb +136 -0
- data/lib/mongoid/extensions/hash/criteria_helpers.rb +20 -0
- data/lib/mongoid/extensions/symbol/inflections.rb +36 -0
- data/lib/mongoid/matchers/all.rb +11 -0
- data/lib/mongoid/matchers/default.rb +26 -0
- data/lib/mongoid/matchers/exists.rb +13 -0
- data/lib/mongoid/matchers/gt.rb +11 -0
- data/lib/mongoid/matchers/gte.rb +11 -0
- data/lib/mongoid/matchers/in.rb +11 -0
- data/lib/mongoid/matchers/lt.rb +11 -0
- data/lib/mongoid/matchers/lte.rb +11 -0
- data/lib/mongoid/matchers/ne.rb +11 -0
- data/lib/mongoid/matchers/nin.rb +11 -0
- data/lib/mongoid/matchers/size.rb +11 -0
- data/mongo_doc_rails2.gemspec +237 -0
- data/mongod.example.yml +2 -0
- data/mongodb.example.yml +14 -0
- data/perf/mongo_doc_object.rb +83 -0
- data/perf/mongo_document.rb +84 -0
- data/perf/ruby_driver.rb +49 -0
- data/script/console +8 -0
- data/spec/array_including_argument_matcher.rb +62 -0
- data/spec/associations/collection_proxy_spec.rb +233 -0
- data/spec/associations/document_proxy_spec.rb +45 -0
- data/spec/associations/hash_proxy_spec.rb +181 -0
- data/spec/associations/proxy_base_spec.rb +92 -0
- data/spec/associations_spec.rb +218 -0
- data/spec/attributes_accessor_spec.rb +33 -0
- data/spec/attributes_spec.rb +145 -0
- data/spec/bson_matchers.rb +54 -0
- data/spec/bson_spec.rb +196 -0
- data/spec/collection_spec.rb +169 -0
- data/spec/connection_spec.rb +147 -0
- data/spec/contexts/ids_spec.rb +49 -0
- data/spec/contexts/mongo_spec.rb +235 -0
- data/spec/contexts_spec.rb +56 -0
- data/spec/criteria_spec.rb +69 -0
- data/spec/cursor_spec.rb +91 -0
- data/spec/document_ext.rb +9 -0
- data/spec/document_spec.rb +553 -0
- data/spec/embedded_save_spec.rb +73 -0
- data/spec/ext_spec.rb +89 -0
- data/spec/finders_spec.rb +61 -0
- data/spec/hash_matchers.rb +27 -0
- data/spec/index_spec.rb +79 -0
- data/spec/matchers_spec.rb +342 -0
- data/spec/mongodb.yml +6 -0
- data/spec/mongodb_pairs.yml +8 -0
- data/spec/new_record_spec.rb +128 -0
- data/spec/root_spec.rb +41 -0
- data/spec/scope_spec.rb +79 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/validations_spec.rb +30 -0
- metadata +346 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Criterion #:nodoc:
|
|
4
|
+
module Optional
|
|
5
|
+
# Tells the criteria that the cursor that gets returned needs to be
|
|
6
|
+
# cached. This is so multiple iterations don't hit the database multiple
|
|
7
|
+
# times, however this is not advisable when working with large data sets
|
|
8
|
+
# as the entire results will get stored in memory.
|
|
9
|
+
#
|
|
10
|
+
# Example:
|
|
11
|
+
#
|
|
12
|
+
# <tt>criteria.cache</tt>
|
|
13
|
+
def cache
|
|
14
|
+
@options.merge!(:cache => true); self
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Will return true if the cache option has been set.
|
|
18
|
+
#
|
|
19
|
+
# Example:
|
|
20
|
+
#
|
|
21
|
+
# <tt>criteria.cached?</tt>
|
|
22
|
+
def cached?
|
|
23
|
+
@options[:cache] == true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Flags the criteria to execute against a read-only slave in the pool
|
|
27
|
+
# instead of master.
|
|
28
|
+
#
|
|
29
|
+
# Example:
|
|
30
|
+
#
|
|
31
|
+
# <tt>criteria.enslave</tt>
|
|
32
|
+
def enslave
|
|
33
|
+
@options.merge!(:enslave => true); self
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Will return true if the criteria is enslaved.
|
|
37
|
+
#
|
|
38
|
+
# Example:
|
|
39
|
+
#
|
|
40
|
+
# <tt>criteria.enslaved?</tt>
|
|
41
|
+
def enslaved?
|
|
42
|
+
@options[:enslave] == true
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Adds a criterion to the +Criteria+ that specifies additional options
|
|
46
|
+
# to be passed to the Ruby driver, in the exact format for the driver.
|
|
47
|
+
#
|
|
48
|
+
# Options:
|
|
49
|
+
#
|
|
50
|
+
# extras: A +Hash+ that gets set to the driver options.
|
|
51
|
+
#
|
|
52
|
+
# Example:
|
|
53
|
+
#
|
|
54
|
+
# <tt>criteria.extras(:limit => 20, :skip => 40)</tt>
|
|
55
|
+
#
|
|
56
|
+
# Returns: <tt>self</tt>
|
|
57
|
+
def extras(extras)
|
|
58
|
+
@options.merge!(extras); filter_options; self
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Adds a criterion to the +Criteria+ that specifies an id that must be matched.
|
|
62
|
+
#
|
|
63
|
+
# Options:
|
|
64
|
+
#
|
|
65
|
+
# object_id: A +String+ representation of a <tt>BSON::ObjectID</tt>
|
|
66
|
+
#
|
|
67
|
+
# Example:
|
|
68
|
+
#
|
|
69
|
+
# <tt>criteria.id("4ab2bc4b8ad548971900005c")</tt>
|
|
70
|
+
#
|
|
71
|
+
# Returns: <tt>self</tt>
|
|
72
|
+
def id(*args)
|
|
73
|
+
(args.flatten.size > 1) ? self.in(:_id => args.flatten) : (@selector[:_id] = args.first)
|
|
74
|
+
self
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Adds a criterion to the +Criteria+ that specifies the maximum number of
|
|
78
|
+
# results to return. This is mostly used in conjunction with <tt>skip()</tt>
|
|
79
|
+
# to handle paginated results.
|
|
80
|
+
#
|
|
81
|
+
# Options:
|
|
82
|
+
#
|
|
83
|
+
# value: An +Integer+ specifying the max number of results. Defaults to 20.
|
|
84
|
+
#
|
|
85
|
+
# Example:
|
|
86
|
+
#
|
|
87
|
+
# <tt>criteria.limit(100)</tt>
|
|
88
|
+
#
|
|
89
|
+
# Returns: <tt>self</tt>
|
|
90
|
+
def limit(value = 20)
|
|
91
|
+
@options[:limit] = value; self
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Returns the offset option. If a per_page option is in the list then it
|
|
95
|
+
# will replace it with a skip parameter and return the same value. Defaults
|
|
96
|
+
# to 20 if nothing was provided.
|
|
97
|
+
def offset(*args)
|
|
98
|
+
args.size > 0 ? skip(args.first) : @options[:skip]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Adds a criterion to the +Criteria+ that specifies the sort order of
|
|
102
|
+
# the returned documents in the database. Similar to a SQL "ORDER BY".
|
|
103
|
+
#
|
|
104
|
+
# Options:
|
|
105
|
+
#
|
|
106
|
+
# params: An +Array+ of [field, direction] sorting pairs.
|
|
107
|
+
#
|
|
108
|
+
# Example:
|
|
109
|
+
#
|
|
110
|
+
# <tt>criteria.order_by([[:field1, :asc], [:field2, :desc]])</tt>
|
|
111
|
+
#
|
|
112
|
+
# Returns: <tt>self</tt>
|
|
113
|
+
def order_by(params = [])
|
|
114
|
+
@options[:sort] = params; self
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Adds a criterion to the +Criteria+ that specifies how many results to skip
|
|
118
|
+
# when returning Documents. This is mostly used in conjunction with
|
|
119
|
+
# <tt>limit()</tt> to handle paginated results, and is similar to the
|
|
120
|
+
# traditional "offset" parameter.
|
|
121
|
+
#
|
|
122
|
+
# Options:
|
|
123
|
+
#
|
|
124
|
+
# value: An +Integer+ specifying the number of results to skip. Defaults to 0.
|
|
125
|
+
#
|
|
126
|
+
# Example:
|
|
127
|
+
#
|
|
128
|
+
# <tt>criteria.skip(20)</tt>
|
|
129
|
+
#
|
|
130
|
+
# Returns: <tt>self</tt>
|
|
131
|
+
def skip(value = 0)
|
|
132
|
+
@options[:skip] = value; self
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Extensions #:nodoc:
|
|
4
|
+
module Hash #:nodoc:
|
|
5
|
+
module CriteriaHelpers #:nodoc:
|
|
6
|
+
def expand_complex_criteria
|
|
7
|
+
hsh = {}
|
|
8
|
+
self.each_pair do |k,v|
|
|
9
|
+
if k.class == Mongoid::Criterion::Complex
|
|
10
|
+
hsh[k.key] = {"$#{k.operator}" => v}
|
|
11
|
+
else
|
|
12
|
+
hsh[k] = v
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
hsh
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Extensions #:nodoc:
|
|
4
|
+
module Symbol #:nodoc:
|
|
5
|
+
module Inflections #:nodoc:
|
|
6
|
+
|
|
7
|
+
REVERSALS = {
|
|
8
|
+
:asc => :desc,
|
|
9
|
+
:ascending => :descending,
|
|
10
|
+
:desc => :asc,
|
|
11
|
+
:descending => :ascending
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
def invert
|
|
15
|
+
REVERSALS[self]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def singular?
|
|
19
|
+
to_s.singular?
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def plural?
|
|
23
|
+
to_s.plural?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
["gt", "lt", "gte", "lte", "ne", "in", "nin", "mod", "all", "size", "exists"].each do |oper|
|
|
27
|
+
class_eval <<-OPERATORS
|
|
28
|
+
def #{oper}
|
|
29
|
+
Criterion::Complex.new(:key => self, :operator => "#{oper}")
|
|
30
|
+
end
|
|
31
|
+
OPERATORS
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Matchers #:nodoc:
|
|
4
|
+
class Default
|
|
5
|
+
# Creating a new matcher only requires the value.
|
|
6
|
+
def initialize(attribute)
|
|
7
|
+
@attribute = attribute
|
|
8
|
+
end
|
|
9
|
+
# Return true if the attribute and value are equal.
|
|
10
|
+
def matches?(value)
|
|
11
|
+
@attribute == value
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
# Return the first value in the hash.
|
|
16
|
+
def first(value)
|
|
17
|
+
value.values.first
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# If object exists then compare, else return false
|
|
21
|
+
def determine(value, operator)
|
|
22
|
+
@attribute ? @attribute.send(operator, first(value)) : false
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module Mongoid #:nodoc:
|
|
3
|
+
module Matchers #:nodoc:
|
|
4
|
+
class Exists < Default
|
|
5
|
+
# Return true if the attribute exists and checking for existence or
|
|
6
|
+
# return true if the attribute does not exist and checking for
|
|
7
|
+
# non-existence.
|
|
8
|
+
def matches?(value)
|
|
9
|
+
@attribute.nil? != value.values.first
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = %q{mongo_doc_rails2}
|
|
8
|
+
s.version = "0.6.1"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["Les Hill"]
|
|
12
|
+
s.date = %q{2010-05-10}
|
|
13
|
+
s.description = %q{ODM for MongoDB - for Rails 2.3.x}
|
|
14
|
+
s.email = %q{leshill@gmail.com}
|
|
15
|
+
s.extra_rdoc_files = [
|
|
16
|
+
"LICENSE",
|
|
17
|
+
"README.textile",
|
|
18
|
+
"TODO"
|
|
19
|
+
]
|
|
20
|
+
s.files = [
|
|
21
|
+
".document",
|
|
22
|
+
".gitignore",
|
|
23
|
+
"HISTORY.md",
|
|
24
|
+
"LICENSE",
|
|
25
|
+
"README.textile",
|
|
26
|
+
"Rakefile",
|
|
27
|
+
"TODO",
|
|
28
|
+
"VERSION",
|
|
29
|
+
"data/.gitignore",
|
|
30
|
+
"examples/simple_document.rb",
|
|
31
|
+
"examples/simple_object.rb",
|
|
32
|
+
"features/collections.feature",
|
|
33
|
+
"features/embed_hash.feature",
|
|
34
|
+
"features/finders.feature",
|
|
35
|
+
"features/indexes.feature",
|
|
36
|
+
"features/mongodb.yml",
|
|
37
|
+
"features/mongodoc_base.feature",
|
|
38
|
+
"features/new_record.feature",
|
|
39
|
+
"features/partial_updates.feature",
|
|
40
|
+
"features/removing_documents.feature",
|
|
41
|
+
"features/saving_an_object.feature",
|
|
42
|
+
"features/scopes.feature",
|
|
43
|
+
"features/step_definitions/collection_steps.rb",
|
|
44
|
+
"features/step_definitions/document_steps.rb",
|
|
45
|
+
"features/step_definitions/documents.rb",
|
|
46
|
+
"features/step_definitions/embed_hash_steps.rb",
|
|
47
|
+
"features/step_definitions/finder_steps.rb",
|
|
48
|
+
"features/step_definitions/index_steps.rb",
|
|
49
|
+
"features/step_definitions/json_steps.rb",
|
|
50
|
+
"features/step_definitions/object_steps.rb",
|
|
51
|
+
"features/step_definitions/objects.rb",
|
|
52
|
+
"features/step_definitions/partial_update_steps.rb",
|
|
53
|
+
"features/step_definitions/query_steps.rb",
|
|
54
|
+
"features/step_definitions/removing_documents_steps.rb",
|
|
55
|
+
"features/step_definitions/scope_steps.rb",
|
|
56
|
+
"features/step_definitions/string_casting_steps.rb",
|
|
57
|
+
"features/step_definitions/util_steps.rb",
|
|
58
|
+
"features/string_casting.feature",
|
|
59
|
+
"features/support/support.rb",
|
|
60
|
+
"features/using_criteria.feature",
|
|
61
|
+
"lib/mongo_doc.rb",
|
|
62
|
+
"lib/mongo_doc/associations.rb",
|
|
63
|
+
"lib/mongo_doc/associations/collection_proxy.rb",
|
|
64
|
+
"lib/mongo_doc/associations/document_proxy.rb",
|
|
65
|
+
"lib/mongo_doc/associations/hash_proxy.rb",
|
|
66
|
+
"lib/mongo_doc/associations/proxy_base.rb",
|
|
67
|
+
"lib/mongo_doc/attributes.rb",
|
|
68
|
+
"lib/mongo_doc/bson.rb",
|
|
69
|
+
"lib/mongo_doc/collection.rb",
|
|
70
|
+
"lib/mongo_doc/connection.rb",
|
|
71
|
+
"lib/mongo_doc/contexts.rb",
|
|
72
|
+
"lib/mongo_doc/contexts/ids.rb",
|
|
73
|
+
"lib/mongo_doc/contexts/mongo.rb",
|
|
74
|
+
"lib/mongo_doc/criteria.rb",
|
|
75
|
+
"lib/mongo_doc/cursor.rb",
|
|
76
|
+
"lib/mongo_doc/document.rb",
|
|
77
|
+
"lib/mongo_doc/ext.rb",
|
|
78
|
+
"lib/mongo_doc/ext/array.rb",
|
|
79
|
+
"lib/mongo_doc/ext/binary.rb",
|
|
80
|
+
"lib/mongo_doc/ext/boolean_class.rb",
|
|
81
|
+
"lib/mongo_doc/ext/date.rb",
|
|
82
|
+
"lib/mongo_doc/ext/date_time.rb",
|
|
83
|
+
"lib/mongo_doc/ext/dbref.rb",
|
|
84
|
+
"lib/mongo_doc/ext/hash.rb",
|
|
85
|
+
"lib/mongo_doc/ext/min_max_keys.rb",
|
|
86
|
+
"lib/mongo_doc/ext/nil_class.rb",
|
|
87
|
+
"lib/mongo_doc/ext/numeric.rb",
|
|
88
|
+
"lib/mongo_doc/ext/object.rb",
|
|
89
|
+
"lib/mongo_doc/ext/object_id.rb",
|
|
90
|
+
"lib/mongo_doc/ext/regexp.rb",
|
|
91
|
+
"lib/mongo_doc/ext/string.rb",
|
|
92
|
+
"lib/mongo_doc/ext/symbol.rb",
|
|
93
|
+
"lib/mongo_doc/ext/time.rb",
|
|
94
|
+
"lib/mongo_doc/finders.rb",
|
|
95
|
+
"lib/mongo_doc/index.rb",
|
|
96
|
+
"lib/mongo_doc/matchers.rb",
|
|
97
|
+
"lib/mongo_doc/root.rb",
|
|
98
|
+
"lib/mongo_doc/scope.rb",
|
|
99
|
+
"lib/mongo_doc/validations.rb",
|
|
100
|
+
"lib/mongo_doc/validations/macros.rb",
|
|
101
|
+
"lib/mongo_doc/validations/validates_embedded.rb",
|
|
102
|
+
"lib/mongoid/contexts/enumerable.rb",
|
|
103
|
+
"lib/mongoid/contexts/paging.rb",
|
|
104
|
+
"lib/mongoid/criteria.rb",
|
|
105
|
+
"lib/mongoid/criterion/complex.rb",
|
|
106
|
+
"lib/mongoid/criterion/exclusion.rb",
|
|
107
|
+
"lib/mongoid/criterion/inclusion.rb",
|
|
108
|
+
"lib/mongoid/criterion/optional.rb",
|
|
109
|
+
"lib/mongoid/extensions/hash/criteria_helpers.rb",
|
|
110
|
+
"lib/mongoid/extensions/symbol/inflections.rb",
|
|
111
|
+
"lib/mongoid/matchers/all.rb",
|
|
112
|
+
"lib/mongoid/matchers/default.rb",
|
|
113
|
+
"lib/mongoid/matchers/exists.rb",
|
|
114
|
+
"lib/mongoid/matchers/gt.rb",
|
|
115
|
+
"lib/mongoid/matchers/gte.rb",
|
|
116
|
+
"lib/mongoid/matchers/in.rb",
|
|
117
|
+
"lib/mongoid/matchers/lt.rb",
|
|
118
|
+
"lib/mongoid/matchers/lte.rb",
|
|
119
|
+
"lib/mongoid/matchers/ne.rb",
|
|
120
|
+
"lib/mongoid/matchers/nin.rb",
|
|
121
|
+
"lib/mongoid/matchers/size.rb",
|
|
122
|
+
"mongo_doc_rails2.gemspec",
|
|
123
|
+
"mongod.example.yml",
|
|
124
|
+
"mongodb.example.yml",
|
|
125
|
+
"perf/mongo_doc_object.rb",
|
|
126
|
+
"perf/mongo_document.rb",
|
|
127
|
+
"perf/ruby_driver.rb",
|
|
128
|
+
"script/console",
|
|
129
|
+
"spec/array_including_argument_matcher.rb",
|
|
130
|
+
"spec/associations/collection_proxy_spec.rb",
|
|
131
|
+
"spec/associations/document_proxy_spec.rb",
|
|
132
|
+
"spec/associations/hash_proxy_spec.rb",
|
|
133
|
+
"spec/associations/proxy_base_spec.rb",
|
|
134
|
+
"spec/associations_spec.rb",
|
|
135
|
+
"spec/attributes_accessor_spec.rb",
|
|
136
|
+
"spec/attributes_spec.rb",
|
|
137
|
+
"spec/bson_matchers.rb",
|
|
138
|
+
"spec/bson_spec.rb",
|
|
139
|
+
"spec/collection_spec.rb",
|
|
140
|
+
"spec/connection_spec.rb",
|
|
141
|
+
"spec/contexts/ids_spec.rb",
|
|
142
|
+
"spec/contexts/mongo_spec.rb",
|
|
143
|
+
"spec/contexts_spec.rb",
|
|
144
|
+
"spec/criteria_spec.rb",
|
|
145
|
+
"spec/cursor_spec.rb",
|
|
146
|
+
"spec/document_ext.rb",
|
|
147
|
+
"spec/document_spec.rb",
|
|
148
|
+
"spec/embedded_save_spec.rb",
|
|
149
|
+
"spec/ext_spec.rb",
|
|
150
|
+
"spec/finders_spec.rb",
|
|
151
|
+
"spec/hash_matchers.rb",
|
|
152
|
+
"spec/index_spec.rb",
|
|
153
|
+
"spec/matchers_spec.rb",
|
|
154
|
+
"spec/mongodb.yml",
|
|
155
|
+
"spec/mongodb_pairs.yml",
|
|
156
|
+
"spec/new_record_spec.rb",
|
|
157
|
+
"spec/root_spec.rb",
|
|
158
|
+
"spec/scope_spec.rb",
|
|
159
|
+
"spec/spec.opts",
|
|
160
|
+
"spec/spec_helper.rb",
|
|
161
|
+
"spec/validations_spec.rb"
|
|
162
|
+
]
|
|
163
|
+
s.homepage = %q{http://github.com/leshill/mongodoc}
|
|
164
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
|
165
|
+
s.require_paths = ["lib"]
|
|
166
|
+
s.rubygems_version = %q{1.3.6}
|
|
167
|
+
s.summary = %q{ODM for MongoDB - for Rails 2.3.x}
|
|
168
|
+
s.test_files = [
|
|
169
|
+
"spec/array_including_argument_matcher.rb",
|
|
170
|
+
"spec/associations/collection_proxy_spec.rb",
|
|
171
|
+
"spec/associations/document_proxy_spec.rb",
|
|
172
|
+
"spec/associations/hash_proxy_spec.rb",
|
|
173
|
+
"spec/associations/proxy_base_spec.rb",
|
|
174
|
+
"spec/associations_spec.rb",
|
|
175
|
+
"spec/attributes_accessor_spec.rb",
|
|
176
|
+
"spec/attributes_spec.rb",
|
|
177
|
+
"spec/bson_matchers.rb",
|
|
178
|
+
"spec/bson_spec.rb",
|
|
179
|
+
"spec/collection_spec.rb",
|
|
180
|
+
"spec/connection_spec.rb",
|
|
181
|
+
"spec/contexts/ids_spec.rb",
|
|
182
|
+
"spec/contexts/mongo_spec.rb",
|
|
183
|
+
"spec/contexts_spec.rb",
|
|
184
|
+
"spec/criteria_spec.rb",
|
|
185
|
+
"spec/cursor_spec.rb",
|
|
186
|
+
"spec/document_ext.rb",
|
|
187
|
+
"spec/document_spec.rb",
|
|
188
|
+
"spec/embedded_save_spec.rb",
|
|
189
|
+
"spec/ext_spec.rb",
|
|
190
|
+
"spec/finders_spec.rb",
|
|
191
|
+
"spec/hash_matchers.rb",
|
|
192
|
+
"spec/index_spec.rb",
|
|
193
|
+
"spec/matchers_spec.rb",
|
|
194
|
+
"spec/new_record_spec.rb",
|
|
195
|
+
"spec/root_spec.rb",
|
|
196
|
+
"spec/scope_spec.rb",
|
|
197
|
+
"spec/spec_helper.rb",
|
|
198
|
+
"spec/validations_spec.rb",
|
|
199
|
+
"examples/simple_document.rb",
|
|
200
|
+
"examples/simple_object.rb"
|
|
201
|
+
]
|
|
202
|
+
|
|
203
|
+
if s.respond_to? :specification_version then
|
|
204
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
205
|
+
s.specification_version = 3
|
|
206
|
+
|
|
207
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
|
208
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
|
|
209
|
+
s.add_runtime_dependency(%q<mongo>, ["= 1.0.1"])
|
|
210
|
+
s.add_runtime_dependency(%q<bson>, ["= 1.0.1"])
|
|
211
|
+
s.add_runtime_dependency(%q<bson_ext>, ["= 1.0.1"])
|
|
212
|
+
s.add_runtime_dependency(%q<durran-validatable>, ["= 2.0.1"])
|
|
213
|
+
s.add_runtime_dependency(%q<leshill-will_paginate>, ["= 2.3.11"])
|
|
214
|
+
s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
|
|
215
|
+
s.add_development_dependency(%q<cucumber>, [">= 0.6.2"])
|
|
216
|
+
else
|
|
217
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
|
218
|
+
s.add_dependency(%q<mongo>, ["= 1.0.1"])
|
|
219
|
+
s.add_dependency(%q<bson>, ["= 1.0.1"])
|
|
220
|
+
s.add_dependency(%q<bson_ext>, ["= 1.0.1"])
|
|
221
|
+
s.add_dependency(%q<durran-validatable>, ["= 2.0.1"])
|
|
222
|
+
s.add_dependency(%q<leshill-will_paginate>, ["= 2.3.11"])
|
|
223
|
+
s.add_dependency(%q<rspec>, ["= 1.3.0"])
|
|
224
|
+
s.add_dependency(%q<cucumber>, [">= 0.6.2"])
|
|
225
|
+
end
|
|
226
|
+
else
|
|
227
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
|
228
|
+
s.add_dependency(%q<mongo>, ["= 1.0.1"])
|
|
229
|
+
s.add_dependency(%q<bson>, ["= 1.0.1"])
|
|
230
|
+
s.add_dependency(%q<bson_ext>, ["= 1.0.1"])
|
|
231
|
+
s.add_dependency(%q<durran-validatable>, ["= 2.0.1"])
|
|
232
|
+
s.add_dependency(%q<leshill-will_paginate>, ["= 2.3.11"])
|
|
233
|
+
s.add_dependency(%q<rspec>, ["= 1.3.0"])
|
|
234
|
+
s.add_dependency(%q<cucumber>, [">= 0.6.2"])
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
|