Module: GroupableIssueChart
- Included in:
- AgingWorkInProgressChart, FlowEfficiencyScatterplot, ThroughputChart, TimeBasedHistogram, TimeBasedScatterplot
- Defined in:
- lib/jirametrics/groupable_issue_chart.rb
Instance Method Summary collapse
- #group_issues(completed_issues) ⇒ Object
- #grouping_rules(&block) ⇒ Object
- #init_configuration_block(user_provided_block, &default_block) ⇒ Object
Instance Method Details
#group_issues(completed_issues) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 16 def group_issues completed_issues result = {} ignored_issues = [] @issue_hints = {} @issue_periods = {} completed_issues.each do |issue| rules = GroupingRules.new @group_by_block.call(issue, rules) if rules.ignored? ignored_issues << issue next end @issue_hints[issue] = rules.issue_hint @issue_periods[issue] = rules.last_day_of_period (result[rules] ||= []) << issue end completed_issues.reject! { |issue| ignored_issues.include? issue } result.each_key do |rules| rules.color = random_color if rules.color.nil? end result end |
#grouping_rules(&block) ⇒ Object
12 13 14 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 12 def grouping_rules &block @group_by_block = block end |
#init_configuration_block(user_provided_block, &default_block) ⇒ Object
7 8 9 10 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 7 def init_configuration_block user_provided_block, &default_block instance_eval(&user_provided_block) instance_eval(&default_block) unless @group_by_block end |