class Apipie::RoutesFormatter

Constants

API_METHODS

Public Instance Methods

format_path(rails_route) click to toggle source
# File lib/apipie/routes_formatter.rb, line 18
def format_path(rails_route)
  File.join(rails_route.base_url, rails_route.path.spec.to_s.gsub('(.:format)', ''))
end
format_route(rails_route, args) click to toggle source
# File lib/apipie/routes_formatter.rb, line 11
def format_route(rails_route, args)
  { :path => format_path(rails_route),
    :verb => format_verb(rails_route),
    :desc => args[:desc],
    :options => args[:options] }
end
format_routes(rails_routes, args) click to toggle source

The entry method called by Apipie to extract the array representing the api dsl from the routes definition.

# File lib/apipie/routes_formatter.rb, line 7
def format_routes(rails_routes, args)
  rails_routes.map { |rails_route| format_route(rails_route, args) }
end
format_verb(rails_route) click to toggle source
# File lib/apipie/routes_formatter.rb, line 22
def format_verb(rails_route)
  verb = API_METHODS.select{|defined_verb| defined_verb =~ /\A#{rails_route.verb}\z/}
  if verb.count != 1
    verb = API_METHODS.select{|defined_verb| defined_verb == rails_route.constraints[:method]}
    if verb.blank?
      raise "Unknow verb #{rails_route.path.spec.to_s}"
    end
  end
  verb.first
end