class Tw::Conf
Constants
- REQUIRE_VERSION
Public Class Methods
[](key)
click to toggle source
# File lib/tw/conf.rb, line 15 def self.[](key) ENV[key] || conf[key] end
[]=(key,value)
click to toggle source
# File lib/tw/conf.rb, line 19 def self.[]=(key,value) conf[key] = value end
conf()
click to toggle source
# File lib/tw/conf.rb, line 31 def self.conf @@conf ||= ( res = default if File.exist? self.conf_file begin data = nil self.open_conf_file do |f| data = YAML::load f.read end if data['version'] < REQUIRE_VERSION puts "This is tw version #{Tw::VERSION}." puts "Your config file is old ("+data['version']+"). Reset tw settings?" puts "[Y/n]" res = data if STDIN.gets =~ /^n/i else res = data end rescue => e STDERR.puts e File.delete self.conf_file end end res ) end
conf_file()
click to toggle source
# File lib/tw/conf.rb, line 23 def self.conf_file @@conf_file ||= "#{ENV['HOME']}/.tw.yml" end
conf_file=(fpath)
click to toggle source
# File lib/tw/conf.rb, line 27 def self.conf_file=(fpath) @@conf_file = fpath end
default()
click to toggle source
# File lib/tw/conf.rb, line 5 def self.default { 'version' => Tw::VERSION, 'consumer_key' => 'AYhhkOC8H2yTZyelz3uw', 'consumer_secret' => '28Ba8YyFDSPgoCYAmH5ANqOmT6qVS8gIhKnUiDbIpU', 'default_user' => nil, 'users' => {} } end
save()
click to toggle source
# File lib/tw/conf.rb, line 61 def self.save open_conf_file('w+') do |f| f.write conf.to_yaml end end
to_yaml()
click to toggle source
# File lib/tw/conf.rb, line 57 def self.to_yaml self.conf.to_yaml end
update_twitter_config(force_update=false)
click to toggle source
# File lib/tw/conf.rb, line 67 def self.update_twitter_config(force_update=false) if self['twitter_config'].kind_of? Hash and self['twitter_config']['last_updated_at']+60*60*24 > Time.now.to_i and !force_update return end self['twitter_config'] = {} self['twitter_config']['short_url_length'] = Tw::Client.client.configuration.short_url_length self['twitter_config']['short_url_length_https'] = Tw::Client.client.configuration.short_url_length_https self['twitter_config']['last_updated_at'] = Time.now.to_i self.save end
Private Class Methods
open_conf_file(opt=nil) { |open(conf_file, opt)| ... }
click to toggle source
# File lib/tw/conf.rb, line 81 def self.open_conf_file(opt=nil, &block) if block_given? yield open(self.conf_file, opt) else return open(self.conf_file, opt) end File.chmod 0600, self.conf_file if File.exist? self.conf_file end