module Clowne

Declarative models cloning

Constants

ADAPTERS

List of built-in adapters rubocop:disable Layout/AlignHash

VERSION

Attributes

default_adapter[R]
raise_on_override[R]

Public Class Methods

default_adapter=(adapter) click to toggle source

Set default adapters for all cloners

# File lib/clowne.rb, line 24
def default_adapter=(adapter)
  @default_adapter = resolve_adapter(adapter)
end
resolve_adapter(adapter) click to toggle source
# File lib/clowne.rb, line 28
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