class Brainstem::ApiDocs::Resolver
Attributes
atlas[RW]
presenter_constant_lookup_method[RW]
Public Class Methods
new(atlas, options = {})
click to toggle source
Calls superclass method
Brainstem::Concerns::Optional::new
# File lib/brainstem/api_docs/resolver.rb, line 21 def initialize(atlas, options = {}) self.atlas = atlas super options end
Public Instance Methods
find_by_class(klass)
click to toggle source
# File lib/brainstem/api_docs/resolver.rb, line 29 def find_by_class(klass) if klass == :polymorphic nil elsif klass < ActiveRecord::Base find_presenter_from_target_class(klass) end end
valid_options()
click to toggle source
# File lib/brainstem/api_docs/resolver.rb, line 15 def valid_options [ :presenter_constant_lookup_method, ] end
Private Instance Methods
find_presenter_from_target_class(klass)
click to toggle source
# File lib/brainstem/api_docs/resolver.rb, line 41 def find_presenter_from_target_class(klass) const = presenter_target_class_to_const(klass) atlas.presenters.find {|p| p.const == const } rescue nil end
presenter_target_class_to_const(target_class)
click to toggle source
Converts a class into a presenter constant. Raises an error if not found.
# File lib/brainstem/api_docs/resolver.rb, line 52 def presenter_target_class_to_const(target_class) presenter_constant_lookup_method.call(target_class.to_s) end