Class: QTimetrap::ViewModels::EntryNodesBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/view_models/entry_nodes_builder.rb

Overview

Builds hierarchical week/day/project/entry nodes for entries list UI.

Instance Method Summary collapse

Constructor Details

#initialize(entries:, selected_project:) ⇒ EntryNodesBuilder

Returns a new instance of EntryNodesBuilder.



7
8
9
10
# File 'app/view_models/entry_nodes_builder.rb', line 7

def initialize(entries:, selected_project:)
  @entries = entries
  @selected_project = selected_project
end

Instance Method Details

#buildObject



12
13
14
15
# File 'app/view_models/entry_nodes_builder.rb', line 12

def build
  nodes = week_groups.map { |week_start, entries| week_node(week_start, entries) }
  nodes.empty? ? [empty_node] : nodes
end