Sha256: e9744a264ba73155583d3c0f9eec86e16eaf4582cfff704bc680ff05cd3a85b0
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require "ldclient-rb/impl/model/preprocessed_data" module LaunchDarkly module Impl module Model # Abstraction of deserializing a feature flag or segment that was read from a data store or # received from LaunchDarkly. def self.deserialize(kind, json, logger = nil) return nil if json.nil? item = JSON.parse(json, symbolize_names: true) DataModelPreprocessing::Preprocessor.new(logger).preprocess_item!(kind, item) item end # Abstraction of serializing a feature flag or segment that will be written to a data store. # Currently we just call to_json. def self.serialize(kind, item) item.to_json end # Translates a { flags: ..., segments: ... } object received from LaunchDarkly to the data store format. def self.make_all_store_data(received_data, logger = nil) preprocessor = DataModelPreprocessing::Preprocessor.new(logger) flags = received_data[:flags] preprocessor.preprocess_all_items!(FEATURES, flags) segments = received_data[:segments] preprocessor.preprocess_all_items!(SEGMENTS, segments) { FEATURES => flags, SEGMENTS => segments } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
launchdarkly-server-sdk-6.4.0 | lib/ldclient-rb/impl/model/serialization.rb |