class Cassandra::Types::Tuple

Attributes

members[R]

@private

Public Class Methods

new(*members) click to toggle source

@private

Calls superclass method Cassandra::Type::new
     # File lib/cassandra/types.rb
1085 def initialize(*members)
1086   super(:tuple)
1087   @members = members
1088 end

Public Instance Methods

==(other)
Alias for: eql?
assert(value, message = nil, &block) click to toggle source

Asserts that a given value is an Cassandra::Tuple @param value [Object] value to be validated @param message [String] error message to use when assertion fails @yieldreturn [String] error message to use when assertion fails @raise [ArgumentError] if the value is not an Cassandra::Tuple @return [void] @see Cassandra::Type#assert

     # File lib/cassandra/types.rb
1115 def assert(value, message = nil, &block)
1116   Util.assert_instance_of(Cassandra::Tuple, value, message, &block)
1117   Util.assert(value.size <= @members.size, message, &block)
1118   @members.each_with_index do |type, i|
1119     Util.assert_type(type, value[i], message, &block)
1120   end
1121   nil
1122 end
eql?(other) click to toggle source
     # File lib/cassandra/types.rb
1139 def eql?(other)
1140   other.is_a?(Tuple) && @members == other.members
1141 end
Also aliased as: ==
hash() click to toggle source
     # File lib/cassandra/types.rb
1130 def hash
1131   @hash ||= begin
1132     h = 17
1133     h = 31 * h + @kind.hash
1134     h = 31 * h + @members.hash
1135     h
1136   end
1137 end
new(*values) click to toggle source

Coerces the value to Cassandra::Tuple @param values [*Object] tuple values @return [Cassandra::Tuple] value @see Cassandra::Type#new @example Creating a tuple

include Cassandra::Types

tuple(varchar, varchar, int).new('Jane', 'Smith', 38) # => (Jane, Smith, 38)
     # File lib/cassandra/types.rb
1098 def new(*values)
1099   Util.assert(values.size <= @members.size) do
1100     "too many values: #{values.size} out of max #{@members.size}"
1101   end
1102   values.each_with_index do |v, i|
1103     Util.assert_type(@members[i], v)
1104   end
1105   Cassandra::Tuple::Strict.new(@members, values)
1106 end
to_s() click to toggle source

@return [String] `“tuple<type, type, type…>”` @see Cassandra::Type#to_s

     # File lib/cassandra/types.rb
1126 def to_s
1127   "tuple<#{@members.map(&:to_s).join(', ')}>"
1128 end