class Apic::RouteWrapper

Public Instance Methods

endpoint() click to toggle source
# File lib/apic/route_wrapper.rb, line 23
def endpoint
  [verb, path].join(' ')
end
internal?() click to toggle source
# File lib/apic/route_wrapper.rb, line 27
def internal?
  requirements[:controller].to_s =~ %r{\Arails/(info|welcome)} ||
    path =~ %r{\A#{Rails.application.config.assets.prefix}} ||
    path =~ %r{\A\/apic}
end
to_h() click to toggle source
# File lib/apic/route_wrapper.rb, line 6
def to_h
  endpoint = {
    path: path,
    parts: parts - [:format],
    verb: verb,
    template: template,
    key: key,
    authentication_required: authentication_required
  }

  if %(PATCH DELETE).include? verb
    endpoint[:template] << '_method'
  end

  endpoint
end

Private Instance Methods

action_name() click to toggle source
# File lib/apic/route_wrapper.rb, line 58
def action_name
  requirements[:action]
end
authentication_required() click to toggle source
# File lib/apic/route_wrapper.rb, line 35
    def authentication_required
      return false unless Apic.authentication_filter
      controller._process_action_callbacks.any? do |callback|
        eval <<-RUBY_EVAL
        #{callback.filter == Apic.authentication_filter} && #{callback.instance_values['compiled_options']}
        RUBY_EVAL
      end
    end
controller() click to toggle source
# File lib/apic/route_wrapper.rb, line 44
def controller
  if controller = requirements[:controller]
    [controller.to_s, 'controller'].join('_').camelize.constantize
  end
end
key() click to toggle source
# File lib/apic/route_wrapper.rb, line 62
def key
  [verb, path].join(' ')
end
path() click to toggle source
Calls superclass method
# File lib/apic/route_wrapper.rb, line 54
def path
  super.spec.to_s.gsub("(.:format)",".json")
end
template() click to toggle source
# File lib/apic/route_wrapper.rb, line 66
def template
  Apic::ParamsCache.params_for(requirements[:controller], action_name) || []
end
verb() click to toggle source
Calls superclass method
# File lib/apic/route_wrapper.rb, line 50
def verb
  super.source.gsub(/[$^]/, '')
end