Sha256: 32e6999b765a7ec71e52f40c314ad34c549691facafd2be2c60b590115789b47

Contents?: true

Size: 912 Bytes

Versions: 9

Compression:

Stored size: 912 Bytes

Contents

# frozen_string_literal: true

require 'valkey/objects'

# Using ValKey Objects
## Create your class object
class ValKey
  # 1. include valkey-objects layer
  include VK
  # 2. stitch your object together.
  value :myvalue
  counter :mycounter
  hashkey :myhash
  sortedset :mysortedset
  set :myset
  queue :myqueue
  place :myplace
  pipe :mypipe
  toggle :mytoggle
  # 3. define @id in initialize.
  def initialize k
    @id = k
  end
  # other stuff...
end



require 'awesome_print'

@x = {}

## Or as a collection of "X"s...
module X
  @@X = Hash.new { |h,k| h[k] = Ex.new(k) }
  class Ex
    include VK
    set :stuff
    pipe :ear
    def initialize k
      @id = k
    end
  end
  def self.keys
    @@X.keys
  end
  def self.[] k
    if !@@X.has_key?(k)
      @@X[k].ear.on { |msg| puts "MSG[#{k}]:"; ap msg }
    end
    @@X[k]
  end
end

X['Aaa'].ear << %[A]
X['Bbb'].ear << %[B]
X['Ccc'].ear << %[C]

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
valkey-objects-0.1.9 module.rb~
valkey-objects-0.1.8 module.rb~
valkey-objects-0.1.7 module.rb~
valkey-objects-0.1.6 module.rb~
valkey-objects-0.1.5 module.rb~
valkey-objects-0.1.4 module.rb~
valkey-objects-0.1.3 module.rb~
valkey-objects-0.1.2 module.rb~
valkey-objects-0.1.1 module.rb~