dorsal 1.2 → 1.3

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
- SHA1:
3
- metadata.gz: 4e82d933806e0255c66968fe5f2fe7f701a02a0d
4
- data.tar.gz: a27db6a906a821a5e9533b114da2033333c24b9b
2
+ SHA256:
3
+ metadata.gz: 17aed30994068bc642a06e371081599f8793ba046fc98a5e8f72443114a79036
4
+ data.tar.gz: d93c0e8c4ae70b50e4d633d0328585d9c14b32048b49576830f577a9e1939a07
5
5
  SHA512:
6
- metadata.gz: daeb92cb458fcb8e3a8f9e81a5ebcf508b35b06927653c922bc9064f3811bfb0bcae597f33bb29eb96b8a2d8d97e5203a7aaef45e59bffa6dfd7b72f0ec37028
7
- data.tar.gz: 291620ac39e58b59f991599c4bc91c73a18b1997101626162b3094ffa31776078bc853d6d366d1a180b9d187bf84075a700890bff9ebcc50c3ce0df937c4a8f6
6
+ metadata.gz: f879ec0cfda000f3f743545e58138945245bb42515ff39999585ab4f06f19e1f0fcf59fd9e094a5fbb33497616b4e68ff38d0bb2bee0f0d5c28ce85a1e94c79b
7
+ data.tar.gz: b26178a503329071a11ecd56ac8cef3a6f4bf5961ad8148c58a1b5f3cce6a5ed4237ef0a11540a572f4c7321c9aa72553705f569f39f58f203434e64800476b6
data/Rakefile CHANGED
@@ -58,4 +58,10 @@ Rake::RDocTask.new('rdoc') do |d|
58
58
  d.options << '--line-numbers' << '--diagram' << '-SHN'
59
59
  end
60
60
 
61
- task :default => [:gem]
61
+ task :default => [:gem]
62
+
63
+ task :stage do
64
+ Rake::Task["clean"].invoke
65
+ Rake::Task["clobber"].invoke
66
+ Rake::Task["install"].invoke
67
+ end
@@ -11,23 +11,20 @@ Gem::Specification.new do |spec|
11
11
  spec.description = %q{Dorsal : Druby Objects's Ring Server as an simple Alternative to Linda}
12
12
  spec.summary = %q{Dorsal provide a simple and easy to use Ring Server for DRuby Objects based services architectures}
13
13
  spec.homepage = "http://www.ultragreen.net/projects/dorsal"
14
- spec.license = "BSD"
14
+ spec.license = "BSD-2-Clause"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
- spec.add_development_dependency('methodic', '>= 1.2')
20
+ spec.add_development_dependency('methodic', '>= 1.3')
21
21
  spec.add_development_dependency('rspec')
22
22
  spec.add_development_dependency('yard')
23
23
  spec.add_development_dependency('rdoc')
24
24
  spec.add_development_dependency('roodi')
25
+ spec.add_development_dependency('rake')
25
26
  spec.add_development_dependency('code_statistics')
26
27
  spec.add_development_dependency('yard-rspec')
27
- spec.add_development_dependency "bundler", "~> 1.3"
28
28
  spec.add_dependency "daemons"
29
29
 
30
- spec.required_ruby_version = '>= 1.8.1'
31
- spec.rubyforge_project = "nowarning"
32
- spec.has_rdoc = true
33
30
  end
@@ -10,20 +10,20 @@ require 'dorsal/privates'
10
10
 
11
11
  # the dorsal namespace
12
12
  module Dorsal
13
-
13
+
14
14
  # the Ring Server DRbObject Implementation
15
15
  # @note should NOT be instantiate
16
- # @note this classe is made to be instantiate as a ring server
16
+ # @note this classe is made to be instantiate as a ring server
17
17
  # @private
18
18
  class ImplementationServer
19
-
19
+
20
20
  include DRbUndumped
21
21
  include Dorsal::Privates
22
-
22
+
23
23
  # @attr_reader [Hash] data the internal Hash of the ring server
24
24
  # @note for debug only
25
25
  attr_reader :data
26
-
26
+
27
27
  # the contructor of the Ring Server
28
28
  # @param [Hash] _options the params of the constructor, keys must be symbols
29
29
  # @note :description (default) 'Dorsal::DEFAULT_RINGSERVER_DESCRIPTION'
@@ -32,10 +32,10 @@ module Dorsal
32
32
  # @note :port (default) 'Dorsal::DEFAULT_PORT'
33
33
  # @note :dir (default) 'Dorsal::DEFAULT_DIR'
34
34
  # @note :name (default) 'Dorsal::DEFAULT_RINGSERVER_NAME'
35
- # @note :uri rule 'druby://(:host):(:port)'
36
- # @note :pid_file rule '(:dir)/(:name).pid'
37
- # @option _options [String] :description the description of ring server
38
- # @option _options [TrueClass,FalseClass] :debug the deubg mode
35
+ # @note :uri rule 'druby://(:host):(:port)'
36
+ # @note :pid_file rule '(:dir)/(:name).pid'
37
+ # @option _options [String] :description the description of ring server
38
+ # @option _options [TrueClass,FalseClass] :debug the deubg mode
39
39
  # @option _options [String] :host the host for ring server and services
40
40
  # @option _options [String] :port the port for the ring server
41
41
  # @option _options [String] :dir the writable path for pids files
@@ -58,8 +58,8 @@ module Dorsal
58
58
  # @return [Fixnum,FalseClass] the pid of the process who host the DRb service, false if already started
59
59
  # @param [Hash] _options the params of the constructor, keys must be symbols
60
60
  # @option _options [String] :name the name of the service
61
- # @option _options [String] :description the long name of the service, use for $0
62
- # @option _options [Object] :object an object to be served by DRb
61
+ # @option _options [String] :description the long name of the service, use for $0
62
+ # @option _options [Object] :object an object to be served by DRb
63
63
  # @note access by Dorsal::Controller::new.bind_to_ring.start_service
64
64
  # @example usage
65
65
  # Dorsal::Controller::new.bind_to_ring.start_service :name => 'service', :description => 'a service', :object => MyService::new
@@ -79,10 +79,10 @@ module Dorsal
79
79
  end
80
80
  else
81
81
  return false
82
- end
82
+ end
83
83
  end
84
-
85
- # stop a service in the ring
84
+
85
+ # stop a service in the ring
86
86
  # @return [TrueClass,FalseClass] true if really stop, false if already down
87
87
  # @param [Hash] _options the params of the constructor, keys must be symbols
88
88
  # @option _options [String] :name the name of the service
@@ -97,7 +97,7 @@ module Dorsal
97
97
  options[:pid_file] = @data[options[:name]][:pid_file]
98
98
  options[:description] = @data[options[:name]][:description]
99
99
  if stop(options) then
100
- @data.delete(options[:name])
100
+ @data.delete(options[:name])
101
101
  return true
102
102
  end
103
103
  return false
@@ -146,6 +146,6 @@ module Dorsal
146
146
  end
147
147
  return false
148
148
  end
149
-
149
+
150
150
  end
151
151
  end
@@ -61,9 +61,9 @@ module Dorsal
61
61
  options.validate
62
62
  return yield if options[:debug]
63
63
  pid = fork do
64
- trap("SIGINT"){ exit! 0 }
65
- trap("SIGTERM"){ exit! 0 }
66
- trap("SIGHUP"){ exit! 0 }
64
+ trap("SIGINT"){ eit! 0 }
65
+ trap("SIGTERM"){ eit! 0 }
66
+ trap("SIGHUP"){ eit! 0 }
67
67
  Process.daemon
68
68
  $0 = options[:description]
69
69
  yield
@@ -143,7 +143,7 @@ module Dorsal
143
143
  options.specify_presences_of :description, :pid_file
144
144
  options.validate
145
145
  File::unlink(options[:pid_file]) if File::exist?(options[:pid_file])
146
- pid = `COLUMNS=160 ps aux|grep ruby|grep -v grep |grep '#{options[:description]}'|awk '{ print $2}'`
146
+ pid = `COLUMNS=160 ps aux|grep -v grep |grep '#{options[:description]}'|awk '{ print $2}'`
147
147
  if pid.empty? then
148
148
  return false
149
149
  else
@@ -10,5 +10,5 @@
10
10
  module Dorsal
11
11
 
12
12
  # global version of Dorsal
13
- VERSION = "1.2"
13
+ VERSION = "1.3"
14
14
  end
@@ -2,7 +2,7 @@
2
2
  # -*- coding: utf-8 -*-
3
3
  #---
4
4
  # Author : Romain GEORGES
5
- # type : Rspec
5
+ # type : Rspec
6
6
  # obj : Dorsal Spec
7
7
  #---
8
8
  require 'dorsal'
@@ -28,7 +28,7 @@ end
28
28
  describe "Dorsal" do
29
29
  before :all do
30
30
  File::unlink('/tmp/dorsal/ringserver.pid') if File::exist?('/tmp/dorsal/ringserver.pid')
31
- pid = `ps aux|grep ruby|grep -v grep |grep 'Dorsal Ring Server'|awk '{ print $2}'`
31
+ pid = `ps aux|grep -v grep |grep 'Dorsal Ring Server'|awk '{ print $2}'`
32
32
  unless pid.empty? then
33
33
  res = `kill -TERM #{pid.chomp}`
34
34
  end
@@ -39,7 +39,7 @@ describe "Dorsal" do
39
39
  it { should be_an_instance_of Module}
40
40
  context "Dorsal::Controller" do
41
41
  subject { $controller }
42
- it { should be_an_instance_of Dorsal::Controller }
42
+ it { should be_an_instance_of Dorsal::Controller }
43
43
  context "#initialize" do
44
44
 
45
45
  end
@@ -63,34 +63,35 @@ describe "Dorsal" do
63
63
  # lambda { subject.start_ring_server}.should raise_error Dorsal::RingServerError
64
64
  subject.start_ring_server.should be false
65
65
  end
66
- it "should exist an instance process of the Ring server" do
66
+ it "should exist an instance process of the Ring server" do
67
67
  pid = `ps aux|grep -v grep |grep 'Dorsal Ring Server'|awk '{ print $2}'`.chomp
68
68
  pid.should_not be_empty
69
69
  end
70
-
70
+
71
71
  end
72
-
72
+
73
73
  context "#bind_to_ring_server" do
74
74
  it { should respond_to :bind_to_ring }
75
- it "should be possible to bing distributed Ring Server" do
75
+ it "should be possible to bind distributed Ring Server" do
76
76
  $ring = subject.bind_to_ring
77
77
  end
78
78
  context "Ring server Instance" do
79
- it "should be an Instance of DRb::DRbObject" do
79
+ it "should be an Instance of DRb::DRbObject" do
80
80
  $ring.should be_an_instance_of DRb::DRbObject
81
81
  end
82
82
  it "should Ring server respond to start_service" do
83
- $ring.should respond_to :start_service
83
+ $ring.should respond_to :start_service
84
84
  end
85
- it "should start a service" do
85
+ it "should start a service" do
86
86
  $ring.start_service({ :name => 'dummy', :object => Dummy::new, :description => 'A dummy distributed service' }).should > 0
87
+
87
88
  end
88
- it "should exist an instance process of dummy service" do
89
- pid = `ps aux|grep ruby|grep -v grep |grep 'A dummy distributed service'|awk '{ print $2}'`.chomp
89
+ it "should exist an instance process of dummy service" do
90
+ pid = `ps aux|grep -v grep |grep 'A dummy distributed service'|awk '{ print $2}'`.chomp
90
91
  pid.should_not be_empty
91
92
  end
92
93
  it "should Ring server respond to list_services" do
93
- $ring.should respond_to :list_services
94
+ $ring.should respond_to :list_services
94
95
  end
95
96
  it "should list_services return a Hash" do
96
97
  $ring.list_services.should be_an_instance_of Hash
@@ -105,7 +106,7 @@ describe "Dorsal" do
105
106
  File::exist?('/tmp/dorsal/service-dummy.pid').should be true
106
107
  end
107
108
  it "should ring server respond to bind_to_service" do
108
- $ring.should respond_to :bind_to_service
109
+ $ring.should respond_to :bind_to_service
109
110
  end
110
111
  it "should bind the dummy service" do
111
112
  $dummy = $ring.bind_to_service :name => 'dummy'
@@ -113,20 +114,20 @@ describe "Dorsal" do
113
114
  $dummy.test.should eq 'OK'
114
115
  end
115
116
  it "should have a running daemon instance of the service dummy" do
116
- pid = `ps aux|grep ruby|grep -v grep |grep 'A dummy distributed service'|awk '{ print $2}'`.chomp
117
+ pid = `ps aux|grep -v grep |grep 'A dummy distributed service'|awk '{ print $2}'`.chomp
117
118
  pid.should_not be_empty
118
119
  end
119
120
 
120
121
  it "should ring server respond to destroy_service" do
121
- $ring.should respond_to :destroy_service
122
-
122
+ $ring.should respond_to :destroy_service
123
+
123
124
  end
124
-
125
+
125
126
  it "should be possible to stop the dummy_service" do
126
127
  res = $ring.destroy_service({ :name => 'dummy'})
127
128
  res.should be true
128
129
  $ring.list_services.should be_empty
129
-
130
+
130
131
  end
131
132
  it "should not exist pid_file : /tmp/dorsal/service-dummy.pid" do
132
133
  File::exist?('/tmp/dorsal/service-dummy.pid').should be false
@@ -145,18 +146,18 @@ describe "Dorsal" do
145
146
  subject.ring_server_status.should be true
146
147
  end
147
148
  end
148
-
149
+
149
150
  context "#stop_ring_server" do
150
- it "should re-start a service dummy for testing auto_destroy when stop Ring Server" do
151
+ it "should re-start a service dummy for testing auto_destroy when stop Ring Server" do
151
152
  $ring.start_service({ :name => 'dummy', :object => Dummy::new, :description => 'A dummy distributed service' }).should > 0
152
153
  end
153
154
  it { should respond_to :stop_ring_server }
154
155
  it { subject.stop_ring_server.should eq true }
155
- it "should no longer exist an instance process of the Ring server" do
156
+ it "should no longer exist an instance process of the Ring server" do
156
157
  pid = `ps aux|grep ruby|grep -v grep |grep 'Dorsal Ring Server'|awk '{ print $2}'`.chomp
157
158
  pid.should be_empty
158
159
  end
159
- it "should not exist an instance process of dummy service" do
160
+ it "should not exist an instance process of dummy service" do
160
161
  pid = `ps aux|grep ruby|grep -v grep |grep 'A dummy distributed service'|awk '{ print $2}'`.chomp
161
162
  pid.should be_empty
162
163
  end
@@ -5,10 +5,10 @@ ClassLineCountCheck:
5
5
  ClassNameCheck:
6
6
  pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/
7
7
  #ClassVariableCheck:
8
- CyclomaticComplexityBlockCheck:
9
- complexity: 5
10
- CyclomaticComplexityMethodCheck:
11
- complexity: 10
8
+ CyclomaticCompleityBlockCheck:
9
+ compleity: 5
10
+ CyclomaticCompleityMethodCheck:
11
+ compleity: 10
12
12
  EmptyRescueBodyCheck:
13
13
  ForLoopCheck:
14
14
  MethodLineCountCheck:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorsal
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.2'
4
+ version: '1.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Romain GEORGES
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-03 00:00:00.000000000 Z
11
+ date: 2020-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: methodic
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
19
+ version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.2'
26
+ version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: code_statistics
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: yard-rspec
98
+ name: code_statistics
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,19 +109,19 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: bundler
112
+ name: yard-rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '1.3'
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '1.3'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: daemons
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -161,7 +161,7 @@ files:
161
161
  - ultragreen_roodi_coding_convention.yml
162
162
  homepage: http://www.ultragreen.net/projects/dorsal
163
163
  licenses:
164
- - BSD
164
+ - BSD-2-Clause
165
165
  metadata: {}
166
166
  post_install_message:
167
167
  rdoc_options: []
@@ -171,15 +171,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - ">="
173
173
  - !ruby/object:Gem::Version
174
- version: 1.8.1
174
+ version: '0'
175
175
  required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - ">="
178
178
  - !ruby/object:Gem::Version
179
179
  version: '0'
180
180
  requirements: []
181
- rubyforge_project: nowarning
182
- rubygems_version: 2.4.7
181
+ rubygems_version: 3.1.2
183
182
  signing_key:
184
183
  specification_version: 4
185
184
  summary: Dorsal provide a simple and easy to use Ring Server for DRuby Objects based