Class: Microstation::Capabilities
- Inherits:
-
Object
- Object
- Microstation::Capabilities
- Defined in:
- lib/microstation/configuration.rb
Instance Attribute Summary collapse
-
#capabilities ⇒ Object
readonly
Returns the value of attribute capabilities.
-
#variable ⇒ Object
readonly
Returns the value of attribute variable.
Instance Method Summary collapse
- #disable(name) ⇒ Object
- #disabled ⇒ Object
- #disabled?(name) ⇒ Boolean
- #enable(name) ⇒ Object
- #enabled ⇒ Object
- #enabled?(name) ⇒ Boolean
- #get_capabilities ⇒ Object
-
#initialize(config, variable) ⇒ Capabilities
constructor
A new instance of Capabilities.
- #prepend(value) ⇒ Object
- #remove_prefix(name) ⇒ Object
- #search(name) ⇒ Object
- #write_configuration ⇒ Object
Constructor Details
#initialize(config, variable) ⇒ Capabilities
Returns a new instance of Capabilities.
7 8 9 10 11 |
# File 'lib/microstation/configuration.rb', line 7 def initialize(config,variable) @config = config @variable = variable @capabilities = get_capabilities end |
Instance Attribute Details
#capabilities ⇒ Object (readonly)
Returns the value of attribute capabilities.
5 6 7 |
# File 'lib/microstation/configuration.rb', line 5 def capabilities @capabilities end |
#variable ⇒ Object (readonly)
Returns the value of attribute variable.
5 6 7 |
# File 'lib/microstation/configuration.rb', line 5 def variable @variable end |
Instance Method Details
#disable(name) ⇒ Object
59 60 61 62 63 64 65 66 67 |
# File 'lib/microstation/configuration.rb', line 59 def disable(name) return if disabled?(name) && !enabled?(name) capa = remove_prefix(name) capabilities.delete("+#{name}") @capabilities.unshift("-#{capa}") write_configuration get_capabilities self end |
#disabled ⇒ Object
26 27 28 |
# File 'lib/microstation/configuration.rb', line 26 def disabled @capabilities.select{|c| c.start_with?('-')} end |
#disabled?(name) ⇒ Boolean
35 36 37 38 |
# File 'lib/microstation/configuration.rb', line 35 def disabled?(name) capa = remove_prefix(name) @capabilities.any?{|c| c == "-#{capa}"} end |
#enable(name) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/microstation/configuration.rb', line 49 def enable(name) return if enabled?(name) && !disabled?(name) capa = remove_prefix(name) @capabilities.delete("-#{capa}") @capabilities.unshift("+#{capa}") write_configuration get_capabilities self end |
#enabled ⇒ Object
22 23 24 |
# File 'lib/microstation/configuration.rb', line 22 def enabled @capabilities.select{|c| c.start_with?('+')} end |
#enabled?(name) ⇒ Boolean
30 31 32 33 |
# File 'lib/microstation/configuration.rb', line 30 def enabled?(name) capa = remove_prefix(name) @capabilities.any?{|c| c == "+#{capa}"} end |
#get_capabilities ⇒ Object
13 14 15 |
# File 'lib/microstation/configuration.rb', line 13 def get_capabilities @capabilities = @config[variable].split(';') end |
#prepend(value) ⇒ Object
45 46 47 |
# File 'lib/microstation/configuration.rb', line 45 def prepend(value) @config.prepend(variable,value) end |
#remove_prefix(name) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/microstation/configuration.rb', line 69 def remove_prefix(name) if name =~ /[+-](.+)/ name = Regexp.last_match(1) end name end |
#search(name) ⇒ Object
18 19 20 |
# File 'lib/microstation/configuration.rb', line 18 def search(name) @capabilities.select{|c| c =~ Regexp.new(Regexp.escape(name), Regexp::IGNORECASE)} end |
#write_configuration ⇒ Object
40 41 42 43 |
# File 'lib/microstation/configuration.rb', line 40 def write_configuration caps = @capabilities.uniq.join(';') @config.set!(variable, caps) end |