pult 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5bfca2fba5db79bb8b9c88ea72819ae2e28524c95a245f8cfe5312496b32ca59
4
- data.tar.gz: c7be9aeac950d548b2ba917b36fb5ef16095f8c346ce018ae2ef524209caf874
3
+ metadata.gz: a4243347e1bc29779097305ec73d0e900f006106340e01e5ba39954aec950f25
4
+ data.tar.gz: 2fe2d798e897d4ff37900c26173c631decfe4df47ed334d23021ddce6a0ad2f2
5
5
  SHA512:
6
- metadata.gz: 45a20a0843ef79d94d5e066e95bbe45a1c69db1bdd1dee17db47d083eb0f7eb1fc3bbbdb236d3b99795b877be7915f9b73dbb6d6f99b9f7577b1c253e482c409
7
- data.tar.gz: 5bc0c40f1c4f51623d722332af50e5ce0d7e28f145c5529d0c55a9bc495b685eaced4a65e1e8f9e20af070e9942482f7d9eb707072331c197aa4e62055a6f397
6
+ metadata.gz: 552f6cbacc1c18cbad4ac7a9fcb27872e42935f2455cccf98ee3be31bf2c33c7b262dd2757075499d835c6e29b317d07b42f55bf748599aba7c2aae6265f9bc8
7
+ data.tar.gz: 2a92d5110a93eb6a628233bb1f18a6a8e22ee8c77cbdb0ee1da50e8b32b5ef5199f9647c963bed7134393b78eae7413b2d14de04217f2e151408c02f9e40607f
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.0.21] - 2019-07-10
8
+ ### Status
9
+ - Dev version
10
+
11
+ ### Updates
12
+ - Add `service` provider (for system services, api path is `s`)
13
+
7
14
  ## [0.0.20] - 2019-26-09
8
15
  ### Status
9
16
  - Dev version
@@ -8,5 +8,6 @@ module Pult
8
8
 
9
9
  MULTIACT = ENV['PULT_MULTIACT'] || 'join' # 'clone'
10
10
 
11
- RAKEPATH = ENV['PULT_RAKEPATH']
11
+ RAKEPATH = ENV['PULT_RAKEPATH']
12
+ SERVICEPATH = ENV['PULT_RAKEPATH']
12
13
  end
@@ -12,6 +12,7 @@ require_relative '../pult/executor/terminator'
12
12
  require_relative '../pult/panel/provider'
13
13
  require_relative '../pult/panel/provider/pult'
14
14
  require_relative '../pult/panel/provider/rake'
15
+ require_relative '../pult/panel/provider/service'
15
16
  require_relative '../pult/panel/dot_accessible'
16
17
  require_relative '../pult/panel/injector'
17
18
  require_relative '../pult/panel'
@@ -19,6 +19,7 @@ module Pult
19
19
  module Provider
20
20
  module Pult; end
21
21
  module Rake; end
22
+ module Service; end
22
23
  end
23
24
  module App
24
25
  module DotAccessible; end
@@ -24,6 +24,7 @@ class Pult::Panel
24
24
 
25
25
  Provider::Pult.mixin! self
26
26
  Provider::Rake.mixin! self
27
+ Provider::Service.mixin! self
27
28
 
28
29
  Injector.inject! self
29
30
 
@@ -18,9 +18,10 @@ module Pult::Panel::Provider::Rake
18
18
  def self.pult_hash file
19
19
  hash = {}
20
20
 
21
- maker = lambda do |task, command, count|
21
+ maker = lambda do |task, command|
22
22
  n = -1
23
23
  task.split(':').reduce(hash) do |h, t|
24
+ count = task.count(':')
24
25
  (n += 1) && n == count ? h[t] = "#{command} #{task}" : h[t] ||= {}
25
26
  end
26
27
  end
@@ -28,10 +29,7 @@ module Pult::Panel::Provider::Rake
28
29
  for command in COMMAND
29
30
  tasks = self.tasks command, file
30
31
 
31
- for task in tasks.sort.reverse
32
- count = task.count(':')
33
- maker.(task, command, count)
34
- end
32
+ tasks.sort.reverse.each{|task| maker.(task, command) }
35
33
 
36
34
  break if hash.any?
37
35
  end
@@ -0,0 +1,35 @@
1
+ module Pult::Panel::Provider::Service
2
+
3
+ PATH = Pult::SERVICEPATH || 's'
4
+
5
+ COMMAND = 'service'
6
+ ACTIONS = %w{start restart stop status}
7
+
8
+ def self.mixin! panel
9
+ hash = pult_hash panel
10
+
11
+ Pult::Panel::App.config_dir! hash, Dir.pwd
12
+
13
+ panel.merge! hash
14
+ end
15
+
16
+ def self.pult_hash panel
17
+ hash = {}
18
+
19
+ for service in services
20
+ hash[service] = {}
21
+
22
+ for action in ACTIONS
23
+ hash[service][action] = "#{COMMAND} #{service} #{action}"
24
+ end
25
+ end
26
+
27
+ { PATH => hash }
28
+ end
29
+
30
+ def self.services
31
+ runner = Pult::Executor.run! "#{COMMAND} --status-all", Dir.pwd
32
+
33
+ runner[:stdout].scan(/[a-z][a-z\.0-9-_]+/)
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Pult
2
- VERSION = "0.0.20"
2
+ VERSION = "0.0.21"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pult
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - dmitryck
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-26 00:00:00.000000000 Z
11
+ date: 2019-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -167,6 +167,7 @@ files:
167
167
  - lib/pult/panel/provider.rb
168
168
  - lib/pult/panel/provider/pult.rb
169
169
  - lib/pult/panel/provider/rake.rb
170
+ - lib/pult/panel/provider/service.rb
170
171
  - lib/pult/panel/runner/dot_accessible.rb
171
172
  - lib/pult/panel/runner/injector.rb
172
173
  - lib/pult/version.rb