class Pavlok::Stimulus
Constants
- VALID_RANGES
Attributes
stimulus[R]
Public Class Methods
make_beep(tune:, message:)
click to toggle source
# 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:)
click to toggle source
# 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:)
click to toggle source
# File lib/pavlok/stimulus.rb, line 17 def self.make_zap(intensity:, message:) self.new("zap", transform_to_api(intensity), message) end
new(kind, value, message)
click to toggle source
# 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
Private Instance Methods
transform_to_api(value)
click to toggle source
# File lib/pavlok/stimulus.rb, line 36 def transform_to_api(value) ((value.to_f / 255) * 100).ceil.to_i end
validate()
click to toggle source
# File lib/pavlok/stimulus.rb, line 31 def validate raise InvalidStimulusTypeError if !VALID_RANGES.keys.include?(@kind) raise InvalidStimulusValueError if !VALID_RANGES[@kind].include?(@value) end