Skip to content

Commit abea9d2

Browse files
author
Bilal Al
committed
polishing
1 parent 1bc71a5 commit abea9d2

6 files changed

Lines changed: 30 additions & 22 deletions

File tree

lib/splitclient-rb/engine/matchers/between_semver_matcher.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ def initialize(attribute, start_value, end_value, logger, validator)
1616
end
1717

1818
def match?(args)
19-
@logger.debug('[BetweenSemverMatcher] evaluating value and attributes.')
20-
return false unless @validator.valid_matcher_arguments(args)
19+
return false if !verify_semver_arg?(args, "BetweenSemverMatcher")
2120

2221
value_to_match = SplitIoClient::Semver.build(args[:attributes][@attribute.to_sym], @logger)
2322
unless !value_to_match.nil? && !@semver_start.nil? && !@semver_end.nil?
2423
@logger.error('betweenStringMatcherData is required for BETWEEN_SEMVER matcher type')
2524
return false
25+
2626
end
2727
matches = ([0, -1].include?(@semver_start.compare(value_to_match)) &&
2828
[0, 1].include?(@semver_end.compare(value_to_match)))

lib/splitclient-rb/engine/matchers/equal_to_semver_matcher.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,11 @@ def initialize(attribute, string_value, logger, validator)
1515
end
1616

1717
def match?(args)
18-
@logger.debug('[EqualsToSemverMatcher] evaluating value and attributes.')
19-
return false unless @validator.valid_matcher_arguments(args)
18+
return false if !verify_semver_arg?(args, "EqualsToSemverMatcher")
2019

2120
value_to_match = SplitIoClient::Semver.build(args[:attributes][@attribute.to_sym], @logger)
22-
unless !value_to_match.nil? && !@semver.nil?
23-
@logger.error('stringMatcherData is required for EQUAL_TO_SEMVER matcher type')
24-
return false
25-
end
21+
return false if !check_semver_value_to_match(value_to_match, MATCHER_TYPE)
22+
2623
matches = (@semver.version == value_to_match.version)
2724
@logger.debug("[EqualsToSemverMatcher] #{value_to_match} matches -> #{matches}")
2825
matches

lib/splitclient-rb/engine/matchers/greater_than_or_equal_to_semver_matcher.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,11 @@ def initialize(attribute, string_value, logger, validator)
1515
end
1616

1717
def match?(args)
18-
@logger.debug('[GreaterThanOrEqualsToSemverMatcher] evaluating value and attributes.')
19-
return false unless @validator.valid_matcher_arguments(args)
18+
return false if !verify_semver_arg?(args, "GreaterThanOrEqualsToSemverMatcher")
2019

2120
value_to_match = SplitIoClient::Semver.build(args[:attributes][@attribute.to_sym], @logger)
22-
unless !value_to_match.nil? && !@semver.nil?
23-
@logger.error('stringMatcherData is required for GREATER_THAN_OR_EQUAL_TO_SEMVER matcher type')
24-
return false
25-
end
21+
return false if !check_semver_value_to_match(value_to_match, MATCHER_TYPE)
22+
2623
matches = [0, 1].include?(value_to_match.compare(@semver))
2724
@logger.debug("[GreaterThanOrEqualsToSemverMatcher] #{value_to_match} matches -> #{matches}")
2825
matches

lib/splitclient-rb/engine/matchers/in_list_semver_matcher.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ def initialize(attribute, list_value, logger, validator)
1515
end
1616

1717
def match?(args)
18-
@logger.debug('[InListSemverMatcher] evaluating value and attributes.')
19-
return false unless @validator.valid_matcher_arguments(args) && args[:attributes][@attribute.to_sym].is_a?(String)
18+
return false if !verify_semver_arg?(args, "InListSemverMatcher")
2019

2120
value_to_match = SplitIoClient::Semver.build(args[:attributes][@attribute.to_sym], @logger)
2221
unless !value_to_match.nil? && @semver_list.all? { |n| !n.nil? }

lib/splitclient-rb/engine/matchers/less_than_or_equal_to_semver_matcher.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,11 @@ def initialize(attribute, string_value, logger, validator)
1515
end
1616

1717
def match?(args)
18-
@logger.debug('[LessThanOrEqualsToSemverMatcher] evaluating value and attributes.')
19-
return false unless @validator.valid_matcher_arguments(args)
18+
return false if !verify_semver_arg?(args, "LessThanOrEqualsToSemverMatcher")
2019

2120
value_to_match = SplitIoClient::Semver.build(args[:attributes][@attribute.to_sym], @logger)
22-
unless !value_to_match.nil? && !@semver.nil?
23-
@logger.error('stringMatcherData is required for LESS_THAN_OR_EQUAL_TO_SEMVER matcher type')
24-
return false
25-
end
21+
return false if !check_semver_value_to_match(value_to_match, MATCHER_TYPE)
22+
2623
matches = [0, -1].include?(value_to_match.compare(@semver))
2724
@logger.debug("[LessThanOrEqualsToSemverMatcher] #{value_to_match} matches -> #{matches}")
2825
matches

lib/splitclient-rb/engine/matchers/matcher.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,23 @@ def equals?(obj)
3030
def string_type?
3131
false
3232
end
33+
34+
private
35+
36+
def verify_semver_arg?(args, matcher_name)
37+
@logger.debug("[#{matcher_name}] evaluating value and attributes.")
38+
return false unless @validator.valid_matcher_arguments(args)
39+
40+
true
41+
end
42+
43+
def check_semver_value_to_match(value_to_match, matcher_spec_name)
44+
unless !value_to_match.nil? && !@semver.nil?
45+
@logger.error("stringMatcherData is required for #{matcher_spec_name} matcher type")
46+
return false
47+
48+
end
49+
true
50+
end
3351
end
3452
end

0 commit comments

Comments
 (0)