class RJGit::Configuration
Wraps ‘org.eclipse.jgit.lib.Config’
Attributes
jconfig[R]
path[R]
Public Class Methods
new(path)
click to toggle source
# File lib/config.rb, line 11 def initialize(path) @path = path @jconfig = org.eclipse.jgit.lib.Config.new end
Public Instance Methods
[](key)
click to toggle source
# File lib/config.rb, line 28 def [](key) section, subsection = key.split build_settings_hash(section, subsection) end
add_setting(name, value, section, subsection = "")
click to toggle source
# File lib/config.rb, line 81 def add_setting(name, value, section, subsection = "") case value when Integer then @jconfig.set_int(section, subsection, name, value) when TrueClass then @jconfig.set_boolean(section, subsection, name, value) when FalseClass then @jconfig.set_boolean(section, subsection, name, value) when String then @jconfig.set_string(section, subsection, name, value) else nil end end
build_settings_hash(section, subsection)
click to toggle source
# File lib/config.rb, line 33 def build_settings_hash(section, subsection) names = names(section, subsection) settings = {} names.each do |name| value = @jconfig.get_string(section, subsection, name) if is_num?(value) value = value.to_i elsif is_bool?(value) value = to_boolean(value) end settings[name] = value end settings.empty? ? nil : settings end
is_bool?(str)
click to toggle source
# File lib/config.rb, line 56 def is_bool?(str) str = str.strip str == 'true' || str == 'false' end
is_num?(str)
click to toggle source
# File lib/config.rb, line 48 def is_num?(str) begin !!Integer(str) rescue ArgumentError, TypeError false end end
load()
click to toggle source
# File lib/config.rb, line 16 def load return self if @loaded begin @jconfig.from_text(IO.read(@path)) @loaded = true rescue => exception @loaded = false raise IOException.new(exception.message) end return self end
loaded?()
click to toggle source
# File lib/config.rb, line 65 def loaded? @loaded end
names(section, subsection)
click to toggle source
# File lib/config.rb, line 91 def names(section, subsection) @jconfig.get_names(section, subsection).to_array end
sections()
click to toggle source
# File lib/config.rb, line 69 def sections @jconfig.get_sections.to_array end
subsections(section)
click to toggle source
# File lib/config.rb, line 73 def subsections(section) @jconfig.get_subsections(section).to_array end
to_boolean(str)
click to toggle source
# File lib/config.rb, line 61 def to_boolean(str) str == "true" end
to_s()
click to toggle source
# File lib/config.rb, line 77 def to_s @jconfig.to_text end