Class: ABMeter::Core::AssignmentConfig::PredicateAudience

Inherits:
Audience
  • Object
show all
Defined in:
lib/abmeter/core/assignment_config/audience.rb

Instance Attribute Summary collapse

Attributes inherited from Audience

#id, #type

Instance Method Summary collapse

Methods inherited from Audience

from_json

Constructor Details

#initialize(id:, predicate:) ⇒ PredicateAudience

Returns a new instance of PredicateAudience.



61
62
63
64
# File 'lib/abmeter/core/assignment_config/audience.rb', line 61

def initialize(id:, predicate:)
  super(id: id, type: 'predicate')
  @predicate = predicate
end

Instance Attribute Details

#predicateObject (readonly)

Returns the value of attribute predicate.



59
60
61
# File 'lib/abmeter/core/assignment_config/audience.rb', line 59

def predicate
  @predicate
end

Instance Method Details

#matches?(user) ⇒ Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/abmeter/core/assignment_config/audience.rb', line 66

def matches?(user)
  user.email.match?(predicate)
end

#serializeObject



70
71
72
73
74
# File 'lib/abmeter/core/assignment_config/audience.rb', line 70

def serialize
  super.merge(
    predicate: predicate
  )
end