Sha256: a1dab10fc3395f22d26c5104903a9a14f44b8a8f67b9e7f8d98648899e6ae5d7

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

require 'yaml'
require 'fileutils'
require File.join(File.dirname(__FILE__), 'ext', 'array_ext') unless Array.respond_to?(:wrap)

module Socialcast
  class << self
    def config_dir
      config_dir = File.expand_path '~/.socialcast'
      FileUtils.mkdir config_dir, :mode => 0700 unless File.exist?(config_dir)
      config_dir
    end
    def credentials_file
      File.join config_dir, 'credentials.yml'
    end
    def credentials
      fail 'Unknown Socialcast credentials.  Run `socialcast authenticate` to initialize' unless File.exist?(credentials_file)
      @@credentials ||= YAML.load_file(credentials_file)
    end
    def credentials=(options)
      File.open(credentials_file, "w") do |f|
        f.write(options.to_yaml)
      end
      File.chmod 0600, credentials_file
    end
    def basic_auth_options
      {:user => credentials[:user], :password => credentials[:password]}
    end
    # configure restclient for api call
    def resource_for_path(path, options = {}, debug = true)
      RestClient.log = Logger.new(STDOUT) if debug
      RestClient.proxy = credentials[:proxy] if credentials[:proxy]
      url = ['https://', credentials[:domain], path].join
      RestClient::Resource.new url, options.merge(basic_auth_options)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
socialcast-1.0.8 lib/socialcast.rb
socialcast-1.0.7 lib/socialcast.rb