Sha256: 4ba3c76b366406b3daa12641b64f16e55cf537f48416b09413a0a103906c2f4e

Contents?: true

Size: 640 Bytes

Versions: 69

Compression:

Stored size: 640 Bytes

Contents

module CassandraObject
  module Configuration
    extend ActiveSupport::Concern
    
    module ClassMethods

      def recursive_symbolize_keys!(hash)
        hash.symbolize_keys!
        hash.values.select{|v| v.is_a? Hash}.each{|h| recursive_symbolize_keys!(h)}
      end

      @@config = nil
      def config=(config)
        raise('attempt to set config multiple times') if @@config

        recursive_symbolize_keys!(config)

        (@@config = config).tap do
          set_default_consistencies(@@config)
          establish_connection(@@config)
        end
      end
      def config
        @@config
      end

    end
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
sessionm-cassandra_object-2.3.9 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.8 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.6 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.5 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.4 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.3 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.2 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.1 lib/cassandra_object/configuration.rb
sessionm-cassandra_object-2.3.0 lib/cassandra_object/configuration.rb