Module: GroupableIssueChart
- Included in:
- AgingWorkInProgressChart, FlowEfficiencyScatterplot, ThroughputChart, TimeBasedHistogram, TimeBasedScatterplot
- Defined in:
- lib/jirametrics/groupable_issue_chart.rb
Instance Attribute Summary collapse
-
#group_by_block ⇒ Object
readonly
Returns the value of attribute group_by_block.
-
#issue_hints ⇒ Object
Returns the value of attribute issue_hints.
-
#issue_periods ⇒ Object
Returns the value of attribute issue_periods.
Instance Method Summary collapse
- #group_issues(completed_issues) ⇒ Object
- #grouping_rules(&block) ⇒ Object
- #init_configuration_block(user_provided_block, &default_block) ⇒ Object
Instance Attribute Details
#group_by_block ⇒ Object (readonly)
Returns the value of attribute group_by_block.
8 9 10 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 8 def group_by_block @group_by_block end |
#issue_hints ⇒ Object
Returns the value of attribute issue_hints.
7 8 9 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 7 def issue_hints @issue_hints end |
#issue_periods ⇒ Object
Returns the value of attribute issue_periods.
7 8 9 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 7 def issue_periods @issue_periods end |
Instance Method Details
#group_issues(completed_issues) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 19 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
15 16 17 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 15 def grouping_rules &block @group_by_block = block end |
#init_configuration_block(user_provided_block, &default_block) ⇒ Object
10 11 12 13 |
# File 'lib/jirametrics/groupable_issue_chart.rb', line 10 def init_configuration_block user_provided_block, &default_block instance_eval(&user_provided_block) instance_eval(&default_block) unless @group_by_block end |