• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Unleash / unleash-client-ruby / 5268590299

pending completion
5268590299

push

github

rarruda
chore: docs: Changelog fixup (to be squashed)

2419 of 2497 relevant lines covered (96.88%)

412.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

83.33
/lib/unleash/variant_override.rb
1
module Unleash
16✔
2
  class VariantOverride
16✔
3
    attr_accessor :context_name, :values
16✔
4

5
    def initialize(context_name, values = [])
16✔
6
      self.context_name = context_name
176✔
7
      self.values = values || []
176✔
8

9
      validate
176✔
10
    end
11

12
    def to_s
16✔
13
      "<VariantOverride: context_name=#{self.context_name},values=#{self.values}>"
×
14
    end
15

16
    def matches_context?(context)
16✔
17
      raise ArgumentError, 'context must be of class Unleash::Context' unless context.instance_of?(Unleash::Context)
160✔
18

19
      context_value =
20✔
20
        case self.context_name
136✔
21
        when 'userId'
22
          context.user_id
160✔
23
        when 'sessionId'
24
          context.session_id
×
25
        when 'remoteAddress'
26
          context.remote_address
×
27
        else
28
          context.properties.fetch(self.context_name, nil)
×
29
        end
30

31
      Unleash.logger.debug "VariantOverride: context_name: #{context_name} context_value: #{context_value}"
160✔
32

33
      self.values.include? context_value.to_s
160✔
34
    end
35

36
    private
16✔
37

38
    def validate
16✔
39
      raise ArgumentError, 'context_name must be a String' unless self.context_name.is_a?(String)
176✔
40
      raise ArgumentError, 'values must be an Array of strings' unless self.values.is_a?(Array) \
140✔
41
          && self.values.reject{ |v| v.is_a?(String) }.empty?
380✔
42
    end
43
  end
44
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc