module StairMaster::Concerns

Public Instance Methods

find_next_step_index(step_index=nil) click to toggle source
# File lib/stair_master/concerns/getters.rb, line 33
def find_next_step_index(step_index=nil)
  next_index  = step_index.nil? ? current_step_index.next : step_index.next
  step        = get_step_by_index next_index

  if step.nil?
    nil
  elsif step.skip?(self)
    if is_last_step?(step.key)
      return nil
    else
      find_next_step_index(next_index)
    end
  else
    next_index
  end
end
find_previous_step_index(step_index=nil) click to toggle source
# File lib/stair_master/concerns/getters.rb, line 55
def find_previous_step_index(step_index=nil)
  previous_index  = step_index.nil? ? current_step_index.pred : step_index.pred
  step            = get_step_by_index previous_index

  if step.nil?
    nil
  elsif step.skip?(self)
    if is_first_step?(step.key)
      return nil
    else
      find_previous_step_index(previous_index)
    end
  else
    previous_index
  end
end
get_next_step_index() click to toggle source

NEXT STEP —————————————-

# File lib/stair_master/concerns/getters.rb, line 29
def get_next_step_index
  on_last_step? ? nil : find_next_step_index
end
get_previous_step_index(step_index=nil) click to toggle source

GET PREVIOIUS STEP INDEX ————————-

# File lib/stair_master/concerns/getters.rb, line 51
def get_previous_step_index(step_index=nil)
  on_first_step? ? nil : find_previous_step_index
end
get_step_by_index(step_index) click to toggle source
# File lib/stair_master/concerns/getters.rb, line 20
def get_step_by_index(step_index)
  get_step_by_name available_steps[step_index]
end
get_step_by_name(step_name) click to toggle source
# File lib/stair_master/concerns/getters.rb, line 24
def get_step_by_name(step_name)
  workflow_map.steps[step_name]
end
get_step_name_by_index(step_index) click to toggle source
# File lib/stair_master/concerns/getters.rb, line 16
def get_step_name_by_index(step_index)
  available_steps[step_index]
end