Class: Tenma::Ichiba::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/tenma/ichiba/validator.rb

Defined Under Namespace

Classes: ValidationException

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Validator

Returns a new instance of Validator.



5
6
7
# File 'lib/tenma/ichiba/validator.rb', line 5

def initialize(context)
  @context = context
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



4
5
6
# File 'lib/tenma/ichiba/validator.rb', line 4

def context
  @context
end

Instance Method Details

#command?(command) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/tenma/ichiba/validator.rb', line 23

def command?(command)
  system "which #{command} > /dev/null 2>&1"
end

#validate!Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/tenma/ichiba/validator.rb', line 9

def validate!
  if !command?("gcloud")
    raise ValidationException, "required gcloud command"
  end

  if !File.exist?(context.options.raw.node_yaml)
    raise ValidationException, "Can't find #{context.options.raw.node_yaml}"
  end

  if context.options.provision_instance? && (ENV["USER"].nil? || ENV["USER"].empty?)
    raise ValidationException, "ENV[USER] is nil or empty..."
  end
end