vedeu 0.8.27 → 0.8.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Dockerfile +4 -4
- data/integrations/dsl_app_geometry_001.rb +1 -1
- data/integrations/dsl_app_geometry_002.rb +1 -1
- data/integrations/dsl_app_geometry_003.rb +1 -1
- data/integrations/dsl_app_geometry_004.rb +1 -1
- data/lib/vedeu/events/trigger.rb +6 -2
- data/lib/vedeu/logging/log.rb +66 -13
- data/lib/vedeu/plugins/plugins.rb +1 -1
- data/lib/vedeu/presentation/parent.rb +2 -0
- data/lib/vedeu/repositories/cache.rb +6 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/logging/log_test.rb +100 -0
- data/vedeu.gemspec +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bd49dbbe4583758d2452063e9161fec5c9bc4d79
|
|
4
|
+
data.tar.gz: f4eeeda050db0fc5e52a03dae4bbcc2176073d23
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cd89d6b6433e244b82c6333b25b308791c99668cb34af1bb26f559b36e41db0b0ac1409048fa4a1f97914f7f46b05d60171a610cf109e9a963003ea15db91a96
|
|
7
|
+
data.tar.gz: 33269aa82e2aaf0759c7eb75795e5dd2ed1185fc14c61d14b4aea61eafe52f3b0a92507c0f41ac1bc465967b5ca67cce880e5e068328e346ac11f719b8bfb5ea
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.3.
|
|
1
|
+
2.3.1
|
data/Dockerfile
CHANGED
|
@@ -43,19 +43,19 @@ RUN tar -xzvf chruby-0.3.9.tar.gz && cd chruby-0.3.9/ && make install
|
|
|
43
43
|
RUN wget -O ruby-install-0.5.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.5.0.tar.gz
|
|
44
44
|
RUN tar -xzvf ruby-install-0.5.0.tar.gz && cd ruby-install-0.5.0/ && make install
|
|
45
45
|
|
|
46
|
-
# Install Ruby 2.
|
|
47
|
-
RUN ruby-install ruby 2.
|
|
46
|
+
# Install Ruby 2.3.1
|
|
47
|
+
RUN ruby-install ruby 2.3.1
|
|
48
48
|
RUN chown -R vedeu:vedeu /opt/rubies
|
|
49
49
|
|
|
50
50
|
# Setup Chruby
|
|
51
51
|
RUN echo '[ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ] || return' >> /etc/profile.d/chruby.sh
|
|
52
52
|
RUN echo 'source /usr/local/share/chruby/chruby.sh' >> /etc/profile.d/chruby.sh
|
|
53
53
|
RUN echo 'source /usr/local/share/chruby/auto.sh' >> $HOME/.bashrc
|
|
54
|
-
RUN echo 'chruby ruby-2.
|
|
54
|
+
RUN echo 'chruby ruby-2.3.1' >> $HOME/.bash_profile
|
|
55
55
|
RUN echo "---\n:benchmark: false\n:bulk_threshold: 1000\n:backtrace: false\n:verbose: true\ngem: --no-ri --no-rdoc" >> $HOME/.gemrc
|
|
56
56
|
|
|
57
57
|
# Setup PATH
|
|
58
|
-
ENV PATH /opt/rubies/ruby-2.
|
|
58
|
+
ENV PATH /opt/rubies/ruby-2.3.1/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/vedeu/gem/bin
|
|
59
59
|
|
|
60
60
|
RUN gem install bundler
|
|
61
61
|
|
data/lib/vedeu/events/trigger.rb
CHANGED
|
@@ -86,9 +86,13 @@ module Vedeu
|
|
|
86
86
|
# @return [Array<void>|void]
|
|
87
87
|
def results
|
|
88
88
|
@results ||= registered_events.map do |event|
|
|
89
|
-
Vedeu.
|
|
89
|
+
Vedeu.outdent do
|
|
90
|
+
Vedeu.log(type: :event, message: message)
|
|
90
91
|
|
|
91
|
-
|
|
92
|
+
Vedeu.indent do
|
|
93
|
+
event.trigger(*args)
|
|
94
|
+
end
|
|
95
|
+
end
|
|
92
96
|
end
|
|
93
97
|
end
|
|
94
98
|
|
data/lib/vedeu/logging/log.rb
CHANGED
|
@@ -16,6 +16,27 @@ module Vedeu
|
|
|
16
16
|
|
|
17
17
|
class << self
|
|
18
18
|
|
|
19
|
+
# @api private
|
|
20
|
+
# @!attribute [rw] count
|
|
21
|
+
# @return [Fixnum] Used by tests to access the `count`
|
|
22
|
+
# instance variable.
|
|
23
|
+
attr_accessor :count
|
|
24
|
+
|
|
25
|
+
# Used by {Vedeu::Events::Trigger} to indent log messages to
|
|
26
|
+
# show activity which occurs as part of that event triggering.
|
|
27
|
+
#
|
|
28
|
+
# @api private
|
|
29
|
+
# @macro param_block
|
|
30
|
+
# @return [NilClass|void]
|
|
31
|
+
def indent(&block)
|
|
32
|
+
@count ||= 0
|
|
33
|
+
@count += 1
|
|
34
|
+
|
|
35
|
+
yield if block_given?
|
|
36
|
+
ensure
|
|
37
|
+
outdent
|
|
38
|
+
end
|
|
39
|
+
|
|
19
40
|
# Write a message to the Vedeu log file.
|
|
20
41
|
#
|
|
21
42
|
# @example
|
|
@@ -57,6 +78,25 @@ module Vedeu
|
|
|
57
78
|
$stderr.puts log_entry(type, message)
|
|
58
79
|
end
|
|
59
80
|
|
|
81
|
+
# Used by {Vedeu::Events::Trigger} to outdent log messages to
|
|
82
|
+
# show activity which occurs as part of the previous event
|
|
83
|
+
# triggering.
|
|
84
|
+
#
|
|
85
|
+
# @api private
|
|
86
|
+
# @macro param_block
|
|
87
|
+
# @return [void]
|
|
88
|
+
def outdent(&block)
|
|
89
|
+
result = yield if block_given?
|
|
90
|
+
|
|
91
|
+
if @count && @count > 0
|
|
92
|
+
@count -= 1
|
|
93
|
+
else
|
|
94
|
+
@count = 0
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
result
|
|
98
|
+
end
|
|
99
|
+
|
|
60
100
|
# {include:file:docs/dsl/by_method/log_timestamp.md}
|
|
61
101
|
# @return [String]
|
|
62
102
|
def timestamp
|
|
@@ -75,13 +115,10 @@ module Vedeu
|
|
|
75
115
|
|
|
76
116
|
private
|
|
77
117
|
|
|
78
|
-
# @
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
formatted_message(message)
|
|
83
|
-
end
|
|
84
|
-
end
|
|
118
|
+
# @param type [Symbol] The type of log message.
|
|
119
|
+
# @return [Array<Symbol>]
|
|
120
|
+
def colours(type)
|
|
121
|
+
Vedeu::LOG_TYPES.fetch(type, [:default, :default])
|
|
85
122
|
end
|
|
86
123
|
|
|
87
124
|
# {include:file:docs/dsl/by_method/log_timestamp.md}
|
|
@@ -91,6 +128,11 @@ module Vedeu
|
|
|
91
128
|
"#{timestamp}#{message}\n" if message
|
|
92
129
|
end
|
|
93
130
|
|
|
131
|
+
# @return [String]
|
|
132
|
+
def indentation
|
|
133
|
+
' ' * (@count ||= 0) * 2
|
|
134
|
+
end
|
|
135
|
+
|
|
94
136
|
# Returns the message:
|
|
95
137
|
#
|
|
96
138
|
# [type] message
|
|
@@ -112,13 +154,16 @@ module Vedeu
|
|
|
112
154
|
# @macro vedeu_logging_log_param_message
|
|
113
155
|
# @return [String]
|
|
114
156
|
def log_message(type, message)
|
|
115
|
-
Vedeu.esc.colour(colours(type)[1]) { message }
|
|
157
|
+
Vedeu.esc.colour(colours(type)[1]) { indentation + message }
|
|
116
158
|
end
|
|
117
159
|
|
|
118
|
-
# @
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
160
|
+
# @return [Boolean]
|
|
161
|
+
def logger
|
|
162
|
+
MonoLogger.new(Vedeu.config.log).tap do |log|
|
|
163
|
+
log.formatter = proc do |_, _, _, message|
|
|
164
|
+
formatted_message(message)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
122
167
|
end
|
|
123
168
|
|
|
124
169
|
end # Eigenclass
|
|
@@ -127,6 +172,9 @@ module Vedeu
|
|
|
127
172
|
|
|
128
173
|
end # Logging
|
|
129
174
|
|
|
175
|
+
# @api public
|
|
176
|
+
# @!method indent
|
|
177
|
+
# @see Vedeu::Logging::Log.indent
|
|
130
178
|
# @api public
|
|
131
179
|
# @!method log
|
|
132
180
|
# @see Vedeu::Logging::Log.log
|
|
@@ -139,10 +187,15 @@ module Vedeu
|
|
|
139
187
|
# @api public
|
|
140
188
|
# @!method log_timestamp
|
|
141
189
|
# @see Vedeu::Logging::Log.log_timestamp
|
|
190
|
+
# @api public
|
|
191
|
+
# @!method outdent
|
|
192
|
+
# @see Vedeu::Logging::Log.outdent
|
|
142
193
|
def_delegators Vedeu::Logging::Log,
|
|
194
|
+
:indent,
|
|
143
195
|
:log,
|
|
144
196
|
:log_stdout,
|
|
145
197
|
:log_stderr,
|
|
146
|
-
:log_timestamp
|
|
198
|
+
:log_timestamp,
|
|
199
|
+
:outdent
|
|
147
200
|
|
|
148
201
|
end # Vedeu
|
data/lib/vedeu/version.rb
CHANGED
|
@@ -16,6 +16,55 @@ module Vedeu
|
|
|
16
16
|
let(:_message) { 'Some message...' }
|
|
17
17
|
let(:type) { :info }
|
|
18
18
|
|
|
19
|
+
describe '.count' do
|
|
20
|
+
it { described.must_respond_to(:count) }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '.count=' do
|
|
24
|
+
it { described.must_respond_to(:count=) }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe '.indent' do
|
|
28
|
+
context 'when the block is given' do
|
|
29
|
+
subject { described.indent { :block_given } }
|
|
30
|
+
|
|
31
|
+
it { subject.must_equal(:block_given) }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context 'when the block is not given' do
|
|
35
|
+
subject { described.indent }
|
|
36
|
+
|
|
37
|
+
it { subject.must_equal(nil) }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
context 'when the indentation count > 0' do
|
|
41
|
+
before { described.count = 2 }
|
|
42
|
+
after { described.count = nil }
|
|
43
|
+
|
|
44
|
+
subject { described.indent { :block_given } }
|
|
45
|
+
|
|
46
|
+
it { subject; described.count.must_equal(2) }
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context 'when the indentation count is 0' do
|
|
50
|
+
before { described.count = 0 }
|
|
51
|
+
after { described.count = nil }
|
|
52
|
+
|
|
53
|
+
subject { described.indent { :block_given } }
|
|
54
|
+
|
|
55
|
+
it { subject; described.count.must_equal(0) }
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
context 'when the indentation count < 0' do
|
|
59
|
+
before { described.count = -2 }
|
|
60
|
+
after { described.count = nil }
|
|
61
|
+
|
|
62
|
+
subject { described.indent { :block_given } }
|
|
63
|
+
|
|
64
|
+
it { subject; described.count.must_equal(0) }
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
19
68
|
describe '.log' do
|
|
20
69
|
before { Vedeu.config.stubs(:log?).returns(enabled) }
|
|
21
70
|
|
|
@@ -63,6 +112,57 @@ module Vedeu
|
|
|
63
112
|
end
|
|
64
113
|
end
|
|
65
114
|
|
|
115
|
+
describe '.log_timestamp' do
|
|
116
|
+
it { described.must_respond_to(:log_timestamp) }
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
describe '.outdent' do
|
|
120
|
+
context 'when the block is given' do
|
|
121
|
+
subject { described.outdent { :block_given } }
|
|
122
|
+
|
|
123
|
+
it { subject.must_equal(:block_given) }
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
context 'when the block is not given' do
|
|
127
|
+
subject { described.outdent }
|
|
128
|
+
|
|
129
|
+
it { subject.must_equal(nil) }
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
context 'when the indentation count > 0' do
|
|
133
|
+
before { described.count = 2 }
|
|
134
|
+
after { described.count = nil }
|
|
135
|
+
|
|
136
|
+
subject { described.outdent { :block_given } }
|
|
137
|
+
|
|
138
|
+
it { subject; described.count.must_equal(1) }
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
context 'when the indentation count is 0' do
|
|
142
|
+
before { described.count = 0 }
|
|
143
|
+
after { described.count = nil }
|
|
144
|
+
|
|
145
|
+
subject { described.outdent { :block_given } }
|
|
146
|
+
|
|
147
|
+
it { subject; described.count.must_equal(0) }
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
context 'when the indentation count < 0' do
|
|
151
|
+
before { described.count = -2 }
|
|
152
|
+
after { described.count = nil }
|
|
153
|
+
|
|
154
|
+
subject { described.outdent { :block_given } }
|
|
155
|
+
|
|
156
|
+
it { subject; described.count.must_equal(0) }
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
describe '.timestamp' do
|
|
161
|
+
subject { described.timestamp }
|
|
162
|
+
|
|
163
|
+
# @todo Add more tests.
|
|
164
|
+
end
|
|
165
|
+
|
|
66
166
|
end # Log
|
|
67
167
|
|
|
68
168
|
end # Logging
|
data/vedeu.gemspec
CHANGED
|
@@ -25,14 +25,14 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
spec.add_development_dependency 'guard-minitest', '2.4.4'
|
|
26
26
|
spec.add_development_dependency 'guard-rubocop', '1.2.0'
|
|
27
27
|
spec.add_development_dependency 'minitest', '5.8.4'
|
|
28
|
-
spec.add_development_dependency 'minitest-reporters', '1.1.
|
|
28
|
+
spec.add_development_dependency 'minitest-reporters', '1.1.9'
|
|
29
29
|
spec.add_development_dependency 'mocha', '1.1.0'
|
|
30
30
|
spec.add_development_dependency 'rubocop', '0.39.0'
|
|
31
31
|
spec.add_development_dependency 'simplecov', '0.11.2'
|
|
32
32
|
spec.add_development_dependency 'simplecov-console', '0.3.0'
|
|
33
33
|
spec.add_development_dependency 'yard', '0.8.7.6'
|
|
34
34
|
|
|
35
|
-
spec.add_dependency 'bundler', '~> 1.
|
|
35
|
+
spec.add_dependency 'bundler', '~> 1.12'
|
|
36
36
|
spec.add_dependency 'rake', '~> 10.5'
|
|
37
37
|
spec.add_dependency 'thor', '0.19.1'
|
|
38
38
|
spec.add_dependency 'vedeu_cli', '0.0.10'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vedeu
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.28
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gavin Laking
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: guard
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 1.1.
|
|
75
|
+
version: 1.1.9
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 1.1.
|
|
82
|
+
version: 1.1.9
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: mocha
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +156,14 @@ dependencies:
|
|
|
156
156
|
requirements:
|
|
157
157
|
- - "~>"
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '1.
|
|
159
|
+
version: '1.12'
|
|
160
160
|
type: :runtime
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '1.
|
|
166
|
+
version: '1.12'
|
|
167
167
|
- !ruby/object:Gem::Dependency
|
|
168
168
|
name: rake
|
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|