lib/rom.rb in rom-0.4.2 vs lib/rom.rb in rom-0.5.0
- old
+ new
@@ -5,28 +5,31 @@
require 'rom/version'
require 'rom/support/registry'
require 'rom/header'
require 'rom/relation'
-require 'rom/transformer'
require 'rom/mapper'
require 'rom/reader'
+require 'rom/processor/transproc'
+
require 'rom/commands'
require 'rom/adapter'
require 'rom/repository'
+
+require 'rom/config'
require 'rom/env'
-require 'rom/ra'
+require 'rom/global'
+require 'rom/setup'
-require 'rom/boot'
-
module ROM
EnvAlreadyFinalizedError = Class.new(StandardError)
CommandError = Class.new(StandardError)
TupleCountMismatchError = Class.new(CommandError)
+ NoRelationError = Class.new(StandardError)
InvalidOptionError = Class.new(StandardError) do
def initialize(option, valid_values)
super("#{option} should be one of #{valid_values.inspect}")
end
@@ -34,69 +37,9 @@
Schema = Class.new(Registry)
RelationRegistry = Class.new(Registry)
ReaderRegistry = Class.new(Registry)
- # Starts the setup process for schema, relations and mappers
- #
- # @param [Hash] options repository URIs
- #
- # @return [Boot] boot object
- #
- # @api public
- def self.setup(options, &block)
- adapters = options.each_with_object({}) do |(name, uri), hash|
- hash[name] = Adapter.setup(uri)
- end
+ EMPTY_HASH = {}.freeze
- repositories = adapters.each_with_object({}) do |(name, adapter), hash|
- hash[name] = Repository.new(adapter)
- end
-
- boot = Boot.new(repositories)
-
- if block
- boot.instance_exec(&block)
- boot.finalize
- else
- @boot = boot
- end
- end
-
- # @api public
- def self.schema(&block)
- boot.schema(&block)
- end
-
- # @api public
- def self.relation(*args, &block)
- boot.relation(*args, &block)
- end
-
- # @api public
- def self.commands(*args, &block)
- boot.commands(*args, &block)
- end
-
- # @api public
- def self.mappers(*args, &block)
- boot.mappers(*args, &block)
- end
-
- # @api public
- def self.env
- @env
- end
-
- # @api public
- def self.finalize
- @env = boot.finalize
- @boot = nil
- self
- end
-
- # @api private
- def self.boot
- @boot
- end
-
+ extend Global
end