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
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