class Journeyviz::Action

Attributes

screen[R]

Public Class Methods

new(name, screen, transition: nil) click to toggle source
# File lib/journeyviz/action.rb, line 10
def initialize(name, screen, transition: nil)
  assign_normalize_name(name)
  @screen = screen
  @transition = transition
end

Public Instance Methods

raw_transition() click to toggle source
# File lib/journeyviz/action.rb, line 23
def raw_transition
  @transition
end
transition() click to toggle source
# File lib/journeyviz/action.rb, line 16
def transition
  case @transition
  when Symbol then find_screen_by_name(@transition)
  when Array then find_screen_by_full_qualifier(@transition)
  end
end

Private Instance Methods

find_screen_by_full_qualifier(qualifier) click to toggle source
# File lib/journeyviz/action.rb, line 40
def find_screen_by_full_qualifier(qualifier)
  screen.root_scope.find_screen(qualifier)
end
find_screen_by_name(screen_name) click to toggle source
# File lib/journeyviz/action.rb, line 29
def find_screen_by_name(screen_name)
  qualifier = screen.full_qualifier

  (qualifier.size - 1).downto(0) do |len|
    found_screen = find_screen_by_full_qualifier(qualifier[0, len] + [screen_name])
    return found_screen if found_screen
  end

  nil
end