Class: Labkit::UserExperienceSli::Registry

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/labkit/user_experience_sli/registry.rb

Constant Summary collapse

SCHEMA_PATH =
File.expand_path('../../../config/user_experience_slis/schema.json', __dir__)

Instance Method Summary collapse

Constructor Details

#initialize(dir: File.join("config", "user_experience_slis")) ⇒ Registry

Returns a new instance of Registry.

Parameters:

  • dir (String, Pathname) (defaults to: File.join("config", "user_experience_slis"))

    Directory path containing YAML file definitions Defaults to ‘config/user_experience_slis’ relative to the calling application’s root



22
23
24
25
# File 'lib/labkit/user_experience_sli/registry.rb', line 22

def initialize(dir: File.join("config", "user_experience_slis"))
  @dir = Pathname.new(Dir.pwd).join(dir)
  @experiences = load_on_demand
end

Instance Method Details

#[](user_experience_id) ⇒ Experience?

Retrieve a definition experience given a user_experience_id.

Parameters:

  • user_experience_id (String, Symbol)

    User experience SLI identifier

Returns:

  • (Experience, nil)

    An experience if present, otherwise nil



31
32
33
# File 'lib/labkit/user_experience_sli/registry.rb', line 31

def [](user_experience_id)
  @experiences[user_experience_id.to_s]
end