Sha256: be77c975bd969fdd74639b3b3c3ded964b0585c7ce90fcecb9ccad079d2c050c
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module Clowne module Adapters # Extend ActiveRecord with Clowne DSL and methods module ActiveRecordDSL module InstanceMethods # :nodoc: # Shortcut to call class's cloner call with self def clowne(*args) self.class.cloner_class.call(self, *args) end end module ClassMethods # :nodoc: def clowne_config(options = {}, &block) if options.delete(:inherit) != false && superclass.respond_to?(:cloner_class) parent_cloner = superclass.cloner_class end parent_cloner ||= Clowne::Cloner cloner = instance_variable_set(:@_clowne_cloner, Class.new(parent_cloner)) cloner.adapter :active_record cloner.instance_exec(&block) end end end end end ActiveSupport.on_load(:active_record) do ::ActiveRecord::Base.extend Clowne::Adapters::ActiveRecordDSL::ClassMethods ::ActiveRecord::Base.include Clowne::Adapters::ActiveRecordDSL::InstanceMethods end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
clowne-0.1.0.beta1 | lib/clowne/adapters/active_record/dsl.rb |