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 1044 def initialize(*members) 1045 super(:tuple) 1046 @members = members 1047 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 1074 def assert(value, message = nil, &block) 1075 Util.assert_instance_of(Cassandra::Tuple, value, message, &block) 1076 Util.assert(value.size <= @members.size, message, &block) 1077 @members.each_with_index do |type, i| 1078 Util.assert_type(type, value[i], message, &block) 1079 end 1080 nil 1081 end
eql?(other)
click to toggle source
# File lib/cassandra/types.rb 1098 def eql?(other) 1099 other.is_a?(Tuple) && @members == other.members 1100 end
Also aliased as: ==
hash()
click to toggle source
# File lib/cassandra/types.rb 1089 def hash 1090 @hash ||= begin 1091 h = 17 1092 h = 31 * h + @kind.hash 1093 h = 31 * h + @members.hash 1094 h 1095 end 1096 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 1057 def new(*values) 1058 Util.assert(values.size <= @members.size) do 1059 "too many values: #{values.size} out of max #{@members.size}" 1060 end 1061 values.each_with_index do |v, i| 1062 Util.assert_type(@members[i], v) 1063 end 1064 Cassandra::Tuple::Strict.new(@members, values) 1065 end
to_s()
click to toggle source
@return [String] `“tuple<type, type, type…>”` @see Cassandra::Type#to_s
# File lib/cassandra/types.rb 1085 def to_s 1086 "tuple<#{@members.map(&:to_s).join(', ')}>" 1087 end