Module: Repository

Defined in:
lib/repository/stash.rb,
lib/repository.rb,
lib/repository/storage.rb,
lib/repository/criterion.rb,
lib/repository/repository.rb,
lib/repository/stash_storage.rb

Overview

Defined Under Namespace

Modules: InstanceMethods Classes: Criterion, Repository, Stash, StashStorage, Storage

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](klass) ⇒ Object



22
23
24
# File 'lib/repository.rb', line 22

def self.[](klass)
  self.repository(klass)
end

.[]=(klass, repository) ⇒ Object



32
33
34
# File 'lib/repository.rb', line 32

def self.[]=(klass, repository)
  self.repositories[klass] = repository
end

.clear_allObject



26
27
28
29
30
# File 'lib/repository.rb', line 26

def self.clear_all
  self.repositories.values.each do |r|
    r.clear
  end
end

.extended(klass) ⇒ Object



66
67
68
69
70
# File 'lib/repository.rb', line 66

def self.extended( klass )
  klass.class_eval do
    include InstanceMethods
  end
end

.repositoriesObject



14
15
16
# File 'lib/repository.rb', line 14

def self.repositories
  (@@repositories ||= {})
end

.repository(klass) ⇒ Object



18
19
20
# File 'lib/repository.rb', line 18

def self.repository(klass)
  self.repositories[klass] ||= Repository.new(klass)
end

Instance Method Details

#<<(*treasure) ⇒ Object



58
59
60
# File 'lib/repository.rb', line 58

def <<( *treasure )
  store( *treasure )
end

#[](arg) ⇒ Object



62
63
64
# File 'lib/repository.rb', line 62

def [](arg)
  repository[arg]
end

#clear_repositoryObject



54
55
56
# File 'lib/repository.rb', line 54

def clear_repository
  repository.clear
end

#repositoryObject

methods on Repository-enabled model classes that extend Repository



38
39
40
# File 'lib/repository.rb', line 38

def repository
  Repository[self]
end

#repository_sizeObject



42
43
44
# File 'lib/repository.rb', line 42

def repository_size
  repository.size
end

#search(*args, &block) ⇒ Object



50
51
52
# File 'lib/repository.rb', line 50

def search(*args, &block)
  repository.search(*args, &block)
end

#store(*args) ⇒ Object



46
47
48
# File 'lib/repository.rb', line 46

def store(*args)
  repository.store(*args)
end