Class: Tweetskim::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/tweetskim/core.rb

Constant Summary collapse

SETTINGS_TEMPLATE =
{:token => nil,
:secret => nil,
:last_read_status_id => "0"}
SETTINGS_FILE_PATH =
File.expand_path "~/.tweetskim/default-account"

Instance Method Summary collapse

Constructor Details

#initializeSettings

Returns a new instance of Settings.



39
40
41
42
43
# File 'lib/tweetskim/core.rb', line 39

def initialize
  if !Dir[" ~/.tweetskim/"].empty?
    `mkdir ~/.tweetskim/`
  end
end

Instance Method Details

#loadObject



45
46
47
48
# File 'lib/tweetskim/core.rb', line 45

def load
  yml_str = `cat #{SETTINGS_FILE_PATH}`
  YAML::load(yml_str) || SETTINGS_TEMPLATE
end

#load_credentialsObject



72
73
74
75
# File 'lib/tweetskim/core.rb', line 72

def load_credentials
  settings = load
  return settings[:token], settings[:secret]
end

#load_last_read_status_idObject



77
78
79
80
# File 'lib/tweetskim/core.rb', line 77

def load_last_read_status_id
  settings = load
  return settings[:last_read_status_id]
end

#save(settings) ⇒ Object



50
51
52
53
# File 'lib/tweetskim/core.rb', line 50

def save(settings)
  yml_str = YAML::dump(settings)
  `echo "#{yml_str}" > #{SETTINGS_FILE_PATH}`
end

#save_credentials(token, secret) ⇒ Object



65
66
67
68
69
70
# File 'lib/tweetskim/core.rb', line 65

def save_credentials(token, secret)
  settings = load
  settings[:token] = token
  settings[:secret] = secret
  save settings
end

#save_last_read_status_id(id) ⇒ Object



82
83
84
85
86
# File 'lib/tweetskim/core.rb', line 82

def save_last_read_status_id(id)
  settings = load
  settings[:last_read_status_id] = id
  save settings
end

#user_credentials_stored?Boolean

Returns:

  • (Boolean)


55
56
57
58
59
60
61
62
63
# File 'lib/tweetskim/core.rb', line 55

def user_credentials_stored?
  if File.exists? SETTINGS_FILE_PATH
    settings = load
    return (settings[:token] && !settings[:token].empty? &&
            settings[:secret] && !settings[:secret].empty?)
  else
    false
  end
end