Module: HeatmapBuilder

Defined in:
lib/heatmap-builder.rb,
lib/heatmap_builder/version.rb,
lib/heatmap_builder/calendar.rb,
lib/heatmap_builder/svg_helpers.rb,
lib/heatmap_builder/color_helpers.rb,
lib/heatmap_builder/value_conversion.rb

Defined Under Namespace

Modules: ColorHelpers, SvgHelpers, ValueConversion Classes: Calendar, Error

Constant Summary collapse

CalendarHeatmapBuilder =
Deprecated.

Use Calendar instead

Calendar
VERSION =
"0.4.3"

Class Method Summary collapse

Class Method Details

.build_calendar(scores: nil, values: nil, **options) ⇒ String

Builds a calendar (GitHub-style) heatmap visualization.

Examples:

HeatmapBuilder.build_calendar(scores: { '2024-01-01' => 2, '2024-01-02' => 4 })
HeatmapBuilder.build_calendar(values: { Date.new(2024, 1, 1) => 45.2 })

Parameters:

  • scores (Hash<Date, Integer>, Hash<String, Integer>, nil) (defaults to: nil)

    Pre-calculated score values by date. Required unless values provided.

  • values (Hash<Date, Numeric>, Hash<String, Numeric>, nil) (defaults to: nil)

    Raw numeric values by date. Required unless scores provided.

  • options (Hash)

    Customization options

Returns:

  • (String)

    SVG markup

See Also:



20
21
22
# File 'lib/heatmap-builder.rb', line 20

def self.build_calendar(scores: nil, values: nil, **options)
  Calendar.new(scores: scores, values: values, **options).build
end

.generate_calendar(scores, options = {}) ⇒ Object

Deprecated.

Use build_calendar instead



25
26
27
28
29
# File 'lib/heatmap-builder.rb', line 25

def self.generate_calendar(scores, options = {})
  warn "[DEPRECATION] `HeatmapBuilder.generate_calendar(scores_by_date, options)` is deprecated and will be removed in v1.0.0. " \
       "Use `HeatmapBuilder.build_calendar(scores: scores_by_date, **options)` instead."
  build_calendar(scores: scores, **options)
end