Class: BoardConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/jirametrics/board_config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, block:, project_config:) ⇒ BoardConfig

Returns a new instance of BoardConfig.



6
7
8
9
10
# File 'lib/jirametrics/board_config.rb', line 6

def initialize id:, block:, project_config:
  @id = id
  @block = block
  @project_config = project_config
end

Instance Attribute Details

#boardObject (readonly)

Returns the value of attribute board.



4
5
6
# File 'lib/jirametrics/board_config.rb', line 4

def board
  @board
end

#idObject (readonly)

Returns the value of attribute id.



4
5
6
# File 'lib/jirametrics/board_config.rb', line 4

def id
  @id
end

#project_configObject (readonly)

Returns the value of attribute project_config.



4
5
6
# File 'lib/jirametrics/board_config.rb', line 4

def project_config
  @project_config
end

Instance Method Details

#cycletime(label = nil, &block) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/jirametrics/board_config.rb', line 18

def cycletime label = nil, &block
  if @board.cycletime
    raise "Cycletime has already been set for board #{id}. Did you also set it inside the html_report? " \
      'If so, remove it from there.'
  end

  @board.cycletime = CycleTimeConfig.new(
    parent_config: self, label: label, block: block, file_system: project_config.file_system
  )
end

#expedited_priority_names(*priority_names) ⇒ Object



29
30
31
32
33
34
# File 'lib/jirametrics/board_config.rb', line 29

def expedited_priority_names *priority_names
  project_config.exporter.file_system.deprecated(
    date: '2024-09-15', message: 'Expedited priority names are now specified in settings'
  )
  @project_config.settings['expedited_priority_names'] = priority_names
end

#runObject



12
13
14
15
16
# File 'lib/jirametrics/board_config.rb', line 12

def run
  @board = @project_config.all_boards[id]

  instance_eval(&@block)
end