class Gearhead::GearLookup

Attributes

request[R]

Public Class Methods

for(request) click to toggle source
# File lib/gearhead/gear_lookup.rb, line 3
def self.for(request)
  new(request).gear
end
new(request) click to toggle source
# File lib/gearhead/gear_lookup.rb, line 8
def initialize(request)
  @request = request
end

Public Instance Methods

gear() click to toggle source

if the resource is already mounted, we don't want to expose it twice. return false return nil if we don't know the class

# File lib/gearhead/gear_lookup.rb, line 14
def gear
  registered_gear = Gearhead.registry.find(request.params[:resource_class])
  return registered_gear if registered_gear
  return nil if inferred_resource_class.nil?
  return false if Gearhead.registry.for_resource(inferred_resource_class.name)

  default_gear
end

Private Instance Methods

default_gear() click to toggle source
# File lib/gearhead/gear_lookup.rb, line 25
def default_gear
  return nil unless Gearhead.config.automount.enabled?

  Gear.new(inferred_resource_class)
end
inferred_resource_class() click to toggle source
# File lib/gearhead/gear_lookup.rb, line 31
def inferred_resource_class
  request.params[:resource_class].classify.safe_constantize
end