Sha256: 057880c4090f81ccd40867aba052e4d20e042ab1031e8e716d582596a586c1fd

Contents?: true

Size: 1.35 KB

Versions: 173

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require 'avm/git/issue/complete/validation'
require 'avm/result'
require 'ostruct'

module Avm
  module Git
    module Issue
      class Complete
        module Validations
          VALIDATIONS = {
            clean_workspace: 'Clean workspace?',
            branch_name: 'Branch name',
            branch_hash: 'Branch hash',
            follow_master: 'Follow master?',
            commits: 'Commits?',
            bifurcations: 'Bifurcations?',
            dry_push: 'Dry push?',
            git_subrepos: 'Git subrepos ok?',
            test: 'Test ok?'
          }.with_indifferent_access.freeze

          def valid?
            validations.map(&:result).none?(&:error?)
          end

          def validations_banner
            validations.each do |v|
              infov "[#{v.key}] #{v.label}", v.result.label
            end
          end

          def validate_skip_validations
            skip_validations.each do |validation|
              next if VALIDATIONS.keys.include?(validation)

              raise "\"#{validation}\" is not a registered validation"
            end
          end

          private

          def validations_uncached
            VALIDATIONS.map do |key, label|
              ::Avm::Git::Issue::Complete::Validation.new(self, key, label)
            end
          end
        end
      end
    end
  end
end

Version data entries

173 entries across 173 versions & 4 rubygems

Version Path
avm-git-0.18.0 lib/avm/git/issue/complete/validations.rb
eac_tools-0.94.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
avm-git-0.17.0 lib/avm/git/issue/complete/validations.rb
eac_tools-0.86.5 sub/avm-git/lib/avm/git/issue/complete/validations.rb
avm-git-0.16.0 lib/avm/git/issue/complete/validations.rb
eac_tools-0.86.4 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.86.3 sub/avm-git/lib/avm/git/issue/complete/validations.rb
avm-git-0.15.0 lib/avm/git/issue/complete/validations.rb
eac_tools-0.86.2 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.84.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.83.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.82.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
avm-git-0.14.0 lib/avm/git/issue/complete/validations.rb
eac_tools-0.81.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.80.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.79.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.78.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.77.1 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.77.0 sub/avm-git/lib/avm/git/issue/complete/validations.rb
eac_tools-0.76.1 sub/avm-git/lib/avm/git/issue/complete/validations.rb