anchor.diff:  Now that we have a Matcher, a Recognizer, and a Route; we can add routing methods to the App class. The first thing we need is an `.add()` method for pushing a new Route onto `.routes`:
   
   ```ruby
  +module Eldr
  +  class App
  +    class << self
  +      attr_accessor :routes
  +      def routes
  +        @routes ||= { delete: [], get: [], head: [], options: [], patch: [], post: [], put: [] }
  +      end
  +
  +      def add(verb: :get, path: '/', handler: nil)
  +        handler = Proc.new if block_given?
  +        route =  Route.new(verb: verb, path: path, handler: handler)
  +        routes[verb] << route
  +        route
  +      end
  +      alias_method :<<, :add
  +    end
  +  end
  +end
  +```
  +
  +Then we can use define_method for the get, post, delete methods etc:
  +
  +```ruby
   class << self
  -  attr_accessor :routes
  -  def routes
  -    @routes ||= { delete: [], get: [], head: [], options: [], patch: [], post: [], put: [] }
  -  end
  -
  -  def add(verb: :get, path: '/', options: {}, handler: nil)
  -    handler = Proc.new if block_given?
  -    route =  Route.new(verb: verb, path: path, options: options, handler: handler)
  -    routes[verb] << route
  -    route
  -  end
  -  alias_method :<<, :add
  -end
  -```
  -
  -Then we can use define_method for the get, post, delete methods etc:
  -
  -```ruby
  -class << self
  +  HTTP_VERBS = %w(DELETE GET HEAD OPTIONS PATCH POST PUT)
     HTTP_VERBS.each do |verb|
       define_method verb.downcase.to_sym do |path, *args, &block|
         handler = Proc.new(&block) if block
  
positive.code: 
    recognize(env).each do |route|
      env['eldr.route'] = route
      params.merge!(route.params(env['PATH_INFO']))
      catch(:pass) { return route.call(env, app: self) }
    end
  rescue => error
    if error.respond_to? :call
  
negative.code: end
  ```
  
  Now modify our app spec (spec/app_spec.rb) to make sure are before/after methods work:
  
  ```ruby
  describe '.before' do
    it 'adds a before filter' do
      bob = Class.new(Eldr::App)
      bob.before {}
      bob.before(:cats) { }
      expect(bob.before_filters[:all].length).to eq(1)
      expect(bob.before_filters[:cats].length).to eq(1)
    end
  end
  
  describe '.after' do
    it 'adds an before filter' do
      bob = Class.new(Eldr::App)
      bob.after {}
      bob.after(:cats) { }
      expect(bob.after_filters[:all].length).to eq(1)
      expect(bob.after_filters[:cats].length).to eq(1)
    end
  end
  ```
  
  <%= gh_branch 'building-eldr', 'step-10' %>
  