edaemon 0.1 → 0.1.5

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: 68ec3821de78d554f5253e3691d4d2720336d8fb1a7431e07c0670995d2c7f20
4
- data.tar.gz: 6e3dd6798afe1b014cf7e3ff7d0a5a705c897f13a568b5f23184161e0bfd455b
3
+ metadata.gz: be699eb675cb3cd76fa0b374969f5bf7cd288dc01c8099f878ef513beb3a9179
4
+ data.tar.gz: 5325779877adc2dcb522d04e75aa9effee2fd0e318fd3b75e105d5fa2c134829
5
5
  SHA512:
6
- metadata.gz: 454a6e6088ad5131bd8a471bc742f44dc8ed7e277bf9fa15ae7db795a17f1ed76df3b23f33df90dbaf63c14b53c92a4ba9b7c112373d919d6e7afca9ecda57a6
7
- data.tar.gz: acea99ffdeae163a610ef89fdbed3c228c0842ef109f7be48f5739a1c09d8897592256bf200e7cffb5b9d1a95b63a9b20aeac6cce7908c85994a769ecaecf5f8
6
+ metadata.gz: 61c82c21372af33655bac86c66e1e556002c2db6e343e5fbe1d369161f28891ed1cde11b37bc9f442c9817ab2024df275fd313490ad53cde0fa9ce714b2ef89b
7
+ data.tar.gz: ddc3106a24872482bd53e63842e6e76d2b3f70ddb301f4bdec6eccd3cd6afb961618c593338d1d199b08188d2dd1f20331c26d0971bea3314157f11c55c97c1c
@@ -4,10 +4,14 @@ class Edaemon::Server
4
4
  PID_FILE_PATH = './edaemon.pid'
5
5
  LOG_FILE_PATH = './edaemon.log'
6
6
 
7
+ STARTED = :started
8
+ STOPPED = :stopped
9
+
7
10
  Error = Class.new(StandardError)
8
11
  ApplicationAllreadyRunnedError = Class.new(Error)
12
+ BlockNotSettedError = Class.new(Error)
9
13
 
10
- def initialize(block:)
14
+ def initialize(block: nil)
11
15
  @block = block
12
16
  end
13
17
 
@@ -15,16 +19,21 @@ class Edaemon::Server
15
19
  # TODO: Конфиг пид файла
16
20
  def start
17
21
  # TODO: simplecov raise почему не подсвечивается
18
- raise ApplicationAllreadyRunnedError if pid_runned?(pid: saved_pid)
22
+ raise ApplicationAllreadyRunnedError if status == STARTED
23
+ raise BlockNotSettedError unless block
19
24
 
20
25
  pid = fork_block!
21
26
  save_pid!(pid: pid)
22
27
  pid
23
28
  end
24
29
 
25
- private
30
+ def status
31
+ pid_runned?(pid: saved_pid) ? STARTED : STOPPED
32
+ end
26
33
 
27
- attr_reader :block
34
+ attr_accessor :block
35
+
36
+ private
28
37
 
29
38
  def saved_pid
30
39
  return unless File.exist?(PID_FILE_PATH)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Edaemon
4
- VERSION = '0.1'
4
+ VERSION = '0.1.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edaemon
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Bardokin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-18 00:00:00.000000000 Z
11
+ date: 2020-12-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: