Sha256: 3fa0eb958ac62bd75c9ebb070d29e00f96d7970a29722fdb82ebc29daf44efae

Contents?: true

Size: 1.05 KB

Versions: 35

Compression:

Stored size: 1.05 KB

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, require_dependency: 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)
          ::Avm::EacGenericBase0::FileFormats::Base::Match.new(self, file).result || !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

35 entries across 35 versions & 2 rubygems

Version Path
eac_tools-0.76.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.76.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.75.2 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.75.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.75.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.74.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.74.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.73.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.72.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.70.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.70.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.69.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.69.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.68.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.67.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.67.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.66.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.65.1 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.65.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb
eac_tools-0.64.0 sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb