lib/socialcast.rb in socialcast-1.0.2 vs lib/socialcast.rb in socialcast-1.0.3

- old
+ new

@@ -1,23 +1,35 @@ require 'yaml' require 'fileutils' module Socialcast - 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 save_credentials(options) - File.open(credentials_file, "w") do |f| - f.write(options.to_yaml) + 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 - File.chmod 0600, credentials_file - end - def credentials - raise 'Unknown Socialcast credentials. Run `socialcast authenticate` to initialize' unless File.exist?(credentials_file) - YAML.load_file(credentials_file) + 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