Class: Hackle::Workspace

Inherits:
Object
  • Object
show all
Defined in:
lib/hackle-ruby-sdk/workspaces/workspace.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(experiments, event_types) ⇒ Workspace

Returns a new instance of Workspace.



3
4
5
6
# File 'lib/hackle-ruby-sdk/workspaces/workspace.rb', line 3

def initialize(experiments, event_types)
  @experiments = experiments
  @event_types = event_types
end

Class Method Details

.create(data) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/hackle-ruby-sdk/workspaces/workspace.rb', line 17

def create(data)
  buckets = Hash[data[:buckets].map { |b| [b[:id], bucket(b)] }]
  running_experiments = Hash[data[:experiments].map { |re| [re[:key], running_experiment(re, buckets)] }]
  completed_experiment = Hash[data[:completedExperiments].map { |ce| [ce[:experimentKey], completed_experiment(ce)] }]
  event_types = Hash[data[:events].map { |e| [e[:key], event_type(e)] }]
  experiments = running_experiments.merge(completed_experiment)
  Workspace.new(experiments, event_types)
end

Instance Method Details

#get_event_type(event_type_key) ⇒ Object



12
13
14
# File 'lib/hackle-ruby-sdk/workspaces/workspace.rb', line 12

def get_event_type(event_type_key)
  @event_types[event_type_key]
end

#get_experiment(experiment_key) ⇒ Object



8
9
10
# File 'lib/hackle-ruby-sdk/workspaces/workspace.rb', line 8

def get_experiment(experiment_key)
  @experiments[experiment_key]
end