Class: SimpleEmailPreview::PreviewListPresenter

Inherits:
Object
  • Object
show all
Defined in:
app/presenters/simple_email_preview/preview_list_presenter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(previews) ⇒ PreviewListPresenter

Returns a new instance of PreviewListPresenter.



6
7
8
# File 'app/presenters/simple_email_preview/preview_list_presenter.rb', line 6

def initialize(previews)
  @previews = previews
end

Instance Attribute Details

#previewsObject (readonly)

Returns the value of attribute previews.



4
5
6
# File 'app/presenters/simple_email_preview/preview_list_presenter.rb', line 4

def previews
  @previews
end

Instance Method Details

#columns(&block) ⇒ Object



10
11
12
13
14
15
# File 'app/presenters/simple_email_preview/preview_list_presenter.rb', line 10

def columns(&block)
  return to_enum(:columns) unless block_given?
  split_in_halves(groups) { |_k, v| v.length }.each do |column_groups|
    block.yield(column_groups)
  end
end

#groupsObject



17
18
19
20
21
# File 'app/presenters/simple_email_preview/preview_list_presenter.rb', line 17

def groups
  @groups ||= by_class_name.inject({}) do |h, (_class_name, previews)|
    h.update previews.first.group_name => previews
  end
end