lib/toy.rb in toystore-0.8.3 vs lib/toy.rb in toystore-0.9.0
- old
+ new
@@ -3,45 +3,41 @@
require 'forwardable'
require 'digest/sha1'
root_path = Pathname(__FILE__).dirname.join('..').expand_path
-require 'adapter'
+require 'adapter/memory'
require 'simple_uuid'
require 'active_model'
require 'active_support/json'
-require 'active_support/core_ext/object'
-require 'active_support/core_ext/hash/keys'
-require 'active_support/core_ext/class/inheritable_attributes'
-require 'active_support/core_ext/string/conversions'
-require 'active_support/core_ext/string/inflections'
+require 'active_support/core_ext'
extensions_path = root_path.join('lib', 'toy', 'extensions')
Dir[extensions_path + '**/*.rb'].each { |file| require(file) }
module Toy
extend self
# Resets all tracking of things in memory. Useful for running
# before each request in development mode with Rails and such.
def reset
- identity_map.clear
+ IdentityMap.clear
plugins.clear
models.clear
end
- # Clears all the stores for all the models. Useful in specs/tests/etc.
+ # Clears all the adapters for all the models. Useful in specs/tests/etc.
# Do not use in production, harty harr harr.
#
# Note: that if your models are auto-loaded like in Rails, you will need
# to make sure they are loaded in order to clear them or ToyStore will
# not be aware of their existence.
def clear
models.each do |model|
- model.store.clear if model.has_store?
- model.identity_map.clear if model.identity_map_on?
+ model.adapter.clear
end
+ IdentityMap.clear
end
def logger
@logger
end
@@ -63,40 +59,45 @@
end
module Middleware
autoload 'IdentityMap', 'toy/middleware/identity_map'
end
+
+ autoload 'Attribute', 'toy/attribute'
+ autoload 'Attribute', 'toy/attribute'
+ autoload 'Attributes', 'toy/attributes'
+ autoload 'Caching', 'toy/caching'
+ autoload 'Callbacks', 'toy/callbacks'
+ autoload 'Dirty', 'toy/dirty'
+ autoload 'DirtyStore', 'toy/dirty_store'
+ autoload 'Cloneable', 'toy/cloneable'
+ autoload 'Equality', 'toy/equality'
+ autoload 'Inspect', 'toy/inspect'
+ autoload 'Logger', 'toy/logger'
+ autoload 'MassAssignmentSecurity', 'toy/mass_assignment_security'
+ autoload 'Persistence', 'toy/persistence'
+ autoload 'Querying', 'toy/querying'
+ autoload 'Reloadable', 'toy/reloadable'
+ autoload 'Serialization', 'toy/serialization'
+ autoload 'Timestamps', 'toy/timestamps'
+ autoload 'Validations', 'toy/validations'
+
+ autoload 'Collection', 'toy/collection'
+ autoload 'List', 'toy/list'
+ autoload 'Lists', 'toy/lists'
+ autoload 'Reference', 'toy/reference'
+ autoload 'References', 'toy/references'
+ autoload 'Identity', 'toy/identity'
+
+ module Identity
+ autoload 'AbstractKeyFactory', 'toy/identity/abstract_key_factory'
+ autoload 'UUIDKeyFactory', 'toy/identity/uuid_key_factory'
+ end
end
+require 'toy/identity_map'
require 'toy/exceptions'
-require 'toy/attribute'
-require 'toy/attributes'
-require 'toy/callbacks'
-require 'toy/dirty'
-require 'toy/dolly'
-require 'toy/equality'
-require 'toy/inspect'
-require 'toy/persistence'
-require 'toy/mass_assignment_security'
require 'toy/plugins'
+require 'toy/object'
require 'toy/store'
-require 'toy/serialization'
-require 'toy/timestamps'
-require 'toy/validations'
-require 'toy/querying'
-require 'toy/identity_map'
-require 'toy/collection'
-require 'toy/embedded_list'
-require 'toy/embedded_lists'
-require 'toy/list'
-require 'toy/lists'
-require 'toy/reference'
-require 'toy/references'
-
-require 'toy/index'
-require 'toy/indices'
-require 'toy/identity/abstract_key_factory'
-require 'toy/identity/uuid_key_factory'
-require 'toy/identity'
-require 'toy/caching'
-require 'toy/logger'
+Toy::IdentityMap.enabled = false
\ No newline at end of file