Class: ActiveFedora::Aggregation::DecoratingRepository

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/active_fedora/aggregation/decorating_repository.rb

Overview

Decorates the results of a repository with the given decorator.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(decorator, base_repository) ⇒ DecoratingRepository

Returns a new instance of DecoratingRepository.

Parameters:

  • decorator (#new)

    A decorator.

  • base_repository (#find, #new)

    A repository to decorate.



8
9
10
11
# File 'lib/active_fedora/aggregation/decorating_repository.rb', line 8

def initialize(decorator, base_repository)
  @decorator = decorator
  super(base_repository)
end

Instance Attribute Details

#decoratorObject (readonly)

Returns the value of attribute decorator.



5
6
7
# File 'lib/active_fedora/aggregation/decorating_repository.rb', line 5

def decorator
  @decorator
end

Instance Method Details

#find(id) ⇒ Object



13
14
15
# File 'lib/active_fedora/aggregation/decorating_repository.rb', line 13

def find(id)
  decorate(super(id))
end

#new(*args) {|result| ... } ⇒ Object

Yields:

  • (result)


17
18
19
20
21
# File 'lib/active_fedora/aggregation/decorating_repository.rb', line 17

def new(*args)
  result = decorate(super(*args))
  yield result if block_given?
  result
end