Module: Velibe::KvStore

Includes:
Config
Defined in:
lib/velibe/db/kv_store.rb

Constant Summary collapse

KV_DB =
Moneta.new(:YAML, file: KV_PATH)
FAV_KEY =
'favorites'

Constants included from Config

Config::DATA_CSV, Config::DATA_CSV_FILE, Config::DB_NAME, Config::DB_PATH, Config::KV_NAME, Config::KV_PATH

Class Method Summary collapse

Class Method Details

.add_favorite_station(*stations) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/velibe/db/kv_store.rb', line 34

def self.add_favorite_station(*stations)
  fav = KV_DB[FAV_KEY]
  # TODO: handle setup
  # TODO: check existing station
  stations.collect(&:to_i).each do |station|
    fav.push(station) unless fav.include?(station)
    end
  KV_DB[FAV_KEY] = fav
end

.dbObject



14
15
16
# File 'lib/velibe/db/kv_store.rb', line 14

def self.db
  KV_DB
end

.fav_keyObject



18
19
20
# File 'lib/velibe/db/kv_store.rb', line 18

def self.fav_key
  FAV_KEY
end

.favorite_stationsObject



30
31
32
# File 'lib/velibe/db/kv_store.rb', line 30

def self.favorite_stations
  KV_DB[FAV_KEY]
end

.reset_favorite_stations(*new_stations) ⇒ Object



26
27
28
# File 'lib/velibe/db/kv_store.rb', line 26

def self.reset_favorite_stations(*new_stations)
  KV_DB[FAV_KEY] = new_stations.collect(&:to_i)
end

.tokenObject



22
23
24
# File 'lib/velibe/db/kv_store.rb', line 22

def self.token
  KV_DB['token']
end