Sha256: 466d85c0ee44016165614ff0a71a75d3533f7a74ddf3a7a3c5177c11cac24380
Contents?: true
Size: 1.47 KB
Versions: 3
Compression:
Stored size: 1.47 KB
Contents
module CassandraObject module Model def column_family=(column_family) @column_family = column_family end def column_family @column_family ||= base_class.name.pluralize end def base_class class_of_active_record_descendant(self) end def config=(config) @@config = config.deep_symbolize_keys end def config return self.custom_config if self.methods(false).include?(:custom_config) @@config end def allow_filtering=(value) @allow_filtering = value end def allow_filtering @allow_filtering ||= false end def _key # todo only first key keys.tr('()','').split(',').first end def keys=(value) @keys = value end def keys @keys ||= '(key)' end private # Returns the class descending directly from ActiveRecord::Base or an # abstract class, if any, in the inheritance hierarchy. def class_of_active_record_descendant(klass) # klass if (klass == Base || klass.superclass == Base) || (klass == BaseSchemaless || klass.superclass == BaseSchemaless) || (klass == BaseSchema || klass.superclass == BaseSchema) || (klass == BaseSchemalessDynamic || klass.superclass == BaseSchemalessDynamic) klass elsif klass.superclass.nil? raise "#{name} doesn't belong in a hierarchy descending from CassandraObject" else class_of_active_record_descendant(klass.superclass) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
extendi-cassandra_object-1.0.9 | lib/cassandra_object/model.rb |
extendi-cassandra_object-1.0.8 | lib/cassandra_object/model.rb |
extendi-cassandra_object-1.0.7 | lib/cassandra_object/model.rb |