Class: BuildTool::Setting

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/build-tool/model/setting.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#defaultObject

The default value for this setting



21
22
23
# File 'lib/build-tool/model/setting.rb', line 21

def default
  @default
end

#descriptionObject

The description for this setting



18
19
20
# File 'lib/build-tool/model/setting.rb', line 18

def description
  @description
end

#seenObject

If the setting has been seen



24
25
26
# File 'lib/build-tool/model/setting.rb', line 24

def seen
  @seen
end

Class Method Details

.export(settings, only = []) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/build-tool/model/setting.rb', line 41

def export( settings, only = [] )
    only = settings.keys if only.empty?
    values = []
    only.sort.each do |name|
        # Skip internal settings.
        next if name.start_with?( 'BUILD_TOOL.' )
        # Check for unknown settings.
        if not settings.has_key?( name )
            logger.warn( 'Unknown setting %s skipped' % name )
            next
        end
        s = settings[name]
        values << s.to_hash()
    end
    return values
end

.import(settings, new) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/build-tool/model/setting.rb', line 58

def import( settings, new )
    new.each do |v|
        if not settings.has_key?( v[:name] )
            logger.warn( 'Unknown setting %s skipped' % name )
            next
        end
        s = settings[v[:name]]
        if s.value != v[:value]
            s.value = v[:value]
            logger.info( 'Setting %s to "%s"' % [ s.name, s.value ] )
            s.save!
        end
    end
end

Instance Method Details

#my_initializeObject



11
12
13
14
15
# File 'lib/build-tool/model/setting.rb', line 11

def my_initialize()
    @description = nil
    @default     = ""
    @seen = false
end

#to_hashObject



32
33
34
35
36
37
# File 'lib/build-tool/model/setting.rb', line 32

def to_hash()
    return {
        :name => name,
        :value => value,
        :description => description }
end

#to_sObject



78
79
80
# File 'lib/build-tool/model/setting.rb', line 78

def to_s()
    self.value.to_s
end

#valueObject



26
27
28
29
30
# File 'lib/build-tool/model/setting.rb', line 26

def value()
    rv = read_attribute( :value )
    return @default if rv.nil?
    rv
end