Sha256: f80d4636fa5ba3003dbfc4fa68f6c49e696cd85a763ea8fa5fbf1087745b48a9

Contents?: true

Size: 1.93 KB

Versions: 1

Compression:

Stored size: 1.93 KB

Contents

module Lita
  module Handlers
    class OnewheelOdotTripcheckWebHack < Handler

      route(/^tripcheck\s+(.*)/i, :handle_tripcheck, command: true,
            help: { 'tripcheck 35': 'Displays an image of hwy 26 @ hwy 35'})

      route(/^tripcheck$/i, :handle_tripcheck_list, command: true,
            help: { 'tripcheck': 'Display a list of tripcheck cameras covered.'})

      def get_cameras
        {
          # 'Hood River': %w(Hood%20River%20Exit%2064a_pid1863.JPG Hood%20River%20Exit%2063_pid1860.JPG),
          'Hood River': 'Hood%20River%20Exit%2064a_pid1863.JPG',
          '26 at 35': 'US26%20at%20Hwy35_pid1881.JPG',
          '26 at Snow Bunny': 'US26%20at%20Snow%20Bunny_pid1887.JPG',
          # '26 at Govy': %w(GovernmentCamp_pid624.jpg US26%20at%20Govn%20Camp%20Maint_pid1899.JPG),
          '26 at Govy': 'US26%20at%20Govn%20Camp%20Maint_pid1899.JPG',
          '26 at Govy Loop Rd': 'US26%20at%20Govt%20Camp%20Lp%20Rd_pid1776.JPG',
          '26 at Frog Lake': 'US26%20at%20Frog%20Lake%20VMS_pid1773.JPG',
          '26 at Blue Box Pass': 'Blue%20Box%20Pass_pid1919.JPG'
        }
      end

      def handle_tripcheck(response)
        input = response.matches[0][0]
        Lita.logger.debug "Looking for '#{input}'"

        uri_base = 'https://tripcheck.com/RoadCams/cams/'

        get_cameras.keys.each do |camera_key|
          Lita.logger.debug "Trying to match '#{input.downcase}' to '#{camera_key.downcase}'"
          if camera_key.to_s.downcase.include? input.downcase
            response.reply "#{uri_base}#{get_cameras[camera_key]}?rand=#{Time.now.to_i}123"
            return   # Quick exit.
          end
        end
      end

      def handle_tripcheck_list(response)
        Lita.logger.debug "Replying with: Cameras available include: #{get_cameras.keys.join ', '}"
        response.reply "Cameras available include: #{get_cameras.keys.join ', '}"
      end

    end
    Lita.register_handler(OnewheelOdotTripcheckWebHack)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lita-onewheel-odot-tripcheck-web-hack-0.0.5 lib/lita/handlers/onewheel_odot_tripcheck_web_hack.rb