Class: Tweetskim::Settings

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

Constant Summary collapse

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

Instance Method Summary collapse

Constructor Details

#initializeSettings

Returns a new instance of Settings.



14
15
16
17
# File 'lib/tweetskim/settings.rb', line 14

def initialize
  FileUtils.mkdir_p(File.expand_path("~/.tweetskim"))
  FileUtils.touch SETTINGS_FILE_PATH
end

Instance Method Details

#loadObject



21
22
23
24
25
# File 'lib/tweetskim/settings.rb', line 21

def load
  File.open SETTINGS_FILE_PATH, "r" do |filebody|
    YAML::load(filebody) || SETTINGS_TEMPLATE
  end
end

#load_credentialsObject



51
52
53
54
# File 'lib/tweetskim/settings.rb', line 51

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

#load_last_read_status_idObject



56
57
58
59
# File 'lib/tweetskim/settings.rb', line 56

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

#save(settings) ⇒ Object



27
28
29
30
31
32
# File 'lib/tweetskim/settings.rb', line 27

def save(settings)
  yml_str = YAML::dump(settings)
  File.open SETTINGS_FILE_PATH, "w" do |filebody|
    filebody.write yml_str
  end
end

#save_credentials(token, secret) ⇒ Object



44
45
46
47
48
49
# File 'lib/tweetskim/settings.rb', line 44

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

#save_last_read_status_id(id) ⇒ Object



61
62
63
64
65
# File 'lib/tweetskim/settings.rb', line 61

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

#user_credentials_stored?Boolean

Returns:

  • (Boolean)


34
35
36
37
38
39
40
41
42
# File 'lib/tweetskim/settings.rb', line 34

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