Class: EasyCallbacks::Repositories::BaseRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_callbacks/repositories/base_repository.rb

Direct Known Subclasses

CallbacksRepository, TargetClassesRepository

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ BaseRepository

Returns a new instance of BaseRepository.



8
# File 'lib/easy_callbacks/repositories/base_repository.rb', line 8

def initialize(*args); self.list = [] end

Instance Attribute Details

#listObject

Returns the value of attribute list.



6
7
8
# File 'lib/easy_callbacks/repositories/base_repository.rb', line 6

def list
  @list
end

Instance Method Details

#add(*args, &block) ⇒ Object



12
13
14
15
16
17
18
# 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) ⇒ Boolean

Returns:

  • (Boolean)


20
# File 'lib/easy_callbacks/repositories/base_repository.rb', line 20

def exists?(*args); not find(*args).nil? end

#find(*args) ⇒ Object



22
# File 'lib/easy_callbacks/repositories/base_repository.rb', line 22

def find(*args); list.find &find_block(*args) end

#find_or_add(*args, &block) ⇒ Object



10
# File 'lib/easy_callbacks/repositories/base_repository.rb', line 10

def find_or_add(*args, &block); find(*args) || add(*args, &block) end