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
# File lib/cureutils/logic/echo_logic.rb, line 40 def print_results return 1 unless existing_precure? precure = Cure.send(@cure_name.to_sym) if @message_mode == EchoMode::TRANSFORM original_transform(precure) elsif @message_mode == EchoMode::ATTACK precure = original_transform(precure) precure.attack! end 0 end
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