Class: RailsEmailPreview::PreviewListPresenter

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(previews) ⇒ PreviewListPresenter



5
6
7
# File 'app/presenters/rails_email_preview/preview_list_presenter.rb', line 5

def initialize(previews)
  @previews = previews
end

Instance Attribute Details

#previewsObject (readonly)

Returns the value of attribute previews.



3
4
5
# File 'app/presenters/rails_email_preview/preview_list_presenter.rb', line 3

def previews
  @previews
end

Instance Method Details

#columns(&block) ⇒ Object



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

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



16
17
18
19
20
# File 'app/presenters/rails_email_preview/preview_list_presenter.rb', line 16

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