class StrongPresenter::Factory
Attributes
presenter_class[R]
Public Class Methods
new(options = {})
click to toggle source
Creates a presenter factory.
@option options [Presenter, CollectionPresenter] :with (nil)
presenter class to use. If nil, it is inferred from the object passed to {#wrap}.
# File lib/strong_presenter/factory.rb, line 8 def initialize(options = {}) options.assert_valid_keys(:with) @presenter_class = options.delete(:with) end
Public Instance Methods
wrap(object) { |presenter| ... }
click to toggle source
Wraps an object with a presenter, inferring whether to create a singular or collection presenter from the type of object passed.
@param [Object] object
object to present.
@return [Presenter, CollectionPresenter] the presenter.
# 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