Sha256: b7c0e635c2193e455bb6fe2f293ad38dd74247930a237835e3d0a041194a919e

Contents?: true

Size: 987 Bytes

Versions: 4

Compression:

Stored size: 987 Bytes

Contents

# frozen_string_literal: true

require 'avm/file_formats/base'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacGenericBase0
    class FileFormats
      class Base < ::Avm::FileFormats::Base
        require_sub __FILE__, include_modules: true

        VALID_BASENAMES = %w[*.asm *.bat *.coffee *.java *.js *.rb *.s *.sql *.tex *.url *.yml
                             *.yaml].freeze

        VALID_TYPES = %w[plain x-shellscript].freeze

        def internal_apply(files)
          files.each { |file| file_apply(file) }
        end

        # @param file [Pathname]
        # @return [Boolean]
        def match?(file)
          super(file) || !file.exist?
        end

        def file_apply(file)
          file.write(string_apply(file.read))
        end

        def string_apply(string)
          b = ''
          string.each_line do |line|
            b += "#{line.rstrip}\n"
          end
          "#{b.strip}\n".gsub(/\t/, '  ')
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
eac_tools-0.55.7 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.55.6 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
avm-eac_generic_base0-0.11.0 lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.55.5 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb