Class: DaphneUtil::Tools::Store
- Inherits:
-
Object
- Object
- DaphneUtil::Tools::Store
- Defined in:
- lib/daphne_util/tools.rb
Instance Attribute Summary collapse
-
#env ⇒ Object
Returns the value of attribute env.
-
#loaded ⇒ Object
readonly
Returns the value of attribute loaded.
Class Method Summary collapse
Instance Method Summary collapse
- #add_app(name, *seed) ⇒ Object
- #add_env(name, x_url) ⇒ Object
- #app_keys ⇒ Object
- #apps ⇒ Object
-
#initialize ⇒ Store
constructor
A new instance of Store.
- #rm_app(name) ⇒ Object
- #rm_env(name) ⇒ Object
- #token ⇒ Object
- #token=(x_token) ⇒ Object
- #url ⇒ Object
- #url=(x_url) ⇒ Object
- #version ⇒ Object
- #version=(x_version) ⇒ Object
Constructor Details
#initialize ⇒ Store
Returns a new instance of Store.
21 22 23 24 |
# File 'lib/daphne_util/tools.rb', line 21 def initialize @loaded = PStore.new(self.class.file_location, true) save end |
Instance Attribute Details
#env ⇒ Object
Returns the value of attribute env.
11 12 13 |
# File 'lib/daphne_util/tools.rb', line 11 def env @env end |
#loaded ⇒ Object (readonly)
Returns the value of attribute loaded.
11 12 13 |
# File 'lib/daphne_util/tools.rb', line 11 def loaded @loaded end |
Class Method Details
.default_version ⇒ Object
17 18 19 |
# File 'lib/daphne_util/tools.rb', line 17 def self.default_version "1" end |
.file_location ⇒ Object
13 14 15 |
# File 'lib/daphne_util/tools.rb', line 13 def self.file_location "#{File.('~')}/.daphne" end |
Instance Method Details
#add_app(name, *seed) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 |
# 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) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# 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 ⇒ Object
133 134 135 |
# File 'lib/daphne_util/tools.rb', line 133 def app_keys apps.keys end |
#apps ⇒ Object
129 130 131 |
# File 'lib/daphne_util/tools.rb', line 129 def apps loaded.transaction { loaded[:envs][env][:apps]} end |
#rm_app(name) ⇒ Object
118 119 120 121 122 123 124 125 126 127 |
# 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) ⇒ Object
48 49 50 51 52 53 54 55 56 |
# 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 ⇒ Object
74 75 76 |
# File 'lib/daphne_util/tools.rb', line 74 def token loaded.transaction { loaded[:envs][env][:token] } end |
#token=(x_token) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 |
# 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 ⇒ Object
58 59 60 |
# File 'lib/daphne_util/tools.rb', line 58 def url loaded.transaction { loaded[:envs][env][:url] } end |
#url=(x_url) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# 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 ⇒ Object
90 91 92 |
# File 'lib/daphne_util/tools.rb', line 90 def version loaded.transaction { loaded[:envs][env][:version] } end |
#version=(x_version) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 |
# 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 |