# File lib/nanoc/base/compilation/compiler_dsl.rb, line 107
    def route(identifier, params={}, &block)
      # Require block
      raise ArgumentError.new("#route requires a block") unless block_given?

      # Get rep name
      rep_name      = params[:rep] || :default
      snapshot_name = params[:snapshot] || :last

      # Create rule
      rule = Rule.new(identifier_to_regex(identifier), rep_name, block, :snapshot_name => snapshot_name)
      @rules_collection.add_item_routing_rule(rule)
    end