aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/template/raw_file.rb
blob: 623351305ffa5b3f10607d2bf234534b4aa7e77a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

module ActionView #:nodoc:
  # = Action View RawFile Template
  class Template #:nodoc:
    class RawFile #:nodoc:
      attr_accessor :type, :format

      def initialize(filename)
        @filename = filename.to_s
        extname = ::File.extname(filename).delete(".")
        @type = Template::Types[extname] || Template::Types[:text]
        @format = @type.symbol
      end

      def identifier
        @filename
      end

      def render(*args)
        ::File.read(@filename)
      end

      def formats; Array(format); end
      deprecate :formats
    end
  end
end