Module: ABMeter::Core::AssignmentConfig
- Defined in:
- lib/abmeter/core/assignment_config.rb,
lib/abmeter/core/assignment_config/space.rb,
lib/abmeter/core/assignment_config/variant.rb,
lib/abmeter/core/assignment_config/audience.rb,
lib/abmeter/core/assignment_config/exposable.rb,
lib/abmeter/core/assignment_config/parameter.rb,
lib/abmeter/core/assignment_config/experiment.rb,
lib/abmeter/core/assignment_config/feature_flag.rb
Defined Under Namespace
Modules: Exposable Classes: Audience, Config, Experiment, FeatureFlag, Parameter, PredicateAudience, RandomAudience, Space, UserListAudience, Variant
Class Method Summary collapse
Class Method Details
.from_json(json) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/abmeter/core/assignment_config.rb', line 32 def self.from_json(json) parsed_json = JSON.parse(json, symbolize_names: true) spaces = Space.from_json(parsed_json[:spaces]) space_salts = spaces.to_h { |space| [space.id, space.salt] } parameters = Parameter.from_json(parsed_json[:parameters]) feature_flags = FeatureFlag.from_json(parsed_json[:feature_flags]) experiments = parsed_json[:experiments] ? Experiment.from_json(parsed_json[:experiments], space_salts) : [] Config.new( spaces: spaces, feature_flags: feature_flags, experiments: experiments, parameters: parameters ) end |