class DaphneUtil::Tools::Store

Attributes

env[R]
loaded[R]

Public Class Methods

default_version() click to toggle source
# File lib/daphne_util/tools.rb, line 17
def self.default_version
  "1"
end
file_location() click to toggle source
# File lib/daphne_util/tools.rb, line 13
def self.file_location
  "#{File.expand_path('~')}/.daphne"
end
new() click to toggle source
# File lib/daphne_util/tools.rb, line 21
def initialize
  @loaded = PStore.new(self.class.file_location, true)
  save
end

Public Instance Methods

add_app(name, *seed) click to toggle source
# File lib/daphne_util/tools.rb, line 106
def add_app(name, *seed)
  new_app = {name.to_sym => seed}
  loaded.transaction do
    old_apps = loaded[:envs][env][:apps]
    new_apps = old_apps.merge(new_app)
    loaded[:envs][env][:apps] = new_apps
  end

  save
  loaded.transaction {loaded[:envs][env][:apps]} 
end
add_env(name, x_url) click to toggle source
# File lib/daphne_util/tools.rb, line 35
def add_env(name, x_url)
  new_env = {
      url: x_url,
      version: self.class.default_version,
      apps: {}
  }

  loaded.transaction { loaded[:envs][name.to_sym] = new_env }
  save
  self.env = name.to_sym
  loaded.transaction { loaded[:envs][name.to_sym] }
end
app_keys() click to toggle source
# File lib/daphne_util/tools.rb, line 133
def app_keys
  apps.keys
end
apps() click to toggle source
# File lib/daphne_util/tools.rb, line 129
def apps
  loaded.transaction { loaded[:envs][env][:apps]}
end
env=(x_env) click to toggle source
# File lib/daphne_util/tools.rb, line 26
def env=(x_env)
  x_env = x_env.to_sym
  loaded.transaction do
    loaded[:envs].has_key?(x_env) ? (loaded[:env] = x_env) : x_env = nil
  end

  save
end
rm_app(name) click to toggle source
# File lib/daphne_util/tools.rb, line 118
def rm_app(name)
  loaded.transaction do
    old_env = loaded[:envs][env]
    new_env = old_env[:apps].delete(name.to_sym)
  end

  save

  loaded.transaction { loaded[:envs][name.to_sym] }
end
rm_env(name) click to toggle source
# File lib/daphne_util/tools.rb, line 48
def rm_env(name)
  loaded.transaction do 

    loaded[:envs].delete(name.to_sym)
    loaded[:env] = nil if loaded[:envs][env].nil?
  end
  save
  loaded.transaction { loaded[:envs][env] }
end
token() click to toggle source
# File lib/daphne_util/tools.rb, line 74
def token
  loaded.transaction { loaded[:envs][env][:token] }
end
token=(x_token) click to toggle source
# File lib/daphne_util/tools.rb, line 78
def token=(x_token)
  loaded.transaction do
    old_env = loaded[:envs][env]
    new_env = old_env.merge(token: x_token)

    loaded[:envs][env] = new_env
  end

  save
  loaded.transaction {loaded[:envs][env][:token]}
end
url() click to toggle source
# File lib/daphne_util/tools.rb, line 58
def url
  loaded.transaction { loaded[:envs][env][:url] }
end
url=(x_url) click to toggle source
# File lib/daphne_util/tools.rb, line 62
def url=(x_url)
  loaded.transaction do
    old_env = loaded[:envs][env]
    new_env = old_env.merge(url: x_url)

    loaded[:envs][env] = new_env
  end

  save
  loaded.transaction { loaded[:envs][env][:url] } 
end
version() click to toggle source
# File lib/daphne_util/tools.rb, line 90
def version
  loaded.transaction { loaded[:envs][env][:version] }
end
version=(x_version) click to toggle source
# File lib/daphne_util/tools.rb, line 94
def version=(x_version)
  loaded.transaction do
    old_env = loaded[:envs][env]
    new_env = old_env.merge(version: (x_version.scan(/\d+/).first || self.class.default_version))

    loaded[:envs][env] = new_env
  end

  save
  loaded.transaction {loaded[:envs][env][:version]}
end

Private Instance Methods

save() click to toggle source
# File lib/daphne_util/tools.rb, line 139
def save
  loaded.transaction do
    loaded[:env] ||= :local
    loaded[:envs] ||= {}
    loaded[:envs][:local] ||= {url: "localhost:3001", version: "1", apps: {} }
    @env = loaded[:env]
    loaded.commit
  end
end