class MeetupsAround::CLI

Attributes

meetups[RW]
radius[R]
zip_code[R]

Public Class Methods

input() click to toggle source
# File lib/meetups_around/cli.rb, line 12
def self.input
  @@input
end

Public Instance Methods

again?() click to toggle source
# File lib/meetups_around/cli.rb, line 48
def again?
    puts 'Would you like to search again? [Y/N]'
    input = gets.strip.downcase
    puts input == 'y' || input == 'yes' ? call : 'Goodbye =)'
end
call() click to toggle source
# File lib/meetups_around/cli.rb, line 4
def call
    @@input = self
    input_zipcode
    input_radius
    list_meetups
    again?
end
input_radius() click to toggle source
# File lib/meetups_around/cli.rb, line 27
def input_radius
    puts 'What radius around that zip code would you like to see meetups for?'
    @radius = gets.strip
    if /\b\d{1,2}\b/.match?(radius)
        nil
    else
        puts 'Please enter a radius less than 100.'
        input_radius
    end
end
input_zipcode() click to toggle source
# File lib/meetups_around/cli.rb, line 16
def input_zipcode
    puts 'What zip code would you like to see meetups for?'
    @zip_code = gets.strip
    if /\b\d{5}\b/.match?(zip_code)
        nil
    else
        puts 'Please enter a five digit zip code.'
        input_zipcode
    end
end
list_meetups() click to toggle source
# File lib/meetups_around/cli.rb, line 38
def list_meetups
    @meetups = MeetupsAround::Meetup.today
    if self.meetups != nil
      puts "Today, #{MeetupsAround::Meetup.todays_date} are the following meetups:"
      meetups.each.with_index(1) do |meetup, i|
        puts "#{i}. #{meetup.time} - #{meetup.group} - #{meetup.event} - #{meetup.attending}"
      end
    end
end