module Utusemi

Constants

VERSION

Public Class Methods

config() click to toggle source
# File lib/utusemi.rb, line 24
def config
  @configuration ||= Configuration.new
end
configure(&block) click to toggle source
# File lib/utusemi.rb, line 28
def configure(&block)
  config.instance_eval(&block)
end
enable() click to toggle source
# File lib/utusemi.rb, line 10
def enable
  this = self
  ActiveSupport.on_load(:active_record) do
    # for instance
    this.include_to_activerecord_base
    # for model and relation
    this.prepend_to_activerecord_base
    this.prepend_to_activerecord_relation
    this.prepend_to_activerecord_singleton_class
    this.prepend_to_activerecord_associations_hasmanyassociation
    this.prepend_to_activerecord_associations_collectionproxy
  end
end
include_to_activerecord_base() click to toggle source
# File lib/utusemi.rb, line 32
def include_to_activerecord_base
  # TODO: Organize name spaces
  ActiveRecord::Base.send(:include, Core::InstanceMethods)
end
prepend_to_activerecord_associations_collectionproxy() click to toggle source
# File lib/utusemi.rb, line 58
def prepend_to_activerecord_associations_collectionproxy
  ActiveRecord::Associations::CollectionProxy.send(:prepend, Core::ActiveRecord::CollectionProxy) if Rails::VERSION::MAJOR == 3
end
prepend_to_activerecord_associations_hasmanyassociation() click to toggle source
# File lib/utusemi.rb, line 54
def prepend_to_activerecord_associations_hasmanyassociation
  ActiveRecord::Associations::HasManyAssociation.send(:prepend, Core::ActiveRecord::Associations)
end
prepend_to_activerecord_base() click to toggle source
# File lib/utusemi.rb, line 37
def prepend_to_activerecord_base
  ActiveRecord::Base.send(:prepend, Core::ActiveRecord::Base)
end
prepend_to_activerecord_relation() click to toggle source
# File lib/utusemi.rb, line 41
def prepend_to_activerecord_relation
  ActiveRecord::Relation.send(:prepend, Core::ActiveRecord::QueryMethods)
  ActiveRecord::Relation.send(:prepend, Core::ActiveRecord::Relation)
end
prepend_to_activerecord_singleton_class() click to toggle source
# File lib/utusemi.rb, line 46
def prepend_to_activerecord_singleton_class
  ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::Base::ClassMethods)
  # for rails 3.x
  ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::RelationMethod) if Rails::VERSION::MAJOR == 3
  # for association
  ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::AssociationMethods)
end