liquid-ext 2.0.3 → 3.0.0
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 +7 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +17 -25
- data/bin/liquid +2 -2
- data/lib/liquid/benchmark.rb +1 -1
- data/lib/liquid/boot.rb +53 -41
- data/lib/liquid/cli.rb +1 -6
- data/lib/liquid/configuration.rb +105 -122
- data/lib/liquid/{generator.rb → console.rb} +8 -1
- data/lib/liquid/ext/string.rb +8 -0
- data/lib/liquid/ext/thread.rb +6 -0
- data/lib/liquid/guava-16.0.1.jar +0 -0
- data/lib/liquid/health_checks.rb +4 -10
- data/lib/liquid/jeromq-0.3.3.jar +0 -0
- data/lib/liquid/kafka_2.10-0.8.0.jar +0 -0
- data/lib/liquid/log4j-1.2.17.jar +0 -0
- data/lib/liquid/logger.rb +122 -0
- data/lib/liquid/metrics/logger_reporter.rb +3 -6
- data/lib/liquid/metrics/reporter.rb +25 -13
- data/lib/liquid/metrics/tracker_reporter.rb +33 -0
- data/lib/liquid/metrics-annotation-2.2.0.jar +0 -0
- data/lib/liquid/metrics-core-2.2.0.jar +0 -0
- data/lib/liquid/metrics-core-3.0.1.jar +0 -0
- data/lib/liquid/metrics-healthchecks-3.0.1.jar +0 -0
- data/lib/liquid/metrics.rb +20 -21
- data/lib/liquid/router.rb +0 -1
- data/lib/liquid/scala-library-2.10.3.jar +0 -0
- data/lib/liquid/slf4j-api-1.7.6.jar +0 -0
- data/lib/liquid/slf4j-log4j12-1.7.6.jar +0 -0
- data/lib/liquid/snappy-java-1.1.1-M1.jar +0 -0
- data/lib/liquid/templates/config.yml.tt +0 -1
- data/lib/liquid/timing.rb +2 -10
- data/lib/liquid/tracker/base.rb +26 -0
- data/lib/liquid/tracker/blackhole_tracker.rb +15 -0
- data/lib/liquid/tracker/file_tracker.rb +21 -0
- data/lib/liquid/tracker/json_serializer.rb +13 -0
- data/lib/liquid/tracker/kafka_tracker.rb +41 -0
- data/lib/liquid/tracker/logger_tracker.rb +17 -0
- data/lib/liquid/tracker.rb +14 -0
- data/lib/liquid/transaction_id.rb +2 -2
- data/lib/liquid/trove-3.0.3.jar +0 -0
- data/lib/liquid/zmq.rb +89 -0
- data/liquid-ext.gemspec +1 -2
- data/spec/lib/liquid/router_spec.rb +6 -8
- data/spec/lib/liquid/weighted_selector_spec.rb +3 -1
- metadata +29 -34
- data/Jarfile +0 -2
- data/Jarfile.lock +0 -14
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5b4739125c0f045cc43cf1d3dc7658d0d06f0b64
|
4
|
+
data.tar.gz: e3bd9b7031b166c16c799c7064149bb2c2cc4499
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 02a4e55a0fc87c47b2e2f994c2d6ae8fe056847b5bc60968e3d0751d1cc852770bd93fd36f9d13eb6f6f870d33c10d21bca067441ea3e4ee1a568c67f434a4db
|
7
|
+
data.tar.gz: f732a993fc2509cbe4e89c73021d49170ec8776bd9a348a8d4fce366918c471a6577d52b3ce49e91bcabdcc0cda6175a410a5d0dd9a7e8f10e2e043e012b5990
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
liquid-ext (
|
4
|
+
liquid-ext (3.0.0)
|
5
5
|
activesupport
|
6
6
|
erubis
|
7
|
-
liquid-logging (>= 2.0.0)
|
8
7
|
mixlib-cli
|
9
8
|
terminal-table
|
10
9
|
|
11
10
|
GEM
|
12
11
|
remote: http://rubygems.org/
|
13
12
|
specs:
|
14
|
-
activesupport (4.0.
|
13
|
+
activesupport (4.0.3)
|
15
14
|
i18n (~> 0.6, >= 0.6.4)
|
16
15
|
minitest (~> 4.2)
|
17
16
|
multi_json (~> 1.3)
|
@@ -19,7 +18,7 @@ GEM
|
|
19
18
|
tzinfo (~> 0.3.37)
|
20
19
|
atomic (1.1.14-java)
|
21
20
|
awesome_print (1.2.0)
|
22
|
-
bond (0.
|
21
|
+
bond (0.5.1-java)
|
23
22
|
brice (0.2.9)
|
24
23
|
ruby-nuggets (>= 0.5.2)
|
25
24
|
cane (2.6.1)
|
@@ -27,21 +26,25 @@ GEM
|
|
27
26
|
coderay (1.1.0)
|
28
27
|
columnize (0.3.6)
|
29
28
|
diff-lcs (1.2.5)
|
30
|
-
docile (1.1.
|
29
|
+
docile (1.1.3)
|
31
30
|
erubis (2.7.0)
|
32
31
|
ffi (1.9.3-java)
|
33
32
|
fuubar (1.3.2)
|
34
33
|
rspec (>= 2.14.0, < 3.1.0)
|
35
34
|
ruby-progressbar (~> 1.3)
|
35
|
+
hirb (0.7.1)
|
36
36
|
i18n (0.6.9)
|
37
|
-
liquid-development (0.
|
37
|
+
liquid-development (0.2.0)
|
38
38
|
awesome_print
|
39
|
+
bond
|
39
40
|
brice
|
40
41
|
cane
|
41
42
|
fuubar
|
43
|
+
hirb
|
42
44
|
pry
|
43
45
|
rake
|
44
46
|
reek
|
47
|
+
rib
|
45
48
|
ripl
|
46
49
|
rspec
|
47
50
|
ruby-debug
|
@@ -49,20 +52,12 @@ GEM
|
|
49
52
|
tailor
|
50
53
|
timecop
|
51
54
|
yard
|
52
|
-
liquid-logging (2.0.1-java)
|
53
|
-
log4jruby (~> 1.0.0.rc1)
|
54
|
-
slyphon-log4j (~> 1.2.15)
|
55
|
-
lock_jar (0.7.5)
|
56
|
-
naether (~> 0.10.1)
|
57
|
-
thor (~> 0.18.1)
|
58
|
-
log4jruby (1.0.0.rc1-java)
|
59
55
|
log_switch (0.4.0)
|
60
56
|
method_source (0.8.2)
|
61
57
|
mini_portile (0.5.2)
|
62
58
|
minitest (4.7.5)
|
63
59
|
mixlib-cli (1.4.0)
|
64
60
|
multi_json (1.8.4)
|
65
|
-
naether (0.10.1-java)
|
66
61
|
nokogiri (1.6.1-java)
|
67
62
|
mini_portile (~> 0.5.0)
|
68
63
|
parallel (0.9.2)
|
@@ -76,16 +71,16 @@ GEM
|
|
76
71
|
ruby2ruby (~> 2.0.7)
|
77
72
|
ruby_parser (~> 3.2)
|
78
73
|
sexp_processor
|
79
|
-
|
80
|
-
|
74
|
+
rib (1.2.3)
|
75
|
+
ripl (0.1.0)
|
81
76
|
rspec (2.14.1)
|
82
77
|
rspec-core (~> 2.14.0)
|
83
78
|
rspec-expectations (~> 2.14.0)
|
84
79
|
rspec-mocks (~> 2.14.0)
|
85
80
|
rspec-core (2.14.7)
|
86
|
-
rspec-expectations (2.14.
|
81
|
+
rspec-expectations (2.14.5)
|
87
82
|
diff-lcs (>= 1.1.3, < 2.0)
|
88
|
-
rspec-mocks (2.14.
|
83
|
+
rspec-mocks (2.14.6)
|
89
84
|
ruby-debug (0.10.4)
|
90
85
|
columnize (>= 0.1)
|
91
86
|
ruby-debug-base (~> 0.10.4.0)
|
@@ -95,7 +90,7 @@ GEM
|
|
95
90
|
ruby2ruby (2.0.7)
|
96
91
|
ruby_parser (~> 3.1)
|
97
92
|
sexp_processor (~> 4.0)
|
98
|
-
ruby_parser (3.
|
93
|
+
ruby_parser (3.4.1)
|
99
94
|
sexp_processor (~> 4.1)
|
100
95
|
sexp_processor (4.4.1)
|
101
96
|
simplecov (0.8.2)
|
@@ -104,7 +99,6 @@ GEM
|
|
104
99
|
simplecov-html (~> 0.8.0)
|
105
100
|
simplecov-html (0.8.0)
|
106
101
|
slop (3.4.7)
|
107
|
-
slyphon-log4j (1.2.15)
|
108
102
|
spoon (0.0.4)
|
109
103
|
ffi
|
110
104
|
tailor (1.4.0)
|
@@ -112,15 +106,14 @@ GEM
|
|
112
106
|
nokogiri (>= 1.6.0)
|
113
107
|
term-ansicolor (>= 1.0.5)
|
114
108
|
text-table (>= 1.2.2)
|
115
|
-
term-ansicolor (1.
|
116
|
-
tins (~> 0
|
109
|
+
term-ansicolor (1.3.0)
|
110
|
+
tins (~> 1.0)
|
117
111
|
terminal-table (1.4.5)
|
118
112
|
text-table (1.2.3)
|
119
|
-
thor (0.18.1)
|
120
113
|
thread_safe (0.1.3-java)
|
121
114
|
atomic
|
122
115
|
timecop (0.7.1)
|
123
|
-
tins (0.
|
116
|
+
tins (1.0.0)
|
124
117
|
tzinfo (0.3.38)
|
125
118
|
yard (0.8.7.3)
|
126
119
|
|
@@ -130,4 +123,3 @@ PLATFORMS
|
|
130
123
|
DEPENDENCIES
|
131
124
|
liquid-development
|
132
125
|
liquid-ext!
|
133
|
-
lock_jar
|
data/bin/liquid
CHANGED
@@ -5,9 +5,9 @@ ROOT = File.expand_path('../..', __FILE__)
|
|
5
5
|
require 'bundler/setup'
|
6
6
|
require 'liquid/boot'
|
7
7
|
|
8
|
-
require 'liquid/
|
8
|
+
require 'liquid/console'
|
9
9
|
|
10
|
-
CLI.for(Liquid::
|
10
|
+
CLI.for(Liquid::Console) do
|
11
11
|
option :author,
|
12
12
|
:short => '-a',
|
13
13
|
:long => '--author',
|
data/lib/liquid/benchmark.rb
CHANGED
data/lib/liquid/boot.rb
CHANGED
@@ -20,6 +20,11 @@ if RUBY_PLATFORM == 'java'
|
|
20
20
|
# do nothing
|
21
21
|
end
|
22
22
|
|
23
|
+
# load bundled jars
|
24
|
+
Dir[File.join(File.dirname(__FILE__), '*.jar')].each do |f|
|
25
|
+
require f
|
26
|
+
end
|
27
|
+
|
23
28
|
# some java libraries cannot be found on maven central, so we load all bundled
|
24
29
|
# jar files here for convenience
|
25
30
|
if defined?(ROOT)
|
@@ -29,33 +34,41 @@ if RUBY_PLATFORM == 'java'
|
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
32
|
-
# load
|
33
|
-
|
34
|
-
require '
|
35
|
-
|
36
|
-
|
37
|
+
# load a bunch of common classes here, so we don't have to track and repeat it
|
38
|
+
# everywhere
|
39
|
+
require 'active_support/all'
|
40
|
+
require 'cgi'
|
41
|
+
require 'date'
|
42
|
+
require 'json'
|
43
|
+
require 'socket'
|
44
|
+
require 'time'
|
37
45
|
|
38
|
-
#
|
39
|
-
|
40
|
-
|
41
|
-
|
46
|
+
# load all extensions
|
47
|
+
Dir[File.join(File.dirname(__FILE__), 'ext', '*.rb')].each do |f|
|
48
|
+
require f
|
49
|
+
end
|
42
50
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
51
|
+
require 'liquid/benchmark'
|
52
|
+
require 'liquid/cli'
|
53
|
+
require 'liquid/environment'
|
54
|
+
require 'liquid/from_file'
|
55
|
+
require 'liquid/hash_helper'
|
56
|
+
require 'liquid/metrics'
|
57
|
+
require 'liquid/timing'
|
58
|
+
require 'liquid/transaction_id'
|
59
|
+
require 'liquid/zmq'
|
47
60
|
|
48
|
-
|
49
|
-
|
61
|
+
# configuration callbacks
|
62
|
+
require 'liquid/logger'
|
63
|
+
reload_logger = ->(conf) do
|
64
|
+
$log = Liquid::Logger.new("root")
|
50
65
|
end
|
51
66
|
|
52
67
|
reload_mixins = ->(conf) do
|
53
68
|
if defined?(ROOT)
|
54
69
|
config_yml = File.join(ROOT, 'config.yml')
|
55
70
|
conf.mixin(config_yml) if File.exist?(config_yml)
|
56
|
-
|
57
71
|
dot_user = File.join(ROOT, '.user')
|
58
|
-
|
59
72
|
if File.exists?(dot_user)
|
60
73
|
File.readlines(dot_user).each do |line|
|
61
74
|
user_yml = File.join(ROOT, 'config', 'mixins', "#{line.chomp}.yml")
|
@@ -65,30 +78,29 @@ reload_mixins = ->(conf) do
|
|
65
78
|
end
|
66
79
|
end
|
67
80
|
|
68
|
-
|
81
|
+
require 'liquid/configuration'
|
82
|
+
$conf = Liquid::Configuration.new
|
83
|
+
|
84
|
+
$conf.mixin({
|
85
|
+
generic: {
|
86
|
+
log: {
|
87
|
+
caller: false,
|
88
|
+
level: :info,
|
89
|
+
format: "%d{ISO8601} %-5p #{File.basename($0)}(#{Process.pid})[%t]: %m%n",
|
90
|
+
},
|
91
|
+
},
|
92
|
+
production: {
|
93
|
+
log: {
|
94
|
+
format: "[%t]: %m%n",
|
95
|
+
},
|
96
|
+
},
|
97
|
+
staging: {
|
98
|
+
log: {
|
99
|
+
format: "[%t]: %m%n",
|
100
|
+
},
|
101
|
+
},
|
102
|
+
})
|
103
|
+
|
69
104
|
$conf.callback(&reload_mixins)
|
70
105
|
$conf.callback(&reload_logger)
|
71
|
-
|
72
106
|
$conf.reload!
|
73
|
-
|
74
|
-
# load a bunch of common classes here, so we don't have to track and repeat it
|
75
|
-
# everywhere
|
76
|
-
require 'active_support/all'
|
77
|
-
require 'cgi'
|
78
|
-
require 'date'
|
79
|
-
require 'json'
|
80
|
-
require 'socket'
|
81
|
-
require 'time'
|
82
|
-
|
83
|
-
# load all extensions
|
84
|
-
Dir[File.join(File.dirname(__FILE__), 'ext', '*.rb')].each do |f|
|
85
|
-
require f
|
86
|
-
end
|
87
|
-
|
88
|
-
require 'liquid/benchmark'
|
89
|
-
require 'liquid/cli'
|
90
|
-
require 'liquid/environment'
|
91
|
-
require 'liquid/from_file'
|
92
|
-
require 'liquid/hash_helper'
|
93
|
-
require 'liquid/timing'
|
94
|
-
require 'liquid/transaction_id'
|
data/lib/liquid/cli.rb
CHANGED
@@ -6,11 +6,6 @@ require 'mixlib/cli'
|
|
6
6
|
class CLI
|
7
7
|
include Mixlib::CLI
|
8
8
|
|
9
|
-
option :configfile,
|
10
|
-
short: '-c FILE',
|
11
|
-
long: '--config FILE',
|
12
|
-
description: 'Configuration File to load'
|
13
|
-
|
14
9
|
option :name,
|
15
10
|
:short => '-n NAME',
|
16
11
|
:long => '--name NAME',
|
@@ -31,7 +26,7 @@ class CLI
|
|
31
26
|
:description => "Enable debug output",
|
32
27
|
:boolean => true,
|
33
28
|
:default => false,
|
34
|
-
:proc => ->(value) { $conf.mixin(
|
29
|
+
:proc => ->(value) { $conf.mixin(debug: value, log: { level: value ? :debug : :info }); value }
|
35
30
|
|
36
31
|
option :help,
|
37
32
|
:short => '-h',
|
data/lib/liquid/configuration.rb
CHANGED
@@ -7,152 +7,135 @@ require 'liquid/ext/hash'
|
|
7
7
|
require 'liquid/ext/ordered_set'
|
8
8
|
require 'liquid/environment'
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
# > s.v1
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
10
|
+
module Liquid
|
11
|
+
##
|
12
|
+
# Am {Configuration} consists of one or more Sections. A section is a hash-like
|
13
|
+
# object that responds to all keys in the hash as if they were methods:
|
14
|
+
#
|
15
|
+
# > s = Section.from_hash({:v1 => 2, :nested => {:v2 => 1}})
|
16
|
+
# > s.v1
|
17
|
+
# => 2
|
18
|
+
# > s.nested.v2
|
19
|
+
# => 1
|
20
|
+
#
|
21
|
+
class Section < Hash
|
22
|
+
|
23
|
+
class << self
|
24
|
+
|
25
|
+
# How to handle nil values in the configuration?
|
26
|
+
#
|
27
|
+
# Possible values are:
|
28
|
+
# - :nil, nil (return nil)
|
29
|
+
# - :raise (raise an exception)
|
30
|
+
# - :section (return a NilSection which can be chained)
|
31
|
+
#
|
32
|
+
attr_accessor :nil_action
|
33
|
+
|
34
|
+
# Create a new section from the given hash-like object.
|
35
|
+
#
|
36
|
+
# @param [Hash] hsh The hash to convert into a section.
|
37
|
+
# @return [Section] The new {Section} object.
|
38
|
+
def from_hash(hsh)
|
39
|
+
new.tap do |result|
|
40
|
+
hsh.each do |key, value|
|
41
|
+
result[key.to_sym] = from_value(value)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
32
45
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
46
|
+
# Convert the given value into a Section, list of Sections or the pure
|
47
|
+
# value. Used to recursively build the Section hash.
|
48
|
+
#
|
49
|
+
# @private
|
50
|
+
def from_value(value)
|
51
|
+
case value
|
52
|
+
when Hash
|
53
|
+
from_hash(value)
|
54
|
+
when Array
|
55
|
+
value.map do |item|
|
56
|
+
from_value(item)
|
57
|
+
end
|
58
|
+
else
|
59
|
+
value
|
41
60
|
end
|
42
61
|
end
|
62
|
+
|
43
63
|
end
|
44
64
|
|
45
|
-
# Convert the given value into a Section, list of Sections or the pure
|
46
|
-
# value. Used to recursively build the Section hash.
|
47
|
-
#
|
48
65
|
# @private
|
49
|
-
def
|
50
|
-
|
51
|
-
|
52
|
-
from_hash(value)
|
53
|
-
when Array
|
54
|
-
value.map do |item|
|
55
|
-
from_value(item)
|
56
|
-
end
|
66
|
+
def method_missing(name, *args)
|
67
|
+
if name.to_s =~ /(.*)=$/
|
68
|
+
self[$1.to_sym] = Section.from_value(args.first)
|
57
69
|
else
|
58
|
-
value
|
70
|
+
value = self[name]
|
71
|
+
self[name] = value.call if value.is_a?(Proc)
|
72
|
+
self[name]
|
59
73
|
end
|
60
74
|
end
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
# @private
|
65
|
-
def method_missing(name, *args)
|
66
|
-
if name.to_s =~ /(.*)=$/
|
67
|
-
self[$1.to_sym] = Section.from_value(args.first)
|
68
|
-
else
|
69
|
-
value = self[name]
|
70
|
-
self[name] = value.call if value.is_a?(Proc)
|
71
|
-
self[name]
|
72
|
-
end
|
73
75
|
end
|
74
|
-
end
|
75
76
|
|
76
|
-
##
|
77
|
-
# The Configuration class provides a simple interface to configuration stored
|
78
|
-
# inside of YAML files.
|
79
|
-
#
|
80
|
-
class Configuration < Section
|
81
|
-
|
82
|
-
DEFAULTS = {
|
83
|
-
generic: {
|
84
|
-
log_backend: :stdout,
|
85
|
-
log_caller: false,
|
86
|
-
log_level: :info,
|
87
|
-
log_format: "%{time} %{progname}(%{pid}) [%{severity}] %{msg}\n",
|
88
|
-
log4j_format: "%d %c(%t) [%p] %m%n",
|
89
|
-
},
|
90
|
-
production: {
|
91
|
-
log_format: "%{msg}\n",
|
92
|
-
log4j_format: "%m%n",
|
93
|
-
},
|
94
|
-
staging: {
|
95
|
-
log_format: "%{msg}\n",
|
96
|
-
log4j_format: "%m%n",
|
97
|
-
},
|
98
|
-
}
|
99
|
-
|
100
|
-
# Create a new {Configuration} object.
|
77
|
+
##
|
78
|
+
# The Configuration class provides a simple interface to configuration stored
|
79
|
+
# inside of YAML files.
|
101
80
|
#
|
102
|
-
|
103
|
-
def initialize
|
104
|
-
@mixins = OrderedSet.new
|
105
|
-
@callbacks = []
|
106
|
-
mixin(DEFAULTS)
|
107
|
-
end
|
81
|
+
class Configuration < Section
|
108
82
|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
# @return [void]
|
116
|
-
def mixin(value)
|
117
|
-
@mixins << value
|
118
|
-
|
119
|
-
if value.is_a?(String)
|
120
|
-
value = YAML.load(File.read(value))
|
83
|
+
# Create a new {Configuration} object.
|
84
|
+
#
|
85
|
+
# @yield [config] The new configuration object.
|
86
|
+
def initialize
|
87
|
+
@mixins = OrderedSet.new
|
88
|
+
@callbacks = []
|
121
89
|
end
|
122
90
|
|
123
|
-
|
91
|
+
# Mixin a configuration snippet into the current section.
|
92
|
+
#
|
93
|
+
# @param [Hash, String] value A hash to merge into the current
|
94
|
+
# configuration. If a string is given a filename
|
95
|
+
# is assumed and the given file is expected to
|
96
|
+
# contain a YAML hash.
|
97
|
+
# @return [void]
|
98
|
+
def mixin(value)
|
99
|
+
@mixins << value
|
100
|
+
|
101
|
+
if value.is_a?(String)
|
102
|
+
value = YAML.load(File.read(value))
|
103
|
+
end
|
104
|
+
|
105
|
+
return unless value
|
124
106
|
|
125
|
-
|
107
|
+
value = Section.from_hash(value)
|
126
108
|
|
127
|
-
|
109
|
+
deep_merge!(value[:generic]) if value.has_key?(:generic)
|
128
110
|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
111
|
+
if value.has_key?(Env.to_sym)
|
112
|
+
deep_merge!(value[Env.to_sym])
|
113
|
+
else
|
114
|
+
deep_merge!(value)
|
115
|
+
end
|
133
116
|
end
|
134
|
-
end
|
135
117
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
118
|
+
# Reload all mixins.
|
119
|
+
#
|
120
|
+
# @return [void]
|
121
|
+
def reload!
|
122
|
+
clear
|
123
|
+
|
124
|
+
@mixins.each do |file|
|
125
|
+
mixin(file)
|
126
|
+
end
|
141
127
|
|
142
|
-
|
143
|
-
|
128
|
+
@callbacks.each do |callback|
|
129
|
+
callback.call(self)
|
130
|
+
end
|
144
131
|
end
|
145
132
|
|
146
|
-
|
147
|
-
|
133
|
+
# Register a callback for config mixins.
|
134
|
+
#
|
135
|
+
# @return [void]
|
136
|
+
def callback(&block)
|
137
|
+
@callbacks << block
|
148
138
|
end
|
149
|
-
end
|
150
139
|
|
151
|
-
# Register a callback for config mixins.
|
152
|
-
#
|
153
|
-
# @return [void]
|
154
|
-
def callback(&block)
|
155
|
-
@callbacks << block
|
156
140
|
end
|
157
|
-
|
158
141
|
end
|
@@ -1,13 +1,20 @@
|
|
1
1
|
require 'erubis'
|
2
2
|
require 'mixlib/cli'
|
3
|
+
require 'rib/runner'
|
4
|
+
require 'rib/all'
|
3
5
|
|
4
6
|
module Liquid
|
5
|
-
class
|
7
|
+
class Console
|
6
8
|
|
7
9
|
def run
|
8
10
|
self.__send__(ARGV.shift, *ARGV)
|
9
11
|
end
|
10
12
|
|
13
|
+
def console(*args)
|
14
|
+
require 'liquid/boot'
|
15
|
+
Rib::Runner.run(args)
|
16
|
+
end
|
17
|
+
|
11
18
|
def project(name)
|
12
19
|
if File.exist?(name)
|
13
20
|
puts "!!! #{name} already exists"
|
data/lib/liquid/ext/string.rb
CHANGED
data/lib/liquid/ext/thread.rb
CHANGED
Binary file
|
data/lib/liquid/health_checks.rb
CHANGED
@@ -1,18 +1,13 @@
|
|
1
|
-
require '
|
1
|
+
require 'liquid/logger'
|
2
2
|
|
3
|
+
require_relative './metrics-healthchecks-3.0.1.jar'
|
3
4
|
java_import 'com.codahale.metrics.health.HealthCheckRegistry'
|
4
5
|
|
5
6
|
class HealthChecks
|
6
|
-
|
7
|
-
|
8
|
-
attr_reader :registry
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
@registry = HealthCheckRegistry.new
|
12
|
-
end
|
7
|
+
@registry = HealthCheckRegistry.new
|
13
8
|
|
14
9
|
def self.registry
|
15
|
-
|
10
|
+
@registry
|
16
11
|
end
|
17
12
|
|
18
13
|
def self.register(name, handler)
|
@@ -22,5 +17,4 @@ class HealthChecks
|
|
22
17
|
def self.run
|
23
18
|
registry.run_health_checks
|
24
19
|
end
|
25
|
-
|
26
20
|
end
|
Binary file
|
Binary file
|
Binary file
|