Class: Perus::Server::Config

Inherits:
Sequel::Model
  • Object
show all
Defined in:
lib/perus/server/models/config.rb

Instance Method Summary collapse

Instance Method Details

#after_destroyObject



45
46
47
48
# File 'lib/perus/server/models/config.rb', line 45

def after_destroy
    super
    config_metrics.each(&:destroy)
end

#can_delete?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/perus/server/models/config.rb', line 19

def can_delete?
    systems_dataset.empty?
end

#in_maintenance?Boolean

Returns:

  • (Boolean)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/perus/server/models/config.rb', line 23

def in_maintenance?
    return false unless maintenance.is_a?(String)
    from, to = maintenance.split('-')
    now = Time.now

    from_hour, from_min = from.split(':').map(&:to_i)
    return false if now.hour < from_hour
    return false if now.hour == from_hour && now.min < from_min

    to_hour, to_min = to.split(':').map(&:to_i)
    return false if now.hour > to_hour
    return false if now.hour == to_hour && now.min > to_min

    true
end

#largest_orderObject



11
12
13
14
15
16
17
# File 'lib/perus/server/models/config.rb', line 11

def largest_order
    if config_metrics.empty?
        0
    else
        config_metrics.last.order
    end
end

#metric_hashesObject



7
8
9
# File 'lib/perus/server/models/config.rb', line 7

def metric_hashes
    config_metrics.collect(&:config_hash)
end

#validateObject



39
40
41
42
43
# File 'lib/perus/server/models/config.rb', line 39

def validate
    super
    validates_presence  :name
    validates_unique    :name
end