Sha256: 3bd531fb5bf23f4580d38272bcaab364b69990138bbbda0745d2ec4372f5c8b1
Contents?: true
Size: 913 Bytes
Versions: 2
Compression:
Stored size: 913 Bytes
Contents
# frozen_string_literal: true require 'clowne/version' require 'clowne/declarations' require 'clowne/cloner' require 'clowne/adapters/base' # Declarative models cloning module Clowne # List of built-in adapters ADAPTERS = { base: 'Base', active_record: 'ActiveRecord' }.freeze class << self attr_reader :default_adapter, :raise_on_override # Set default adapters for all cloners def default_adapter=(adapter) @default_adapter = resolve_adapter(adapter) end def resolve_adapter(adapter) if adapter.is_a?(Class) adapter.new elsif adapter.is_a?(Symbol) adapter_class = ADAPTERS[adapter] raise "Unknown adapter: #{adapter}" if adapter_class.nil? Clowne::Adapters.const_get(adapter_class).new else adapter end end end end require 'clowne/adapters/active_record' if defined?(::ActiveRecord)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
clowne-0.1.0.beta1 | lib/clowne.rb |
clowne-0.1.0.pre1 | lib/clowne.rb |