Sha256: 0248a1f8146bc0f3d3904c32d2a2002ceea27908b196959908d591d4b8fe28a6

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

module Jpmobile
  class TemplateDetails < ActionView::TemplateDetails
    def initialize(locale, handler, format, variant, mobile)
      @mobile = mobile

      super(locale, handler, format, variant)
    end

    def matches?(requested)
      requested.formats_idx[@format] &&
        requested.locale_idx[@locale] &&
        requested.variants_idx[@variant] &&
        requested.handlers_idx[@handler] &&
        requested.mobile_idx[@mobile]
    end

    def sort_key_for(requested)
      [
        requested.formats_idx[@format],
        requested.locale_idx[@locale],
        requested.variants_idx[@variant],
        requested.mobile_idx[@mobile],
        requested.handlers_idx[@handler],
      ]
    end

    class Requested < ActionView::TemplateDetails::Requested
      attr_reader :mobile, :mobile_idx

      def initialize(locale:, handlers:, formats:, variants:, mobile:)
        super(locale: locale, handlers: handlers, formats: formats, variants: variants)

        @mobile = mobile.map(&:to_sym)
        @mobile_idx = build_idx_hash(mobile)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jpmobile-7.1.0 lib/jpmobile/template_details.rb
jpmobile-7.0.4 lib/jpmobile/template_details.rb
jpmobile-7.0.3 lib/jpmobile/template_details.rb
jpmobile-7.0.2 lib/jpmobile/template_details.rb