module PassionView::ViewModel::List

items: enumerable

Attributes

item_view_model_class[R]
items[R]

Public Class Methods

new(items, options = {}) click to toggle source
Calls superclass method
# File lib/passion_view/view_model/list.rb, line 6
def initialize(items, options = {})
  super
  @items = items
  @item_view_model_class = options[:item_view_model_class]
end

Public Instance Methods

each() { |item_view_model(e)| ... } click to toggle source
# File lib/passion_view/view_model/list.rb, line 12
def each
  return enum_for(:each) unless block_given?

  items.each do |e|
    yield item_view_model(e)
  end
end
item_view_model(item) click to toggle source
# File lib/passion_view/view_model/list.rb, line 20
def item_view_model(item)
  card = item_view_model_class.new(item)

  card.contextualize_auth(user)
  card.contextualize_routes(@controller) if @controller
  card
end