Class: AnalyticsOps::Reports::RecipeList

Inherits:
Object
  • Object
show all
Defined in:
lib/analytics_ops/reports/metadata.rb,
sig/analytics_ops.rbs

Overview

Immutable list of discoverable report recipes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(recipes:) ⇒ RecipeList

Returns a new instance of RecipeList.

Parameters:

Raises:

  • (ArgumentError)


104
105
106
107
108
109
# File 'lib/analytics_ops/reports/metadata.rb', line 104

def initialize(recipes:)
  raise ArgumentError, "recipes must contain report recipes" unless recipes.is_a?(Array) && recipes.all?(Recipe)

  @recipes = recipes.dup.freeze
  freeze
end

Instance Attribute Details

#recipesArray[Recipe] (readonly)

Returns the value of attribute recipes.

Returns:



102
103
104
# File 'lib/analytics_ops/reports/metadata.rb', line 102

def recipes
  @recipes
end

Instance Method Details

#to_hrecord

Returns:

  • (record)


111
112
113
# File 'lib/analytics_ops/reports/metadata.rb', line 111

def to_h
  { "recipes" => recipes.map(&:to_h) }
end