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