Class: Retrograph::Easy::Rocker

Inherits:
Object
  • Object
show all
Defined in:
lib/retrograph/easy/controllers.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(minus_state, neutral_state, plus_state) ⇒ Rocker

Returns a new instance of Rocker.



30
31
32
33
34
35
36
# File 'lib/retrograph/easy/controllers.rb', line 30

def initialize(minus_state, neutral_state, plus_state)
  @minus_state = minus_state
  @neutral_state = neutral_state
  @plus_state = plus_state
  @state = @neutral_state
  @both_pressed = false
end

Instance Attribute Details

#stateObject (readonly)

Returns the value of attribute state.



28
29
30
# File 'lib/retrograph/easy/controllers.rb', line 28

def state
  @state
end

Instance Method Details

#minus_pressedObject



44
45
46
47
48
# File 'lib/retrograph/easy/controllers.rb', line 44

def minus_pressed
  @both_pressed = true if @state != @neutral_state
  @state = @minus_state
  self
end

#minus_releasedObject



60
61
62
63
64
65
66
67
68
# File 'lib/retrograph/easy/controllers.rb', line 60

def minus_released
  if @both_pressed
    @both_pressed = false
    @state = @plus_state
  else
    @state = @neutral_state
  end
  self
end

#plus_pressedObject



38
39
40
41
42
# File 'lib/retrograph/easy/controllers.rb', line 38

def plus_pressed
  @both_pressed = true if @state != @neutral_state
  @state = @plus_state
  self
end

#plus_releasedObject



50
51
52
53
54
55
56
57
58
# File 'lib/retrograph/easy/controllers.rb', line 50

def plus_released
  if @both_pressed
    @both_pressed = false
    @state = @minus_state
  else
    @state = @neutral_state
  end
  self
end