Class: Cassanity::Column

Inherits:
Object
  • Object
show all
Defined in:
lib/cassanity/column.rb

Constant Summary collapse

Types =
{
  "org.apache.cassandra.db.marshal.AsciiType" => :ascii,
  "org.apache.cassandra.db.marshal.BooleanType" => :boolean,
  "org.apache.cassandra.db.marshal.BytesType" => :blob,
  "org.apache.cassandra.db.marshal.CounterColumnType" => :counter,
  "org.apache.cassandra.db.marshal.DateType" => :timestamp,
  "org.apache.cassandra.db.marshal.DecimalType" => :decimal,
  "org.apache.cassandra.db.marshal.DoubleType" => :double,
  "org.apache.cassandra.db.marshal.FloatType" => :float,
  "org.apache.cassandra.db.marshal.Int32Type" => :int,
  "org.apache.cassandra.db.marshal.InetAddressType" => :inet,
  "org.apache.cassandra.db.marshal.IntegerType" => :varint,
  "org.apache.cassandra.db.marshal.LongType" => :bigint,
  "org.apache.cassandra.db.marshal.TimeUUIDType" => :timeuuid,
  "org.apache.cassandra.db.marshal.UTF8Type" => :text,
  "org.apache.cassandra.db.marshal.UUIDType" => :uuid,
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Column

Returns a new instance of Column.



31
32
33
34
35
36
# File 'lib/cassanity/column.rb', line 31

def initialize(args = {})
  @name = args.fetch(:name).to_sym
  type = args.fetch(:type)
  @type = Types.fetch(type, type)
  @column_family = args.fetch(:column_family)
end

Instance Attribute Details

#column_familyObject (readonly)

Public: The Cassanity::ColumnFamily the column is in.



29
30
31
# File 'lib/cassanity/column.rb', line 29

def column_family
  @column_family
end

#nameObject (readonly)

Public: The name of the column.



23
24
25
# File 'lib/cassanity/column.rb', line 23

def name
  @name
end

#typeObject (readonly)

Public: The type of the column.



26
27
28
# File 'lib/cassanity/column.rb', line 26

def type
  @type
end

Instance Method Details

#inspectObject

Public



39
40
41
42
43
44
45
46
# File 'lib/cassanity/column.rb', line 39

def inspect
  attributes = [
    "name=#{@name.inspect}",
    "type=#{@type.inspect}",
    "column_family=#{@column_family.inspect}",
  ]
  "#<#{self.class.name}:#{object_id} #{attributes.join(', ')}>"
end