Sha256: 9b3c5c29a836ba88934a7ab2b720deefd8a9738ca88c0696a1cd7b0b31a1e889

Contents?: true

Size: 1.92 KB

Versions: 5

Compression:

Stored size: 1.92 KB

Contents

require 'fileutils'

module ConfigSetting
  def self.set_setting file_location, setting_name, setting_value
    # puts "HERE: #{file_location} and #{setting_name} and #{setting_value}"
    create_file_if_non_existent(file_location)
    if setting_value
      if File.readlines(file_location).grep(/#{setting_name}:/).size > 0
        # puts "FOUND SETTING"
        text = File.read(file_location)
        # puts "FOUDN IN FILE: #{text.inspect}"
        replace = text.gsub(/^#{setting_name}: ([^$]*)$/, setting_value)
        # replace = replace.gsub(/bbb/, "Replace bbb with 222")
        File.open(file_location, "w") {|file| file.puts "#{setting_name}: #{replace}"}
      else
        # puts "COULDNT FIND SETTING"
        File.open(file_location, 'a') do |f|
          f << "#{setting_name}: #{setting_value}"
        end
      end
    end
  end

  def self.get_setting file_location, setting_name, default_value
    create_file_if_non_existent(file_location)
    test = File.readlines(file_location).select { |line| line =~ /^#{setting_name}: ([^$]*)$/ }
    if test && test.first
      # puts "BEFORE SCAN: #{test}"
      # So many firstsss
      test = test.first.scan(/^#{setting_name}: ([^$]*)$/).first
      if test
        test = test.first
      end
      test = test.strip
    end
    # test = nil
    # if File.readlines(file_location).grep(/#{setting_name}:/).size > 0
    #   test = 
    # end
    # puts "GETTING TEST: #{test}"
    # puts "test2: #{test.inspect}"
    # puts "test2 - #{test.nil?}"
    # puts "test3 - #{test.inspect}"
    # if test.nil? #|| test.count == 0
    #   # puts "TEST NIL HERE"
    #   test = default_value
    # end
    if test == [] || test.nil? || test == ''
      test = default_value
    end
    return test
  end

  def self.create_file_if_non_existent file_location
    # puts "CREATING FILE AT LOCATION: #{file_location}"
    if !File.exists?(file_location)
      FileUtils.touch(file_location)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
line-em-up-0.3.5 line-em-up/lib/config_setting.rb
line-em-up-0.3.4 line-em-up/lib/config_setting.rb
line-em-up-0.3.3 line-em-up/lib/config_setting.rb
line-em-up-0.3.2 line-em-up/lib/config_setting.rb
line-em-up-0.3.1 line-em-up/lib/config_setting.rb