Sha256: b415adc9be4b9df87eb3a97a52c16a2c867b0a2854d0760eebe3b74b56658b28

Contents?: true

Size: 418 Bytes

Versions: 6

Compression:

Stored size: 418 Bytes

Contents

module Restfulness

  class Router

    attr_accessor :routes

    def initialize(&block)
      self.routes = []
      instance_eval(&block) if block_given?
    end

    def add(*args)
      routes << Route.new(*args)
    end

    def route_for(path)
      parts = path.gsub(/^\/|\/$/, '').split(/\//)
      routes.each do |route|
        return route if route.handles?(parts)
      end
      nil
    end

  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
restfulness-0.2.4 lib/restfulness/router.rb
restfulness-0.2.3 lib/restfulness/router.rb
restfulness-0.2.2 lib/restfulness/router.rb
restfulness-0.2.1 lib/restfulness/router.rb
restfulness-0.2.0 lib/restfulness/router.rb
restfulness-0.1.0 lib/restfulness/router.rb