Class: Cassandra::Types::List

Inherits:
Cassandra::Type show all
Defined in:
lib/cassandra/types.rb

Instance Attribute Summary

Attributes inherited from Cassandra::Type

#kind

Instance Method Summary collapse

Instance Method Details

#assert(value, message = nil, &block) ⇒ void

This method returns an undefined value.

Asserts that a given value is an Array

Parameters:

  • value (Object)

    value to be validated

  • message (String) (defaults to: nil)

    error message to use when assertion fails

Yield Returns:

  • (String)

    error message to use when assertion fails

Raises:

  • (ArgumentError)

    if the value is not an Array

See Also:



651
652
653
654
655
656
657
# File 'lib/cassandra/types.rb', line 651

def assert(value, message = nil, &block)
  Util.assert_instance_of(::Array, value, message, &block)
  value.each do |v|
    Util.assert_type(@value_type, v, message, &block)
  end
  nil
end

#eql?(other) ⇒ Boolean Also known as: ==

Returns:



674
675
676
# File 'lib/cassandra/types.rb', line 674

def eql?(other)
  other.is_a?(List) && @value_type == other.value_type
end

#hashObject



665
666
667
668
669
670
671
672
# File 'lib/cassandra/types.rb', line 665

def hash
  @hash ||= begin
    h = 17
    h = 31 * h + @kind.hash
    h = 31 * h + @value_type.hash
    h
  end
end

#new(*value) ⇒ Array

Coerces the value to Array

Parameters:

  • value (Object)

    original value

Returns:

  • (Array)

    value

See Also:



635
636
637
638
639
640
641
642
# File 'lib/cassandra/types.rb', line 635

def new(*value)
  value = Array(value.first) if value.one?

  value.each do |v|
    Util.assert_type(@value_type, v)
  end
  value
end

#to_sString

Returns "list<type>".

Returns:

  • (String)

    "list<type>"

See Also:



661
662
663
# File 'lib/cassandra/types.rb', line 661

def to_s
  "list<#{@value_type}>"
end