Class: RightScale::Policy

Inherits:
Object show all
Defined in:
lib/instance/policy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy_name, audit_period, audit) ⇒ Policy

Returns a new instance of Policy.



28
29
30
31
32
33
34
35
36
# File 'lib/instance/policy.rb', line 28

def initialize(policy_name, audit_period, audit)
  @policy_name = policy_name.to_s
  @audit_period = audit_period.to_i
  @audit = RightScale::PolicyAudit.new(audit)
  @count = 0
  @audit_timestamp = Time.now

  @audit.audit.append_info("First run of Reconvergence Policy '#{policy_name}' at #{Time.at(@audit_timestamp).to_s}")
end

Instance Attribute Details

#auditObject

Returns the value of attribute audit.



26
27
28
# File 'lib/instance/policy.rb', line 26

def audit
  @audit
end

#audit_periodObject

Returns the value of attribute audit_period.



26
27
28
# File 'lib/instance/policy.rb', line 26

def audit_period
  @audit_period
end

#audit_timestampObject

Returns the value of attribute audit_timestamp.



26
27
28
# File 'lib/instance/policy.rb', line 26

def audit_timestamp
  @audit_timestamp
end

#countObject

Returns the value of attribute count.



26
27
28
# File 'lib/instance/policy.rb', line 26

def count
  @count
end

#policy_nameObject

Returns the value of attribute policy_name.



26
27
28
# File 'lib/instance/policy.rb', line 26

def policy_name
  @policy_name
end

Instance Method Details

#failObject



48
49
50
# File 'lib/instance/policy.rb', line 48

def fail
  @count = 0
end

#successObject



38
39
40
41
42
43
44
45
46
# File 'lib/instance/policy.rb', line 38

def success
  @count += 1
  timestamp = Time.now
  if timestamp - @audit_timestamp >= @audit_period
    @audit.audit.append_info("Reconvergence Policy '#{@policy_name}' has run successfully #{@count} time#{@count > 1 ? 's' : ''} since #{Time.at(@audit_timestamp).to_s}")
    @audit_timestamp = timestamp
    @count = 0
  end
end