Sha256: 36d9939cf92e503223d418ba8211f66c1c882e8396bbf398ec4539ff23a7da89

Contents?: true

Size: 606 Bytes

Versions: 4

Compression:

Stored size: 606 Bytes

Contents

require 'page_magic/driver'
module PageMagic
  class Drivers
    def all
      @all ||=[]
    end

    def register(driver)
      all << driver
    end


    def find browser
      all.find{|driver|driver.support?(browser)}
    end

    def load path="#{__dir__}/drivers"
      require 'active_support/inflector'

      Dir["#{path}/*.rb"].each do |driver_file|
        require driver_file
        driver_name = File.basename(driver_file)[/(.*)\.rb$/, 1]
        register eval(driver_name.classify)
      end
    end

    def == other
      other.is_a?(Drivers) && other.all == other.all
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
page_magic-1.0.0.alpha4 lib/page_magic/drivers.rb
page_magic-1.0.0.alpha3 lib/page_magic/drivers.rb
page_magic-0.11.0.alpha8 lib/page_magic/drivers.rb
page_magic-0.11.0.alpha7 lib/page_magic/drivers.rb