Sha256: 455f4ae3c61a837f812676b9f0fa52a99510d160de26a58f033022c01bbce63a
Contents?: true
Size: 1.4 KB
Versions: 3
Compression:
Stored size: 1.4 KB
Contents
module Praxis module Skeletor class RestfulRoutingConfig attr_reader :name, :resource_definition, :routes def initialize(name, resource_definition, &block) @name = name @resource_definition = resource_definition @routes = [] @prefix = "/" + resource_definition.name.split("::").last.underscore if resource_definition.routing_config instance_eval(&resource_definition.routing_config) end instance_eval(&block) end def prefix(prefix=nil) return @prefix unless prefix @prefix = prefix end def options(path, opts={}) add_route 'OPTIONS', path, opts end def get(path, opts={}) add_route 'GET', path, opts end def head(path, opts={}) add_route 'HEAD', path, opts end def post(path, opts={}) add_route 'POST', path, opts end def put(path, opts={}) add_route 'PUT', path, opts end def delete(path, opts={}) add_route 'DELETE', path, opts end def trace(path, opts={}) add_route 'TRACE', path, opts end def connect(path, opts={}) add_route 'CONNECT', path, opts end def patch(path, opts={}) add_route 'PATCH', path, opts end def add_route(verb, path, options={}) path = Mustermann.new(@prefix + path) @routes << Route.new(verb, path, resource_definition.version, **options) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
praxis-0.10.1 | lib/praxis/skeletor/restful_routing_config.rb |
praxis-0.10.0 | lib/praxis/skeletor/restful_routing_config.rb |
praxis-0.9 | lib/praxis/skeletor/restful_routing_config.rb |