# File lib/believer/columns.rb, line 54 def primary_key(*cols) @primary_key = *cols end
module Believer::Columns::ClassMethods
Public Instance Methods
apply_cql_result_row_conversion=(b)
click to toggle source
# File lib/believer/columns.rb, line 87 def apply_cql_result_row_conversion=(b) @apply_cql_result_row_conversion = b end
apply_cql_result_row_conversion?()
click to toggle source
# File lib/believer/columns.rb, line 80 def apply_cql_result_row_conversion? if @apply_cql_result_row_conversion.nil? @apply_cql_result_row_conversion = columns.any? {|name, col| col.apply_cql_result_row_conversion?} end @apply_cql_result_row_conversion end
column(name, opts = {})
click to toggle source
Defines a column on the model. The column name must correspond with the Cassandra column name
# File lib/believer/columns.rb, line 33 def column(name, opts = {}) defaults = { :type => :string } options = defaults.merge(opts).merge(:name => name) columns[name] = ::Believer::Column.new(options) self.redefine_method(name) do read_attribute(name) end self.redefine_method("#{name}=") do |val| write_attribute(name, val) end end
columns()
click to toggle source
Returns all columns on the model @return []
# File lib/believer/columns.rb, line 27 def columns @columns ||= {} end
columns_with_type(t)
click to toggle source
# File lib/believer/columns.rb, line 50 def columns_with_type(t) columns.values.find_all {|col| col.ruby_type == t} end
get_primary_key()
click to toggle source
# File lib/believer/columns.rb, line 58 def get_primary_key @primary_key.dup end
has_compound_key?()
click to toggle source
# File lib/believer/columns.rb, line 76 def has_compound_key? @primary_key.size > 1 end
partition_key()
click to toggle source
# File lib/believer/columns.rb, line 66 def partition_key @primary_key.first.dup end
partition_keys()
click to toggle source
# File lib/believer/columns.rb, line 70 def partition_keys part_key = partition_key return part_key.dup if part_key.is_a?(Enumerable) [part_key] end
primary_key(*cols)
click to toggle source
primary_key_columns()
click to toggle source
# File lib/believer/columns.rb, line 62 def primary_key_columns @primary_key.flatten end