Class: Redmine::Installer::ConfigParam

Inherits:
Object
  • Object
show all
Defined in:
lib/redmine-installer/config_param.rb

Constant Summary collapse

@@attributes =
[]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ConfigParam

Returns a new instance of ConfigParam.



65
66
67
68
69
70
# File 'lib/redmine-installer/config_param.rb', line 65

def initialize(name)
  # Default
  @@attributes.each{|(k,v)| set(k,v)}

  set(:name, name)
end

Class Method Details

.attribute(name, default = nil) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/redmine-installer/config_param.rb', line 43

def self.attribute(name, default=nil)
  eval <<-EVAL
    def #{name}(value=nil)
      return @#{name} if value.nil?
      self.#{name} = value
    end

    def #{name}=(value)
      @#{name} = value
    end
  EVAL

  @@attributes << [name, default]
end

Instance Method Details

#default(value = nil) ⇒ Object



84
85
86
87
88
89
90
# File 'lib/redmine-installer/config_param.rb', line 84

def default(value=nil)
  return @default if value.nil?

  self.default = value
  self.value = value if self.value.nil?
  self
end

#hide(value = nil) ⇒ Object



92
93
94
95
96
97
# File 'lib/redmine-installer/config_param.rb', line 92

def hide(value=nil)
  return @hide if value.nil?

  self.hide = value
  self
end

#set(key, value) ⇒ Object



79
80
81
82
# File 'lib/redmine-installer/config_param.rb', line 79

def set(key, value)
  self.send("#{key}=", value)
  self
end

#titleObject

Return string for print



73
74
75
76
77
# File 'lib/redmine-installer/config_param.rb', line 73

def title
  out = name.capitalize
  out << " (#{note})" if note
  out
end