Class: Cequel::Record::Set
- Inherits:
-
Set
- Object
- Set
- Cequel::Record::Set
- Includes:
- Collection
- Defined in:
- lib/cequel/record/collection.rb
Overview
The value of a set column in a Cequel::Record instance. Contains an unordered, unique set of elements. Encapsulates and behaves like the ‘Set` type from the standard library.
Constant Summary collapse
- NON_ATOMIC_MUTATORS =
These methods are not implemented because they cannot be expressed as a single CQL3 write operation.
[ :add?, :collect!, :delete?, :delete_if, :flatten!, :keep_if, :map!, :reject!, :select! ]
Instance Method Summary collapse
-
#add(object) ⇒ Set
(also: #<<)
Add an element to the set.
-
#clear ⇒ Set
Remove everything from the set.
-
#delete(object) ⇒ Set
Remove a single element from the set.
-
#replace(set) ⇒ Set
Replace the entire contents of this set with another set.
Methods included from Collection
#column_name, #initialize, #inspect, #loaded!, #loaded?, #persisted!
Methods included from Util::Forwardable
Instance Method Details
#add(object) ⇒ Set Also known as: <<
Add an element to the set
376 377 378 379 380 |
# File 'lib/cequel/record/collection.rb', line 376 def add(object) object = cast_element(object) to_update { updater.set_add(column_name, object) } to_modify { super } end |
#clear ⇒ Set
Remove everything from the set. Equivalent to deleting the collection column from the record’s row.
389 390 391 392 |
# File 'lib/cequel/record/collection.rb', line 389 def clear to_update { deleter.delete_columns(column_name) } to_modify { super } end |
#delete(object) ⇒ Set
Remove a single element from the set
400 401 402 403 404 |
# File 'lib/cequel/record/collection.rb', line 400 def delete(object) object = cast_element(object) to_update { updater.set_remove(column_name, object) } to_modify { super } end |
#replace(set) ⇒ Set
Replace the entire contents of this set with another set
412 413 414 415 416 |
# File 'lib/cequel/record/collection.rb', line 412 def replace(set) set = cast_collection(set) to_update { updater.set(column_name => set) } to_modify { super } end |