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 => "111111"}
SETTINGS_FILE_PATH =
File.expand_path "~/.tweetskim/default-account"

Instance Method Summary collapse

Constructor Details

#initializeSettings

Returns a new instance of Settings.



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

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

Instance Method Details

#loadObject



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

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

#load_credentialsObject



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

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

#load_last_read_status_idObject



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

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

#save(settings) ⇒ Object



52
53
54
55
56
57
# File 'lib/tweetskim/core.rb', line 52

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



69
70
71
72
73
74
# File 'lib/tweetskim/core.rb', line 69

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

#save_last_read_status_id(id) ⇒ Object



86
87
88
89
90
# File 'lib/tweetskim/core.rb', line 86

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

#user_credentials_stored?Boolean

Returns:

  • (Boolean)


59
60
61
62
63
64
65
66
67
# File 'lib/tweetskim/core.rb', line 59

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