Sha256: c7588302150dfb24dd0d594a69a362a33e43e90e34e67111013ec243aaf66ff5

Contents?: true

Size: 1 KB

Versions: 3

Compression:

Stored size: 1 KB

Contents

module Assets
  class Rule
    class File < self
      include Concord.new(:name, :path)

      # Return path
      #
      # TODO: Remove this
      #
      # @return [String]
      #
      # @api private
      #
      attr_reader :path

      # Return name
      #
      # @return [String]
      #
      # @api private
      #
      attr_reader :name

      # Return extname
      #
      # @return [String]
      #
      # @api private
      #
      def extname
        ::File.extname(path)
      end
      memoize :extname

      # Return body of asset
      #
      # @return [String]
      #
      # @api private
      #
      def body
        ::File.read(path)
      end

      # Return mime type
      #
      # @return [Mime]
      #
      # @api private
      #
      def mime
        Mime.extname(extname)
      end
      memoize :mime

      # Return modification time
      #
      # @return [Time]
      #
      # @api private
      #
      def updated_at
        ::File.mtime(path)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mbj-assets-0.0.5 lib/assets/rule/file.rb
mbj-assets-0.0.4 lib/assets/rule/file.rb
mbj-assets-0.0.3 lib/assets/rule/file.rb