Class: Pocketbeuter::ConfigFile
- Inherits:
-
Object
- Object
- Pocketbeuter::ConfigFile
- Includes:
- Singleton
- Defined in:
- lib/pocketbeuter/configfile.rb
Constant Summary collapse
- CONFIG_NAME =
'.pocketbeuterrc'
Instance Attribute Summary collapse
-
#path ⇒ Object
Returns the value of attribute path.
Instance Method Summary collapse
- #[](node) ⇒ Object
- #[]=(subsec, sec) ⇒ Object
- #access_token ⇒ Object
- #access_token=(token) ⇒ Object
- #account ⇒ Object
- #account=(value) ⇒ Object
- #account_name ⇒ Object
- #account_name=(name) ⇒ Object
- #code ⇒ Object
- #code=(token) ⇒ Object
- #consumer_key ⇒ Object
- #consumer_key=(key) ⇒ Object
- #default_config ⇒ Object
- #empty? ⇒ Boolean
-
#initialize ⇒ ConfigFile
constructor
A new instance of ConfigFile.
- #load_config ⇒ Object
- #redirect_uri ⇒ Object
- #redirect_uri=(uri) ⇒ Object
- #reset ⇒ Object
- #save_config ⇒ Object
- #username ⇒ Object
- #username=(name) ⇒ Object
Constructor Details
#initialize ⇒ ConfigFile
Returns a new instance of ConfigFile.
10 11 12 13 |
# File 'lib/pocketbeuter/configfile.rb', line 10 def initialize @path = File.join(File.('~'), CONFIG_NAME) @config = load_config end |
Instance Attribute Details
#path ⇒ Object
Returns the value of attribute path.
8 9 10 |
# File 'lib/pocketbeuter/configfile.rb', line 8 def path @path end |
Instance Method Details
#[](node) ⇒ Object
15 16 17 |
# File 'lib/pocketbeuter/configfile.rb', line 15 def [](node) @config[node] end |
#[]=(subsec, sec) ⇒ Object
19 20 21 22 23 |
# File 'lib/pocketbeuter/configfile.rb', line 19 def []=(subsec, sec) @config[subsec] ||= {} @config[subsec].merge!(sec) save_config end |
#access_token ⇒ Object
60 61 62 |
# File 'lib/pocketbeuter/configfile.rb', line 60 def access_token @config['account'][account_name]['access_token'] end |
#access_token=(token) ⇒ Object
64 65 66 67 |
# File 'lib/pocketbeuter/configfile.rb', line 64 def access_token=(token) @config['account'][account_name] ||= 'access_token' @config['account'][account_name]['access_token'] = token end |
#account ⇒ Object
25 26 27 |
# File 'lib/pocketbeuter/configfile.rb', line 25 def account @config['account'] end |
#account=(value) ⇒ Object
29 30 31 32 |
# File 'lib/pocketbeuter/configfile.rb', line 29 def account=(value) @config['account'] ||= value.keys[0] @config['account'][value.keys[0]] = value[value.keys[0]] end |
#account_name ⇒ Object
34 35 36 |
# File 'lib/pocketbeuter/configfile.rb', line 34 def account_name @config['account'].keys[0] end |
#account_name=(name) ⇒ Object
38 39 40 |
# File 'lib/pocketbeuter/configfile.rb', line 38 def account_name=(name) @config['account'][name] = {} end |
#code ⇒ Object
78 79 80 |
# File 'lib/pocketbeuter/configfile.rb', line 78 def code @config['account'][account_name]['code'] end |
#code=(token) ⇒ Object
82 83 84 85 |
# File 'lib/pocketbeuter/configfile.rb', line 82 def code=(token) @config['account'][account_name] ||= 'code' @config['account'][account_name]['code'] = token end |
#consumer_key ⇒ Object
42 43 44 |
# File 'lib/pocketbeuter/configfile.rb', line 42 def consumer_key @config['account'][account_name]['consumer_key'] end |
#consumer_key=(key) ⇒ Object
46 47 48 49 |
# File 'lib/pocketbeuter/configfile.rb', line 46 def consumer_key=(key) @config['account'][account_name] ||= 'consumer_key' @config['account'][account_name]['consumer_key'] = key end |
#default_config ⇒ Object
111 112 113 |
# File 'lib/pocketbeuter/configfile.rb', line 111 def default_config { 'options' => {}, 'account' => {}} end |
#empty? ⇒ Boolean
119 120 121 |
# File 'lib/pocketbeuter/configfile.rb', line 119 def empty? @config == default_config end |
#load_config ⇒ Object
93 94 95 96 97 98 99 100 101 102 |
# File 'lib/pocketbeuter/configfile.rb', line 93 def load_config require 'yaml' if YAML.load_file(@path) YAML.load_file(@path) else default_config end rescue Errno::ENOENT default_config end |
#redirect_uri ⇒ Object
51 52 53 |
# File 'lib/pocketbeuter/configfile.rb', line 51 def redirect_uri @config['account'][account_name]['redirect_uri'] end |
#redirect_uri=(uri) ⇒ Object
55 56 57 58 |
# File 'lib/pocketbeuter/configfile.rb', line 55 def redirect_uri=(uri) @config['account'][account_name] ||= 'redirect_uri' @config['account'][account_name]['redirect_uri'] = uri end |
#reset ⇒ Object
115 116 117 |
# File 'lib/pocketbeuter/configfile.rb', line 115 def reset send(:initialize) end |
#save_config ⇒ Object
104 105 106 107 108 109 |
# File 'lib/pocketbeuter/configfile.rb', line 104 def save_config require 'yaml' File.open(@path, File::RDWR | File::TRUNC | File::CREAT, 0600) do |f| f.write @config.to_yaml end end |
#username ⇒ Object
69 70 71 |
# File 'lib/pocketbeuter/configfile.rb', line 69 def username @config['account'][account_name]['username'] end |
#username=(name) ⇒ Object
73 74 75 76 |
# File 'lib/pocketbeuter/configfile.rb', line 73 def username=(name) @config['account'][account_name] ||= 'username' @config['account'][account_name]['username'] = name end |