Class: StrongPresenter::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/strong_presenter/factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Factory

Creates a presenter factory.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):



8
9
10
11
# File 'lib/strong_presenter/factory.rb', line 8

def initialize(options = {})
  options.assert_valid_keys(:with)
  @presenter_class = options.delete(:with)
end

Instance Method Details

#wrap(object) ⇒ Presenter, CollectionPresenter

Wraps an object with a presenter, inferring whether to create a singular or collection presenter from the type of object passed.

Parameters:

  • object (Object)

    object to present.

Returns:



19
20
21
22
# File 'lib/strong_presenter/factory.rb', line 19

def wrap(object)
  return nil if object.nil?
  Worker.new(presenter_class, object).call { |presenter| yield presenter if block_given? }
end