dizby 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +8 -2
- data/.travis.yml +24 -0
- data/.yardopts +3 -2
- data/Gemfile +20 -1
- data/LICENSE.md +357 -0
- data/Rakefile +6 -28
- data/dizby.gemspec +6 -10
- data/gemfiles/Gemfile.ci +12 -0
- data/gemfiles/Gemfile.doc +12 -0
- data/lib/dizby/access/control_list.rb +4 -0
- data/lib/dizby/access/entry.rb +4 -0
- data/lib/dizby/access/insecure.rb +5 -1
- data/lib/dizby/access/list.rb +4 -0
- data/lib/dizby/converter/simple.rb +4 -0
- data/lib/dizby/converter/timed.rb +4 -0
- data/lib/dizby/distributed/array.rb +17 -9
- data/lib/dizby/distributed/object.rb +4 -0
- data/lib/dizby/distributed/proxy.rb +10 -9
- data/lib/dizby/distributed/semi_proxy.rb +4 -0
- data/lib/dizby/distributed/undumpable.rb +4 -0
- data/lib/dizby/distributed/unknown.rb +11 -8
- data/lib/dizby/error.rb +4 -0
- data/lib/dizby/protocol/basic.rb +4 -0
- data/lib/dizby/protocol/manager.rb +4 -0
- data/lib/dizby/protocol/refined.rb +5 -1
- data/lib/dizby/protocols/dead.rb +4 -0
- data/lib/dizby/protocols/secure.rb +4 -0
- data/lib/dizby/protocols/tcp.rb +4 -0
- data/lib/dizby/protocols/unix.rb +4 -0
- data/lib/dizby/server/abstract.rb +5 -1
- data/lib/dizby/server/basic.rb +4 -0
- data/lib/dizby/server/registration.rb +4 -0
- data/lib/dizby/service.rb +5 -1
- data/lib/dizby/stream/client.rb +5 -1
- data/lib/dizby/stream/connection.rb +5 -1
- data/lib/dizby/stream/messenger.rb +4 -0
- data/lib/dizby/stream/query_ref.rb +4 -0
- data/lib/dizby/stream/readable.rb +4 -0
- data/lib/dizby/stream/writable.rb +4 -0
- data/lib/dizby/tunnel/abstract.rb +9 -4
- data/lib/dizby/tunnel/basic.rb +4 -0
- data/lib/dizby/tunnel/basic_spawn.rb +11 -6
- data/lib/dizby/tunnel/bidirectional_strategy.rb +4 -0
- data/lib/dizby/tunnel/factory.rb +4 -0
- data/lib/dizby/tunnel/local_strategy.rb +4 -0
- data/lib/dizby/tunnel/spawn_command.rb +7 -2
- data/lib/dizby/tunnel/spawned.rb +4 -0
- data/lib/dizby/tunnel/tunnelable_local.rb +4 -0
- data/lib/dizby/tunnel/tunnelable_remote.rb +4 -0
- data/lib/dizby/utility/classic_access.rb +4 -0
- data/lib/dizby/utility/configurable.rb +4 -0
- data/lib/dizby/utility/delegator.rb +4 -0
- data/lib/dizby/utility/force_bind.rb +6 -0
- data/lib/dizby/utility/io_barrier.rb +4 -0
- data/lib/dizby/utility/log.rb +17 -10
- data/lib/dizby/utility/monitor.rb +4 -0
- data/lib/dizby/utility/polymorphic_delegated.rb +4 -0
- data/lib/dizby/utility/self_pipe.rb +12 -7
- data/lib/dizby/utility/semi_built.rb +4 -0
- data/lib/dizby/utility/string.rb +4 -0
- data/lib/dizby/utility/timed_collection.rb +4 -0
- data/lib/dizby/utility/timed_state.rb +4 -0
- data/lib/dizby/version.rb +5 -1
- data/lib/dizby/worker/connection.rb +4 -0
- data/lib/dizby/worker/invoke_method.rb +4 -0
- data/lib/dizby/worker/server.rb +4 -0
- data/lib/dizby.rb +4 -0
- data/tasks/ghpages.rake +30 -0
- data/tasks/rubocop.rake +14 -0
- data/tasks/test.rake +25 -0
- data/tasks/yard.rake +13 -0
- data/test/test_helper.rb +4 -0
- metadata +12 -104
- data/.yardext/config_access_handler.rb +0 -84
- data/LICENSE +0 -24
data/lib/dizby/utility/log.rb
CHANGED
@@ -1,25 +1,32 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'logger'
|
5
9
|
|
6
10
|
module Dizby
|
7
|
-
|
8
|
-
|
11
|
+
class Logger < ::Logger
|
12
|
+
def initialize(output: $stderr, level: Logger::ERROR, &transformer)
|
13
|
+
super(output)
|
9
14
|
|
10
|
-
|
11
|
-
|
12
|
-
msg = transformer.call(msg) if transformer
|
13
|
-
default_formatter.call(severity, datetime, progname, msg)
|
15
|
+
self.formatter = self.class.transform_formatter(&transformer)
|
16
|
+
self.level = level
|
14
17
|
end
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
log.define_singleton_method(:backtrace) do |exception|
|
19
|
+
def backtrace(exception)
|
19
20
|
error(exception.inspect)
|
20
21
|
exception.backtrace.each { |trace| error(trace) }
|
21
22
|
end
|
22
23
|
|
23
|
-
|
24
|
+
def self.transform_formatter(&transformer)
|
25
|
+
default_formatter = Logger::Formatter.new
|
26
|
+
proc do |severity, datetime, progname, msg|
|
27
|
+
msg = transformer.call(msg) if transformer
|
28
|
+
default_formatter.call(severity, datetime, progname, msg)
|
29
|
+
end
|
30
|
+
end
|
24
31
|
end
|
25
32
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'monitor'
|
5
9
|
|
6
10
|
module Dizby
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/utility/classic_access'
|
5
9
|
require 'dizby/utility/delegator'
|
6
10
|
require 'dizby/utility/force_bind'
|
@@ -1,14 +1,19 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
module Dizby
|
5
|
-
SelfPipe =
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
+
SelfPipe =
|
10
|
+
Struct.new(:read, :write) do
|
11
|
+
def close_read
|
12
|
+
read.close if read && !read.closed?
|
13
|
+
end
|
9
14
|
|
10
|
-
|
11
|
-
|
15
|
+
def close_write
|
16
|
+
write.close if write && !write.closed?
|
17
|
+
end
|
12
18
|
end
|
13
|
-
end
|
14
19
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
module Dizby
|
5
9
|
class SemibuiltObject
|
6
10
|
def initialize(klass, *args)
|
data/lib/dizby/utility/string.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
module Dizby
|
5
9
|
def self.any_to_s(obj)
|
6
10
|
"#{obj}:#{obj.class}"
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/utility/monitor'
|
5
9
|
require 'dizby/utility/timed_state'
|
6
10
|
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
module Dizby
|
5
9
|
class TimedState
|
6
10
|
def initialize(timeout)
|
data/lib/dizby/version.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
module Dizby
|
5
|
-
VERSION = '1.
|
9
|
+
VERSION = '1.5.0'.freeze
|
6
10
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/worker/invoke_method'
|
5
9
|
|
6
10
|
module Dizby
|
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/distributed/array'
|
5
9
|
|
6
10
|
module Dizby
|
data/lib/dizby/worker/server.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/worker/connection'
|
5
9
|
|
6
10
|
module Dizby
|
data/lib/dizby.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'dizby/version'
|
5
9
|
|
6
10
|
require 'dizby/service'
|
data/tasks/ghpages.rake
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright (c) 2016 Nathan Currier
|
3
|
+
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
8
|
+
if ENV['TRAVIS'] && ENV['DOCS']
|
9
|
+
namespace :yard do
|
10
|
+
if ENV['TRAVIS_PULL_REQUEST'] == 'false'
|
11
|
+
require 'ghpages_deploy/rake_task'
|
12
|
+
|
13
|
+
desc 'Deploy documentation to Github Pages'
|
14
|
+
GithubPages::DeployTask.new(deploy: [:yard]) do |t|
|
15
|
+
t.remote = 'origin'
|
16
|
+
t.source = '_yardoc'
|
17
|
+
|
18
|
+
branch = ENV['TRAVIS_BRANCH']
|
19
|
+
t.register "doc/branch/#{branch}" unless branch.empty?
|
20
|
+
|
21
|
+
tag = ENV['TRAVIS_TAG']
|
22
|
+
t.register "doc/tag/#{tag}" unless tag.empty?
|
23
|
+
end
|
24
|
+
else
|
25
|
+
task :deploy do
|
26
|
+
puts 'Documentation not generated for pull requests.'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/tasks/rubocop.rake
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright (c) 2016 Nathan Currier
|
3
|
+
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
8
|
+
require 'rubocop/rake_task'
|
9
|
+
|
10
|
+
RuboCop::RakeTask.new(:rubocop) do |t|
|
11
|
+
t.fail_on_error = false
|
12
|
+
end
|
13
|
+
|
14
|
+
task('rubocop:auto_correct').clear
|
data/tasks/test.rake
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright (c) 2016 Nathan Currier
|
3
|
+
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
8
|
+
require 'rake/testtask'
|
9
|
+
|
10
|
+
Rake::TestTask.new(:test) do |t|
|
11
|
+
t.libs << 'test'
|
12
|
+
t.test_files = ['test/test_helper.rb']
|
13
|
+
t.pattern = 'test/**/*_test.rb'
|
14
|
+
t.verbose = true
|
15
|
+
end
|
16
|
+
|
17
|
+
namespace :test do
|
18
|
+
desc 'Generate a test coverage report'
|
19
|
+
task :coverage do
|
20
|
+
ENV['COVERAGE'] = 'true'
|
21
|
+
task(:test).invoke
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
CLOBBER.include 'coverage'
|
data/tasks/yard.rake
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright (c) 2016 Nathan Currier
|
3
|
+
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
8
|
+
require 'yard_dizby/rake_overload'
|
9
|
+
|
10
|
+
YARD::Rake::YardocTask.new(:yard)
|
11
|
+
|
12
|
+
CLEAN.include '.yardoc'
|
13
|
+
CLOBBER.include '_yardoc'
|
data/test/test_helper.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
# Copyright (c) 2016 Nathan Currier
|
3
3
|
|
4
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
5
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
6
|
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
7
|
+
|
4
8
|
require 'minitest/autorun'
|
5
9
|
|
6
10
|
if ENV['COVERAGE']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dizby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Currier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
type: :runtime
|
@@ -38,104 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.11.2
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
type: :development
|
43
|
-
name: rubocop
|
44
|
-
prerelease: false
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '0'
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
type: :development
|
57
|
-
name: yard
|
58
|
-
prerelease: false
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: '0'
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
type: :development
|
71
|
-
name: kramdown
|
72
|
-
prerelease: false
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - ">="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
type: :development
|
85
|
-
name: rake
|
86
|
-
prerelease: false
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '0'
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
type: :development
|
99
|
-
name: minitest
|
100
|
-
prerelease: false
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: '0'
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
type: :development
|
113
|
-
name: simplecov
|
114
|
-
prerelease: false
|
115
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
-
requirements:
|
117
|
-
- - ">="
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
version: '0'
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
type: :development
|
127
|
-
name: codecov
|
128
|
-
prerelease: false
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
41
|
description: Distributed Ruby
|
140
42
|
email:
|
141
43
|
- nathan.currier@gmail.com
|
@@ -145,12 +47,14 @@ extra_rdoc_files: []
|
|
145
47
|
files:
|
146
48
|
- ".gitignore"
|
147
49
|
- ".rubocop.yml"
|
148
|
-
- ".
|
50
|
+
- ".travis.yml"
|
149
51
|
- ".yardopts"
|
150
52
|
- Gemfile
|
151
|
-
- LICENSE
|
53
|
+
- LICENSE.md
|
152
54
|
- Rakefile
|
153
55
|
- dizby.gemspec
|
56
|
+
- gemfiles/Gemfile.ci
|
57
|
+
- gemfiles/Gemfile.doc
|
154
58
|
- lib/dizby.rb
|
155
59
|
- lib/dizby/access/control_list.rb
|
156
60
|
- lib/dizby/access/entry.rb
|
@@ -209,10 +113,14 @@ files:
|
|
209
113
|
- lib/dizby/worker/connection.rb
|
210
114
|
- lib/dizby/worker/invoke_method.rb
|
211
115
|
- lib/dizby/worker/server.rb
|
116
|
+
- tasks/ghpages.rake
|
117
|
+
- tasks/rubocop.rake
|
118
|
+
- tasks/test.rake
|
119
|
+
- tasks/yard.rake
|
212
120
|
- test/test_helper.rb
|
213
|
-
homepage: https://
|
121
|
+
homepage: https://github.com/rideliner/dizby
|
214
122
|
licenses:
|
215
|
-
-
|
123
|
+
- MPL-2.0
|
216
124
|
metadata: {}
|
217
125
|
post_install_message:
|
218
126
|
rdoc_options: []
|
@@ -1,84 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# Copyright (c) 2016 Nathan Currier
|
3
|
-
|
4
|
-
class ConfigAccessHandler < YARD::Handlers::Ruby::AttributeHandler
|
5
|
-
handles method_call(:config_reader)
|
6
|
-
handles method_call(:config_writer)
|
7
|
-
handles method_call(:config_accessor)
|
8
|
-
namespace_only
|
9
|
-
|
10
|
-
def access_permissions
|
11
|
-
case statement.method_name(true)
|
12
|
-
when :config_reader
|
13
|
-
[true, true]
|
14
|
-
when :config_writer
|
15
|
-
[false, true]
|
16
|
-
when :config_accessor
|
17
|
-
[true, true]
|
18
|
-
else
|
19
|
-
[false, false]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def process_impl(method, permission)
|
24
|
-
if permission
|
25
|
-
obj = MethodObject.new(namespace, method, scope)
|
26
|
-
yield obj
|
27
|
-
|
28
|
-
register(obj)
|
29
|
-
obj
|
30
|
-
else
|
31
|
-
namespace.children.find do |o|
|
32
|
-
o.name == method.to_sym && o.scope == scope
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def store_obj(type, name, obj)
|
38
|
-
namespace.attributes[scope][name][type] = obj if obj
|
39
|
-
end
|
40
|
-
|
41
|
-
def process_reader(attribute, permission)
|
42
|
-
final = process_impl(attribute, permission) do |obj|
|
43
|
-
obj.signature ||= "def #{attribute}"
|
44
|
-
obj.source = "#{obj.signature}\n @config[:#{attribute}]\nend"
|
45
|
-
if obj.docstring.blank?(false)
|
46
|
-
obj.docstring =
|
47
|
-
"Returns the value of configuration attribute #{attribute}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
store_obj :read, attribute, final
|
52
|
-
end
|
53
|
-
|
54
|
-
def process_writer(attribute, permission)
|
55
|
-
final = process_impl("#{attribute}=", permission) do |obj|
|
56
|
-
obj.parameters = [['value', nil]]
|
57
|
-
obj.signature ||= "def #{attribute}=(value)"
|
58
|
-
obj.source ||= "#{obj.signature}\n @config[:#{attribute}] = value\nend"
|
59
|
-
obj.docstring = <<-eos if obj.docstring.blank?(false)
|
60
|
-
Sets the configuration attribute #{attribute}
|
61
|
-
@param value the value to set the attribute #{attribute} to.
|
62
|
-
eos
|
63
|
-
end
|
64
|
-
|
65
|
-
store_obj :write, attribute, final
|
66
|
-
end
|
67
|
-
|
68
|
-
def process_access(name, read, write)
|
69
|
-
read, write = access_permissions
|
70
|
-
namespace.attributes[scope][name] ||= SymbolHash[read: nil, write: nil]
|
71
|
-
|
72
|
-
process_reader(name, read)
|
73
|
-
process_writer(name, write)
|
74
|
-
end
|
75
|
-
|
76
|
-
def process
|
77
|
-
return if statement.type == :var_ref || statement.type == :vcall
|
78
|
-
params = statement.parameters(false).dup
|
79
|
-
|
80
|
-
validated_attribute_names(params).each do |name|
|
81
|
-
process_access(name, read, write)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
data/LICENSE
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
Copyright (c) 2013-2016, Nathan Currier
|
2
|
-
All rights reserved.
|
3
|
-
|
4
|
-
Redistribution and use in source and binary forms, with or without
|
5
|
-
modification, are permitted provided that the following conditions are met:
|
6
|
-
* Redistributions of source code must retain the above copyright
|
7
|
-
notice, this list of conditions and the following disclaimer.
|
8
|
-
* Redistributions in binary form must reproduce the above copyright
|
9
|
-
notice, this list of conditions and the following disclaimer in the
|
10
|
-
documentation and/or other materials provided with the distribution.
|
11
|
-
* Neither the name of the <organization> nor the
|
12
|
-
names of its contributors may be used to endorse or promote products
|
13
|
-
derived from this software without specific prior written permission.
|
14
|
-
|
15
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
16
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
17
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
18
|
-
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
19
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
20
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
21
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
22
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
24
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|