class EasyCallbacks::Repositories::BaseRepository
Attributes
list[RW]
Public Class Methods
new(*args)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 8 def initialize(*args); self.list = [] end
Public Instance Methods
add(*args, &block)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 12 def add(*args, &block) unless exists? *args model_instance = block_given? ? model.new(*args, &block) : model.new(*args) self.list.push(model_instance) model_instance end end
exists?(*args)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 20 def exists?(*args); not find(*args).nil? end
find(*args)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 22 def find(*args); list.find &find_block(*args) end
find_or_add(*args, &block)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 10 def find_or_add(*args, &block); find(*args) || add(*args, &block) end
Protected Instance Methods
find_block(*args)
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 26 def find_block(*args) raise NotImplementedError.new("find_block@#{self.class} must overwrite find_block@#{self.class.superclass}") end
model()
click to toggle source
# File lib/easy_callbacks/repositories/base_repository.rb, line 30 def model raise NotImplementedError.new("model@#{self.class} must overwrite model@#{self.class.superclass}") end