Sha256: 8f577a4b4079fc2fd50e7bf840ea20be5a7f810db1f405ff48029a4afa1ec731

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

require 'set'

require 'cassandra_object/log_subscriber'
require 'cassandra_object/types'
require 'cassandra_object/errors'

module CassandraObject
  class Base
    class << self
      def column_family=(column_family)
        @column_family = column_family
      end

      def column_family
        @column_family ||= base_class.name.pluralize
      end

      def base_class
        klass = self
        while klass.superclass != Base
          klass = klass.superclass
        end
        klass
      end

      def config=(config)
        @@config = config.is_a?(Hash) ? CassandraObject::Config.new(config) : config
      end

      def config
        @@config
      end
    end

    extend ActiveModel::Naming
    include ActiveModel::Conversion
    extend ActiveSupport::DescendantsTracker

    include Connection
    include Consistency
    include Identity
    include Inspect
    include Persistence
    include AttributeMethods
    include Validations
    include AttributeMethods::Dirty
    include AttributeMethods::PrimaryKey
    include AttributeMethods::Typecasting
    include BelongsTo
    include Callbacks, ActiveModel::Observing
    include Timestamps
    include Savepoints
    include Scoping
    include Core

    include Serialization
  end
end

ActiveSupport.run_load_hooks(:cassandra_object, CassandraObject::Base)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gotime-cassandra_object-4.7.1 lib/cassandra_object/base.rb
gotime-cassandra_object-4.7.0 lib/cassandra_object/base.rb
gotime-cassandra_object-4.6.0 lib/cassandra_object/base.rb