Class: Pingfm::Keyloader
- Inherits:
-
Object
- Object
- Pingfm::Keyloader
- Defined in:
- lib/pingfm/keyloader.rb
Overview
manages the YAML file containing the keys - encryption might be nice, might be overkill
Constant Summary collapse
- KEY_PATH =
(RUBY_PLATFORM =~ /mswin32/ ? ENV['HOMEPATH'] : ENV['HOME'])
- KEY_FILE =
'.pingfm_keys.yml'
Instance Attribute Summary collapse
-
#api_key ⇒ Object
ping.fm uses this as the key for the registered application.
-
#app_key ⇒ Object
ping.fm uses this as the key for the user.
-
#keyfile ⇒ Object
Path to YAML file containing keys.
Instance Method Summary collapse
-
#has_keys? ⇒ Boolean
if keys have been loaded successfully.
-
#initialize(keyfile = File.expand_path(File.join(KEY_PATH, KEY_FILE))) ⇒ Keyloader
constructor
A new instance of Keyloader.
-
#load_keys(keyfile) ⇒ Object
load a new set of keys.
-
#load_keys! ⇒ Object
load keys using the known keyfile.
-
#save ⇒ Object
save key data to keyfile.
Constructor Details
#initialize(keyfile = File.expand_path(File.join(KEY_PATH, KEY_FILE))) ⇒ Keyloader
Returns a new instance of Keyloader.
22 23 24 25 26 27 28 |
# File 'lib/pingfm/keyloader.rb', line 22 def initialize(keyfile = File.(File.join(KEY_PATH, KEY_FILE))) @api_key = nil @keyfile = keyfile # load keys on init load_keys! end |
Instance Attribute Details
#api_key ⇒ Object
ping.fm uses this as the key for the registered application
14 15 16 |
# File 'lib/pingfm/keyloader.rb', line 14 def api_key @api_key end |
#app_key ⇒ Object
ping.fm uses this as the key for the user
17 18 19 |
# File 'lib/pingfm/keyloader.rb', line 17 def app_key @app_key end |
#keyfile ⇒ Object
Path to YAML file containing keys
11 12 13 |
# File 'lib/pingfm/keyloader.rb', line 11 def keyfile @keyfile end |
Instance Method Details
#has_keys? ⇒ Boolean
if keys have been loaded successfully
46 47 48 49 |
# File 'lib/pingfm/keyloader.rb', line 46 def has_keys? return true unless @api_key.nil? or @app_key.nil? return false end |
#load_keys(keyfile) ⇒ Object
load a new set of keys
31 32 33 34 35 36 37 38 |
# File 'lib/pingfm/keyloader.rb', line 31 def load_keys(keyfile) if File.exist?(keyfile) and File.readable?(keyfile) data = YAML::load_file(keyfile) @keyfile = keyfile if @keyfile.nil? @api_key = data['api_key'] @app_key = data['app_key'] end end |
#load_keys! ⇒ Object
load keys using the known keyfile
41 42 43 |
# File 'lib/pingfm/keyloader.rb', line 41 def load_keys! load_keys(@keyfile) end |
#save ⇒ Object
save key data to keyfile
52 53 54 55 56 |
# File 'lib/pingfm/keyloader.rb', line 52 def save File.open( @keyfile, 'w+' ) do |out| YAML::dump( {'api_key' => @api_key, 'app_key' => @app_key}, out ) end end |