Sha256: b7b0288a476d5a763a67140a3843496fbb35f4466534b57c17af50f1aa9fc29f

Contents?: true

Size: 1.12 KB

Versions: 4

Compression:

Stored size: 1.12 KB

Contents

module PolishGeeks
  module DevTools
    module Commands
      # Checks for required files
      class RequiredFiles < Base
        self.type = :validator

        # Executes this command
        # @return [String] command output
        def execute
          output = []
          required_files = ['README.md']
          required_files.concat(::PolishGeeks::DevTools.config.required_files_include || [])
          required_files.each do |required_file|
            file_path = File.join(::PolishGeeks::DevTools.app_root, required_file)
            output << "#{file_path} not exist" unless File.exist?(file_path)
            output << "#{file_path} is empty" if File.zero?(file_path)
          end
          @output = output
        end

        # @return [String] error message
        def error_message
          return if @output.nil?
          err = 'Following files does not exist or are empty:'
          err << "\n"
          err << @output.join("\n")
          err << "\n"
        end

        # @return [Boolean] true if files exist and are not empty
        def valid?
          @output.empty?
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
polishgeeks-dev-tools-1.4.0 lib/polish_geeks/dev_tools/commands/required_files.rb
polishgeeks-dev-tools-1.3.2 lib/polish_geeks/dev_tools/commands/required_files.rb
polishgeeks-dev-tools-1.3.1 lib/polish_geeks/dev_tools/commands/required_files.rb
polishgeeks-dev-tools-1.3.0 lib/polish_geeks/dev_tools/commands/required_files.rb