Class: Skeevy::Engines::SymbolicHash

Inherits:
Object
  • Object
show all
Includes:
Skeevy::Engine
Defined in:
lib/skeevy/engines/symbolic_hash.rb

Instance Attribute Summary

Attributes included from Skeevy::Engine

#instance

Instance Method Summary collapse

Constructor Details

#initialize(instance: nil) ⇒ SymbolicHash

Returns a new instance of SymbolicHash.

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
# File 'lib/skeevy/engines/symbolic_hash.rb', line 6

def initialize(instance: nil)
  raise ArgumentError,
        "Instance passed was not a Skeevy::Instance" unless
        instance.is_a?(Skeevy::Instance) || instance.nil?
  @instance = instance
  @items = {}
end

Instance Method Details

#delete!(key:) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/skeevy/engines/symbolic_hash.rb', line 26

def delete!(key:)
  k = key.to_sym
  if @items.has_key?(k)
    @items.delete k
    return true
  end
  false
end

#exist?(key:) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/skeevy/engines/symbolic_hash.rb', line 14

def exist?(key:)
  @items.has_key? key.to_sym
end

#read(key:) ⇒ Object



18
19
20
# File 'lib/skeevy/engines/symbolic_hash.rb', line 18

def read(key:)
  @items[key.to_sym]
end

#write!(key:, content:) ⇒ Object



22
23
24
# File 'lib/skeevy/engines/symbolic_hash.rb', line 22

def write!(key:, content:)
  @items[key.to_sym] = content
end