class Rjax::Resolver
Public Class Methods
process(*args)
click to toggle source
# File lib/rjax/resolver.rb, line 4 def self.process(*args) new(*args).process end
Public Instance Methods
process()
click to toggle source
# File lib/rjax/resolver.rb, line 8 def process case options when Hash then general_partial when Array then collection_partial when NilClass then template_name else instance_partial end end
Private Instance Methods
collection_partial()
click to toggle source
# File lib/rjax/resolver.rb, line 25 def collection_partial { :partial => partial_name, :collection => options, :as => singular_name, :layout => false } end
general_partial()
click to toggle source
# File lib/rjax/resolver.rb, line 20 def general_partial partial = options.has_key?(:partial) ? options.delete(:partial) : partial_name(:multi) { :partial => partial, :locals => options, :layout => false } end
instance_partial()
click to toggle source
# File lib/rjax/resolver.rb, line 29 def instance_partial { :partial => partial_name, :locals => { singular_name.to_sym => options }, :layout => false } end
partial_name(multi = false)
click to toggle source
# File lib/rjax/resolver.rb, line 37 def partial_name(multi = false) name = multi ? singular_name.pluralize : singular_name result = [rjax_version(name), name].detect { |item| controller.template_exists?(item, prefixes, true) } result ? result : raise(Rjax::PartialMissingError, name) end
prefixes()
click to toggle source
# File lib/rjax/resolver.rb, line 55 def prefixes @prefixes ||= controller.send(:_normalize_render)[:prefixes] end
rjax_version(base)
click to toggle source
# File lib/rjax/resolver.rb, line 47 def rjax_version(base) result = "" result << "#{ Rjax.config.prefix }_" if Rjax.config.prefix? result << base result << "_#{ Rjax.config.suffix }" if Rjax.config.suffix? result end
singular_name()
click to toggle source
# File lib/rjax/resolver.rb, line 43 def singular_name @singular_name ||= controller.controller_name.singularize end
template_name()
click to toggle source
# File lib/rjax/resolver.rb, line 33 def template_name rjax_version(controller.action_name).to_sym end