Sha256: 19e3996c2bd07047e74009b6bf9cc8407430ddba812b10025902506d147903ed

Contents?: true

Size: 1.52 KB

Versions: 9

Compression:

Stored size: 1.52 KB

Contents

require_relative '_shared'
require 'cassanity'

client = Cassanity::Client.new('127.0.0.1:9160', {
  instrumenter: ActiveSupport::Notifications,
})

keyspace = client['cassanity_examples']
keyspace.recreate

# get an instance of a column family, providing schema means it can create itself
rollups = keyspace.column_family({
  name: :rollups,
  schema: {
    primary_key: :id,
    columns: {
      id: :text,
      value: :counter,
    },
  },
})

# create column family based on schema
rollups.create

# increment by 1
rollups.update({
  set:   {value: Cassanity::Increment.new},
  where: {id: :views},
})

# increment by 3
rollups.update({
  set:   {value: Cassanity::Increment.new(3)},
  where: {id: :views},
})

# increment by 3
rollups.update({
  set:   {value: Cassanity::Increment(3)},
  where: {id: :views},
})

# increment by 3
# you can also use .incr and .increment
rollups.update({
  set:   {value: Cassanity.inc(3)},
  where: {id: :views},
})

# returns 10
pp rollups.select(where: {id: :views})[0]['value']

# decrement by 1
rollups.update({
  set:   {value: Cassanity::Decrement.new},
  where: {id: :views},
})

# decrement by 2
rollups.update({
  set:   {value: Cassanity::Decrement.new(2)},
  where: {id: :views},
})

# decrement by 2
rollups.update({
  set:   {value: Cassanity::Decrement(2)},
  where: {id: :views},
})

# decrement by 2
# you can also use .decr and .decrement
rollups.update({
  set:   {value: Cassanity.dec(2)},
  where: {id: :views},
})

# returns 3
pp rollups.select(where: {id: :views})[0]['value']

keyspace.drop

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cassanity-0.6.0 examples/counters.rb
cassanity-0.6.0.beta5 examples/counters.rb
cassanity-0.6.0.beta4 examples/counters.rb
cassanity-0.6.0.beta3 examples/counters.rb
cassanity-0.6.0.beta2 examples/counters.rb
cassanity-0.6.0.beta1 examples/counters.rb
cassanity-0.5.1 examples/counters.rb
cassanity-0.5.0 examples/counters.rb
cassanity-0.4.0 examples/counters.rb