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