lib/ff/ruby/server/sdk/api/storage_repository.rb in ff-ruby-server-sdk-1.2.1 vs lib/ff/ruby/server/sdk/api/storage_repository.rb in ff-ruby-server-sdk-1.3.1
- old
+ new
@@ -105,10 +105,11 @@
@logger.debug "Flag " + identifier + " already exists"
return
end
+ sort_flag_rules(feature_config)
flag_key = format_flag_key(identifier)
if @store != nil
@store.set(flag_key, feature_config)
@@ -139,10 +140,11 @@
@logger.debug "Segment " + identifier + " already exists"
return
end
+ sort_segment_serving_rules(segment)
segment_key = format_segment_key(identifier)
if @store != nil
@store.set(segment_key, segment)
@@ -236,9 +238,21 @@
return flag.version >= new_feature_config.version
end
false
+ end
+
+ def sort_flag_rules(flag)
+ if flag.rules && flag.rules.length > 1
+ flag.rules.sort_by!(&:priority)
+ end
+ end
+
+ def sort_segment_serving_rules(segment)
+ if segment.serving_rules && segment.serving_rules.length > 1
+ segment.serving_rules.sort_by!(&:priority)
+ end
end
def is_segment_outdated(identifier, new_segment)
segment = get_segment(identifier, false)
\ No newline at end of file