138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# File 'lib/reflexive/application.rb', line 138
def method_lookup_action(klass, level, name)
lookup = MethodLookup.new(klass: klass, level: level, name: name)
if definitions = lookup.definitions
if definitions.size == 1
redirect(new_method_definition_path(*definitions[0]) + "#highlighted")
else
@definitions, @klass, @level, @name, @last_resort_lookup_used =
definitions, klass, level, name, lookup.last_resort_lookup_used?
erb :methods_choose
end
elsif documentations = lookup.documentations
if documentations.size == 1
redirect(method_documentation_path(*documentations[0]))
else
raise ArgumentError, "don't know how to handle multiple documentations"
end
else
e "failed to find `#{ name }' #{ level } method for #{ klass }"
end
end
|