class Swamp::Interface

Constants

INVALID_REQUEST_MESSAGE
NO_ELEMENTS_MESSAGE
WELCOME_MESSAGE

Public Class Methods

new(output, wrapper, setup) click to toggle source
# File lib/swamp/interface.rb, line 8
def initialize(output, wrapper, setup)
  @output = output
  @wrapper = wrapper
  @setup = setup
end

Public Instance Methods

present(messages) click to toggle source
# File lib/swamp/interface.rb, line 29
def present(messages)
  messages.each do |message|
    @output.puts(message)
  end
end
run() click to toggle source
# File lib/swamp/interface.rb, line 14
def run
  present(WELCOME_MESSAGE)
end
scan(input) click to toggle source
# File lib/swamp/interface.rb, line 18
def scan(input)
  @output.puts "Scanning, please wait..."
  messages = valid_request?(input) ? request(input) : INVALID_REQUEST_MESSAGE
  present messages
end
setup_command(input) click to toggle source
# File lib/swamp/interface.rb, line 24
def setup_command(input)
  messages = @setup.handle_command(input)
  present messages
end

Private Instance Methods

evaluator(input) click to toggle source
# File lib/swamp/interface.rb, line 41
def evaluator(input)
  Swamp::Evaluator.new(input, @wrapper)
end
request(input) click to toggle source
# File lib/swamp/interface.rb, line 45
def request(input)
  @wrapper.explore(input)
  @wrapper.scan.empty? ? NO_ELEMENTS_MESSAGE : @wrapper.scan
end
valid_request?(input) click to toggle source
# File lib/swamp/interface.rb, line 37
def valid_request?(input)
  evaluator(input).valid_url? or evaluator(input).refresh_command?
end