Sha256: 12a91bc05210e9d1da67a1169f9496ffba2cb04cf422c11257bbb6ada398f68e

Contents?: true

Size: 853 Bytes

Versions: 8

Compression:

Stored size: 853 Bytes

Contents

require 'yaml'
require 'uri'

module Swivel2

  class Config < Struct.new :site, :timeout_read, :timeout_write, :extra_params
    def initialize options = {}
      options.each do |k, v| self[k] = v end
    end

    def extra_params
      super || {}
    end

    def save file = nil
      File.open file || Config.config_file, 'w' do |f|
        YAML.dump self, f
      end
    end

    def self.load file = nil
      YAML.load_file(file || config_file)
    end

    def self.default
      @@default ||= self.load default_config_file
    end

    private

      def self.config_file
        case PLATFORM
        when /win32/
          ENV['USERPROFILE'] + '\_swivelrc'
        else
          ENV['HOME'] + '/.swivelrc'
        end
      end

      def self.default_config_file
        File.dirname(__FILE__) + '/swivelrc.default'
      end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
swivel-0.0.149 lib/swivel2/config.rb
swivel-0.0.150 lib/swivel2/config.rb
swivel-0.0.155 lib/swivel2/config.rb
swivel-0.0.160 lib/swivel2/config.rb
swivel-0.0.156 lib/swivel2/config.rb
swivel-0.0.152 lib/swivel2/config.rb
swivel-0.0.157 lib/swivel2/config.rb
swivel-0.0.175 lib/swivel2/config.rb