Sha256: 240235fd04292d9571f3a24f4425d6f5b87218d04ba70d3cf5555f6fdbe53011

Contents?: true

Size: 756 Bytes

Versions: 13

Compression:

Stored size: 756 Bytes

Contents

require 'jpmobile/lookup_context'

module Jpmobile
  module FallbackViewSelector
    def render_to_body(options)
      if Jpmobile.config.fallback_view_selector &&
         lookup_context.mobile.present? && !lookup_context.mobile.empty?
        begin
          expected_view_file = lookup_context.find_template(options[:template], options[:prefixes])

          _candidates = lookup_context.mobile.map {|variant|
            target_template = options[:template] + '_' + variant
            expected_view_file.virtual_path.match(target_template)
          }.compact

          if _candidates.empty?
            lookup_context.mobile = []
          end
        rescue ActionView::MissingTemplate
        end
      end

      super(options)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
jpmobile-7.0.1 lib/jpmobile/fallback_view_selector.rb
jpmobile-7.0.0 lib/jpmobile/fallback_view_selector.rb
jpmobile-6.1.2 lib/jpmobile/fallback_view_selector.rb
jpmobile-6.1.1 lib/jpmobile/fallback_view_selector.rb
jpmobile-6.1.0 lib/jpmobile/fallback_view_selector.rb
jpmobile-6.0.0 lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.5 lib/jpmobile/fallback_view_selector.rb
jpmobile-6.0.0.beta lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.4 lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.3 lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.2 lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.1 lib/jpmobile/fallback_view_selector.rb
jpmobile-5.2.0 lib/jpmobile/fallback_view_selector.rb