mongoid 2.0.0 → 2.0.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/lib/mongoid/config.rb
CHANGED
@@ -40,13 +40,14 @@ module Mongoid #:nodoc
|
|
40
40
|
option :binding_defaults, :default => { :binding => false, :continue => true }
|
41
41
|
option :embedded_object_id, :default => true
|
42
42
|
option :include_root_in_json, :default => false
|
43
|
+
option :max_retries_on_connection_failure, :default => 0
|
43
44
|
option :parameterize_keys, :default => true
|
44
45
|
option :persist_in_safe_mode, :default => false
|
45
46
|
option :preload_models, :default => true
|
46
47
|
option :raise_not_found_error, :default => true
|
47
48
|
option :skip_version_check, :default => false
|
48
49
|
option :time_zone, :default => nil
|
49
|
-
option :
|
50
|
+
option :use_utc, :default => false
|
50
51
|
|
51
52
|
# Adds a new I18n locale file to the load path.
|
52
53
|
#
|
@@ -114,6 +115,23 @@ module Mongoid #:nodoc
|
|
114
115
|
configure_extras(options["databases"])
|
115
116
|
end
|
116
117
|
|
118
|
+
# Load the settings from a compliant mongoid.yml file. This can be used for
|
119
|
+
# easy setup with frameworks other than Rails.
|
120
|
+
#
|
121
|
+
# @example Configure Mongoid.
|
122
|
+
# Mongoid.load!("/path/to/mongoid.yml")
|
123
|
+
#
|
124
|
+
# @param [ String ] path The path to the file.
|
125
|
+
#
|
126
|
+
# @since 2.0.1
|
127
|
+
def load!(path)
|
128
|
+
environment = defined?(Rails) ? Rails.env : ENV["RACK_ENV"]
|
129
|
+
settings = YAML.load(ERB.new(File.new(path).read).result)[environment]
|
130
|
+
if settings.present?
|
131
|
+
from_hash(settings)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
117
135
|
# Returns the logger, or defaults to Rails logger or stdout logger.
|
118
136
|
#
|
119
137
|
# @example Get the logger.
|
@@ -259,30 +277,6 @@ module Mongoid #:nodoc
|
|
259
277
|
@slaves
|
260
278
|
end
|
261
279
|
|
262
|
-
# Sets whether the times returned from the database are in UTC or local time.
|
263
|
-
# If you omit this setting, then times will be returned in
|
264
|
-
# the local time zone.
|
265
|
-
#
|
266
|
-
# @example Set the use of UTC.
|
267
|
-
# config.use_utc = true
|
268
|
-
#
|
269
|
-
# @param [ true, false ] value Whether to use UTC or not.
|
270
|
-
#
|
271
|
-
# @return [ true, false ] Are we using UTC?
|
272
|
-
def use_utc=(value)
|
273
|
-
@use_utc = value || false
|
274
|
-
end
|
275
|
-
|
276
|
-
# Returns whether times are return from the database in UTC. If
|
277
|
-
# this setting is false, then times will be returned in the local time zone.
|
278
|
-
#
|
279
|
-
# @example Are we using UTC?
|
280
|
-
# config.use_utc
|
281
|
-
#
|
282
|
-
# @return [ true, false ] True if UTC, false if not.
|
283
|
-
attr_reader :use_utc
|
284
|
-
alias :use_utc? :use_utc
|
285
|
-
|
286
280
|
protected
|
287
281
|
|
288
282
|
# Check if the database is valid and the correct version.
|
data/lib/mongoid/fields.rb
CHANGED
@@ -35,7 +35,6 @@ module Mongoid #:nodoc
|
|
35
35
|
def field(name, options = {})
|
36
36
|
access = name.to_s
|
37
37
|
set_field(access, options)
|
38
|
-
attr_protected name if options[:accessible] == false
|
39
38
|
end
|
40
39
|
|
41
40
|
# Return the fields for this class.
|
@@ -120,7 +119,11 @@ module Mongoid #:nodoc
|
|
120
119
|
# @param [ Hash ] options The options.
|
121
120
|
def create_accessors(name, meth, options = {})
|
122
121
|
generated_field_methods.module_eval do
|
123
|
-
|
122
|
+
if [ Time, DateTime ].include?(options[:type])
|
123
|
+
define_method(meth) { Time.get(read_attribute(name)) }
|
124
|
+
else
|
125
|
+
define_method(meth) { read_attribute(name) }
|
126
|
+
end
|
124
127
|
define_method("#{meth}=") { |value| write_attribute(name, value) }
|
125
128
|
define_method("#{meth}?") do
|
126
129
|
attr = read_attribute(name)
|
@@ -112,13 +112,10 @@ module Mongoid # :nodoc:
|
|
112
112
|
# attrs: The single document attributes to process.
|
113
113
|
def process(attrs)
|
114
114
|
return if reject?(attrs)
|
115
|
-
if attrs[:id]
|
116
|
-
id = attrs[:id] || attrs['id'] || attrs['_id']
|
115
|
+
if id = attrs[:id] || attrs["id"] || attrs["_id"]
|
117
116
|
document = existing.find(convert_id(id))
|
118
117
|
destroyable?(attrs) ? document.destroy : document.update_attributes(attrs)
|
119
118
|
else
|
120
|
-
# @todo: Durran: Tell the push not to save the base and call it
|
121
|
-
# after all processing is done. This is related to #581.
|
122
119
|
existing.push(metadata.klass.new(attrs)) unless destroyable?(attrs)
|
123
120
|
end
|
124
121
|
end
|
data/lib/mongoid/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 2
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 2.0.
|
8
|
+
- 1
|
9
|
+
version: 2.0.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Durran Jordan
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-04-06 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -70,8 +70,8 @@ dependencies:
|
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
segments:
|
72
72
|
- 1
|
73
|
-
-
|
74
|
-
version: "1.
|
73
|
+
- 3
|
74
|
+
version: "1.3"
|
75
75
|
type: :runtime
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: *id004
|
@@ -84,8 +84,8 @@ dependencies:
|
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
segments:
|
86
86
|
- 1
|
87
|
-
-
|
88
|
-
version: "1.
|
87
|
+
- 3
|
88
|
+
version: "1.3"
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
91
|
version_requirements: *id005
|
@@ -379,7 +379,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
379
379
|
requirements:
|
380
380
|
- - ">="
|
381
381
|
- !ruby/object:Gem::Version
|
382
|
-
hash:
|
382
|
+
hash: -858318852006999862
|
383
383
|
segments:
|
384
384
|
- 0
|
385
385
|
version: "0"
|