class KuberKit::Core::Store
Constants
- AlreadyAddedError
- NotFoundError
Attributes
object_class_name[R]
Public Class Methods
new(object_class_name)
click to toggle source
# File lib/kuber_kit/core/store.rb, line 7 def initialize(object_class_name) @object_class_name = object_class_name end
Public Instance Methods
add(item_name, item)
click to toggle source
# File lib/kuber_kit/core/store.rb, line 11 def add(item_name, item) unless item.is_a?(object_class_name) raise ArgumentError.new("#{self.object_class_name}: should be an instance of #{object_class_name}, got: #{item.inspect}") end unless items[item_name].nil? raise AlreadyAddedError, "#{self.object_class_name}: item with name #{item_name} was already added" end items[item_name] = item end
exists?(name)
click to toggle source
# File lib/kuber_kit/core/store.rb, line 45 def exists?(name) !items[name].nil? end
get(item_name)
click to toggle source
# File lib/kuber_kit/core/store.rb, line 23 def get(item_name) item = items[item_name] if item.nil? raise NotFoundError, "#{self.object_class_name}: item '#{item_name}' not found" end item end
items()
click to toggle source
# File lib/kuber_kit/core/store.rb, line 33 def items @items ||= {} end
reset!()
click to toggle source
# File lib/kuber_kit/core/store.rb, line 37 def reset! @items = {} end
size()
click to toggle source
# File lib/kuber_kit/core/store.rb, line 41 def size items.count end