42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/togls/toggle_repository.rb', line 42
def reconstitute_toggle(toggle_data)
begin
feature = @feature_repository.get(toggle_data['feature_id'])
rescue Togls::RepositoryFeatureDataInvalid => e
return Togls::NullToggle.new
end
begin
rule = ::Togls.send(:rule_repository).get(toggle_data['rule_id'])
rescue Togls::RepositoryRuleDataInvalid => e
return Togls::NullToggle.new
end
toggle = Togls::Toggle.new(feature)
begin
toggle.rule = rule
toggle
rescue Togls::RuleFeatureTargetTypeMismatch
Togls.logger.warn("Feature (#{feature.key}) with target type '#{feature.target_type}' has a rule (#{rule.id}) mismatch with target type '#{rule.target_type}'")
return Togls::RuleFeatureMismatchToggle.new
end
end
|