Sha256: 7cfc1e7097e24ef508baaff1c9bbe422ae0e0a222757092befddba957dc5db3b

Contents?: true

Size: 1.3 KB

Versions: 100

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

require 'avm/eac_generic_base0/file_formats/base'
require 'avm/eac_webapp_base0/executables'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacWebappBase0
    module FileFormats
      class Css < ::Avm::EacGenericBase0::FileFormats::Base
        class FileApply
          EXECUTABLE_NAME = 'cssbeautify-cli'
          EXECUTABLE_CHECK_ARGS = ['--version'].freeze
          EXECUTABLE_STATIC_ARGS = ['--autosemicolon', '--indent', '  ', '--openbrace',
                                    'end-of-line', '--stdin'].freeze

          common_constructor :file

          def perform
            on_temp_output_file do |_temp_file|
              run_command
            end
          end

          private

          attr_accessor :output_file

          def command
            ::Avm::EacWebappBase0::Executables.cssbeautify_cli.command(*EXECUTABLE_STATIC_ARGS)
          end

          def on_temp_output_file
            ::EacRubyUtils::Fs::Temp.on_file do |temp_output_file|
              self.output_file = temp_output_file
              yield
              ::FileUtils.mv(temp_output_file.to_path, file)
            end
          end

          def run_command
            command.system!(input_file: file, output_file: output_file.to_path)
          end
        end
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 2 rubygems

Version Path
avm-eac_webapp_base0-0.20.1 lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.94.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
avm-eac_webapp_base0-0.20.0 lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.93.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
avm-eac_webapp_base0-0.19.0 lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.87.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
avm-eac_webapp_base0-0.18.4 lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.86.8 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.84.2 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
avm-eac_webapp_base0-0.18.3 lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.84.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.84.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.83.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.82.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.81.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.80.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.79.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.78.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.77.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb
eac_tools-0.77.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb