Class: Hawker::Mapper

Inherits:
Object
  • Object
show all
Defined in:
lib/hawker/mapper.rb

Constant Summary collapse

MAPPINGS =
{
  /(http|https):\/\/(www.|)github.com\/[a-zA-Z0-9_]*/ => Hawker::Drivers::Github,
  /(http|https):\/\/(www.|)instagram.com\/[a-zA-Z0-9_]*/ => Hawker::Drivers::Instagram,
  /(http|https):\/\/(www.|)twitter.com\/[a-zA-Z0-9_]*/ => Hawker::Drivers::Twitter,
  "default" => Hawker::Drivers::Default
}.freeze

Class Method Summary collapse

Class Method Details

.map(url, response) ⇒ Object

Maps the given URL to the driver class

Returns:

  • (Object)


15
16
17
18
19
20
# File 'lib/hawker/mapper.rb', line 15

def self.map(url, response)
  driver_mappings = MAPPINGS.find { |key, value| url.match(key) }
  driver = driver_mappings.nil? ? MAPPINGS["default"] : driver_mappings.last

  driver.new(response)
end