class ActionView::TemplateRenderer
Public Instance Methods
render(context, options)
click to toggle source
# File lib/bizside/user_agent/action_view/action_view_4.rb, line 5 def render(context, options) @view = context @details = extract_details(options) template = get_template_by_user_agent(context, options) context = @lookup_context prepend_formats(template.formats) unless context.rendered_format context.rendered_format = template.formats.first || formats.first end render_template(template, options[:layout], options[:locals]) end
Private Instance Methods
get_template_by_user_agent(context, options)
click to toggle source
# File lib/bizside/user_agent/action_view/action_view_4.rb, line 32 def get_template_by_user_agent(context, options) ret = nil option_for_template = options[:template] ua = get_user_agent(context) if ua ua.priorities.each do |priority| begin options[:template] = option_for_template + '.' + priority ret = determine_template(options) break rescue ActionView::MissingTemplate => e end end end unless ret options[:template] = option_for_template ret = determine_template(options) end Rails.logger.debug "UserAgent: #{ua ? ua.name : 'unknown'} => #{ret.identifier}" ret end
get_user_agent(context)
click to toggle source
# File lib/bizside/user_agent/action_view/action_view_4.rb, line 22 def get_user_agent(context) if context.respond_to?(:user_agent) if context.respond_to?(:controller) if context.controller.respond_to?(:session) context.user_agent end end end end