Class: Pavlok::Stimulus

Inherits:
Object
  • Object
show all
Defined in:
lib/pavlok/stimulus.rb

Constant Summary collapse

VALID_RANGES =
{
  "zap": 1..100,
  "vibration": 1..100,
  "beep": 1..100,
}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kind, value, message) ⇒ Stimulus



11
12
13
14
15
# File 'lib/pavlok/stimulus.rb', line 11

def initialize(kind, value, message)
  validate
  @kind, @value, @message = kind, value, message
  @stimulus = OpenStruct.new(value: value, kind: kind, message: message, data: { reason: message })
end

Class Method Details

.make_beep(tune:, message:) ⇒ Object



25
26
27
# File 'lib/pavlok/stimulus.rb', line 25

def self.make_beep(tune:, message:)
  self.new("beep", transform_to_api(tune), message)
end

.make_vibrate(intensity:, message:) ⇒ Object



21
22
23
# File 'lib/pavlok/stimulus.rb', line 21

def self.make_vibrate(intensity:, message:)
  self.new("vibration", transform_to_api(intensity), message)
end

.make_zap(intensity:, message:) ⇒ Object



17
18
19
# File 'lib/pavlok/stimulus.rb', line 17

def self.make_zap(intensity:, message:)
  self.new("zap", transform_to_api(intensity), message)
end