Module: SSHKit::Custom::Config::Store
- Defined in:
- lib/sshkit/custom/config/store.rb
Class Method Summary collapse
- ._envs ⇒ Object
- ._user_groups ⇒ Object
- .active_backend ⇒ Object
- .add_env(env) ⇒ Object
- .add_pwd(directory) ⇒ Object
- .add_user_group(user, group) ⇒ Object
- .backends ⇒ Object
- .backends=(hosts) ⇒ Object
- .config_scope ⇒ Object
- .create_runner(opts) ⇒ Object
- .pop_env ⇒ Object
- .pop_pwd ⇒ Object
- .pop_user_group ⇒ Object
- .runner ⇒ Object
- .scope_storage ⇒ Object
Class Method Details
._envs ⇒ Object
40 41 42 |
# File 'lib/sshkit/custom/config/store.rb', line 40 def _envs config_scope[:_envs] ||= [] end |
._user_groups ⇒ Object
56 57 58 |
# File 'lib/sshkit/custom/config/store.rb', line 56 def _user_groups config_scope[:_user_groups] ||= [] end |
.active_backend ⇒ Object
72 73 74 |
# File 'lib/sshkit/custom/config/store.rb', line 72 def active_backend SSHKit::Custom::Config::Runner::Abstract.active_backend end |
.add_env(env) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/sshkit/custom/config/store.rb', line 44 def add_env(env) old_env = backends.first.env.clone _envs << old_env env = old_env.merge(env) active_backend.env = env end |
.add_pwd(directory) ⇒ Object
32 33 34 |
# File 'lib/sshkit/custom/config/store.rb', line 32 def add_pwd(directory) active_backend.pwd ||= []; active_backend.pwd << directory end |
.add_user_group(user, group) ⇒ Object
60 61 62 63 64 |
# File 'lib/sshkit/custom/config/store.rb', line 60 def add_user_group(user, group) _user_groups << {user: active_backend.user, group: active_backend.group } active_backend.user = user active_backend.group = group end |
.backends ⇒ Object
28 29 30 |
# File 'lib/sshkit/custom/config/store.rb', line 28 def backends @backends ||= [] end |
.backends=(hosts) ⇒ Object
24 25 26 |
# File 'lib/sshkit/custom/config/store.rb', line 24 def backends=(hosts) @backends = hosts.map { |host| SSHKit.config.backend.new(host) } end |
.config_scope ⇒ Object
12 13 14 |
# File 'lib/sshkit/custom/config/store.rb', line 12 def config_scope @config_scope ||= ScopedStorage::Scope.new('sshkit_dsl_config', scope_storage) end |
.create_runner(opts) ⇒ Object
16 17 18 |
# File 'lib/sshkit/custom/config/store.rb', line 16 def create_runner(opts) @runner ||= Runner::Abstract.create_runner opts end |
.pop_env ⇒ Object
51 52 53 54 |
# File 'lib/sshkit/custom/config/store.rb', line 51 def pop_env old_env = _envs.pop || {} backends.each {|backend| backend.env = old_env} end |
.pop_pwd ⇒ Object
36 37 38 |
# File 'lib/sshkit/custom/config/store.rb', line 36 def pop_pwd active_backend.pwd ||= []; active_backend.pwd.pop end |
.pop_user_group ⇒ Object
66 67 68 69 70 |
# File 'lib/sshkit/custom/config/store.rb', line 66 def pop_user_group old_user_group = _user_groups.pop || {} active_backend.user = old_user_group[:user] active_backend.group = old_user_group[:group] end |
.runner ⇒ Object
20 21 22 |
# File 'lib/sshkit/custom/config/store.rb', line 20 def runner @runner.tap{|r| r.backends = backends} end |
.scope_storage ⇒ Object
8 9 10 |
# File 'lib/sshkit/custom/config/store.rb', line 8 def scope_storage ScopedStorage::ThreadLocalStorage end |