class EchoLogic

Singleton class for cure echo

Public Class Methods

new() click to toggle source
Calls superclass method BaseLogic::new
# File lib/cureutils/logic/echo_logic.rb, line 12
def initialize
  super
  @cure_name = 'echo'
  @message_mode = EchoMode::TRANSFORM
  @style_priority = []
end

Public Instance Methods

msg_attack(flag = false) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 27
def msg_attack(flag = false)
  @message_mode = EchoMode::ATTACK if flag
end
msg_transform(flag = true) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 23
def msg_transform(flag = true)
  @message_mode = EchoMode::TRANSFORM if flag
end
nosleep(flag = true) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 31
def nosleep(flag = true)
  Rubicure::Girl.sleep_sec = 1
  Rubicure::Girl.sleep_sec = 0 if flag
end
precure(cure_name = false) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 19
def precure(cure_name = false)
  @cure_name = cure_name || 'echo'
end
print_results() click to toggle source
style(style) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 36
def style(style)
  @style_priority << style.to_sym if style
end

Private Instance Methods

existing_precure?() click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 77
def existing_precure?
  found_precure = Rubicure::Girl.config.find do |k, _v|
    k == @cure_name.to_sym
  end
  if found_precure
    true
  else
    @err.puts "No such precure #{@cure_name}"
    false
  end
end
original_transform(precure) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 55
def original_transform(precure)
  return precure.transform! unless transformable?(precure)

  chosen_style = @style_priority.find do |s|
    precure.transform_styles.include?(s)
  end
  if chosen_style
    precure.transform! chosen_style
  else
    default_style, _entity = precure.transform_styles.first
    precure.transform! default_style
  end
end
transformable?(precure) click to toggle source
# File lib/cureutils/logic/echo_logic.rb, line 69
def transformable?(precure)
  return false if precure.transform_calls.nil?

  return true if precure.key?(:transform_styles)

  false
end