liquid-ext 3.1.2 → 3.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b1cea40a2404ada25782dae605a73f47003b7f4
4
- data.tar.gz: 699c6876bc639ffb2d589451df6acb92368faccc
3
+ metadata.gz: 60c594a5e6540ff912a888069e175df3df538689
4
+ data.tar.gz: b7aad2df11ab4e395b6273f998328ce33e1cc983
5
5
  SHA512:
6
- metadata.gz: 72a1f313387ca40b060e71fd74254600bf5a748131f98c6c19c9b836758d0ced942de87784ad567f6e002c8fbb23533fe503f9819e5c88381e4313d8917e4fb4
7
- data.tar.gz: f75ec1b17c96e9ebf5f18557a90dcc1d492fde24550a92c3983804d6833750c21da83733e193cb291d0a2af294785e59f2f861f138bc240b665ceab4f74297a1
6
+ metadata.gz: e32319504d77cb97d76b9f4d0b10f50fe978355d36001f8ca62b33cc30cc98ccb8afcca3669b069f34bdce7f96cadc0865b2081e278ae467a4ed6e480e707324
7
+ data.tar.gz: 093c9039dde0b4c27323fe984906bd5970c827afded74e9c51ad4f0be8b0c07267bc5161b7842e864dca88fc25602e2991592237e52272a3d40747135ca590e6
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- liquid-ext (3.1.2)
4
+ liquid-ext (3.2.0)
5
5
  activesupport
6
6
  erubis
7
+ jmx4r
7
8
  mixlib-cli
8
9
  terminal-table
9
10
 
@@ -33,6 +34,7 @@ GEM
33
34
  ruby-progressbar (~> 1.3)
34
35
  hirb (0.7.1)
35
36
  i18n (0.6.9)
37
+ jmx4r (0.1.4)
36
38
  liquid-development (0.2.1)
37
39
  awesome_print
38
40
  bond
@@ -0,0 +1,12 @@
1
+ class Integer
2
+ TWO_POWER_WORD1 = 2 ** (1.size * 8 - 1)
3
+ TWO_POWER_WORD = 2 ** (1.size * 8)
4
+
5
+ def self.to_signed(number)
6
+ number >= TWO_POWER_WORD1 ? number - TWO_POWER_WORD : number
7
+ end
8
+
9
+ def self.to_unsigned(number)
10
+ number < 0 ? number + TWO_POWER_WORD : number
11
+ end
12
+ end
@@ -0,0 +1,43 @@
1
+ require 'active_support/core_ext/hash/keys'
2
+ require 'jmx4r'
3
+
4
+ java_import 'javax.management.RuntimeMBeanException'
5
+ java_import 'java.lang.UnsupportedOperationException'
6
+
7
+ class JMX::MBean
8
+
9
+ def self.to_tree
10
+ find_all_by_name("*:*").inject({}) do |result, mbean|
11
+ domain = mbean.object_name.domain
12
+ properties = mbean.object_name.key_property_list_string.split(',')
13
+ mresult = result[domain] ||= {}
14
+ mresult = mresult[properties.shift] ||= {} until properties.empty?
15
+ mbean.to_h(mresult)
16
+ result
17
+ end
18
+ end
19
+
20
+ def to_h(hsh = {})
21
+ attributes.keys.inject(hsh) do |result, key|
22
+ result[key.to_sym] = get_value(key)
23
+ result
24
+ end.merge!({
25
+ object_name: object_name.to_s,
26
+ })
27
+ end
28
+
29
+ def get_value(key)
30
+ case value = send(key)
31
+ when Java::JavaxManagementOpenmbean::CompositeDataSupport
32
+ Hash[value.to_a].symbolize_keys
33
+ when Enumerable
34
+ value.to_a
35
+ else
36
+ value
37
+ end
38
+ rescue RuntimeMBeanException => e
39
+ raise unless e.cause.is_a?(UnsupportedOperationException)
40
+ nil
41
+ end
42
+
43
+ end
data/lib/liquid/zmq.rb CHANGED
@@ -7,6 +7,9 @@ java_import "org.zeromq.ZMQException"
7
7
  java_import "org.zeromq.ZMQQueue"
8
8
  java_import "org.zeromq.ZMsg"
9
9
  java_import "org.zeromq.ZThread"
10
+
11
+ java_import "java.nio.channels.AsynchronousCloseException"
12
+ java_import "java.nio.channels.ClosedChannelException"
10
13
  java_import "java.nio.channels.ClosedSelectorException"
11
14
 
12
15
  class ZContext
data/liquid-ext.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "liquid-ext"
5
- spec.version = "3.1.2"
5
+ spec.version = "3.2.0"
6
6
  spec.authors = ["LiquidM, Inc."]
7
7
  spec.email = ["opensource@liquidm.com"]
8
8
  spec.description = %q{Ruby core extensions and helper libraries}
@@ -19,4 +19,5 @@ Gem::Specification.new do |spec|
19
19
  spec.add_dependency "erubis"
20
20
  spec.add_dependency "mixlib-cli"
21
21
  spec.add_dependency "terminal-table"
22
+ spec.add_dependency "jmx4r"
22
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liquid-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LiquidM, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-28 00:00:00.000000000 Z
11
+ date: 2014-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,20 @@ dependencies:
66
66
  version: '0'
67
67
  prerelease: false
68
68
  type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ name: jmx4r
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ prerelease: false
82
+ type: :runtime
69
83
  description: Ruby core extensions and helper libraries
70
84
  email:
71
85
  - opensource@liquidm.com
@@ -93,6 +107,8 @@ files:
93
107
  - lib/liquid/ext/array.rb
94
108
  - lib/liquid/ext/enumerable.rb
95
109
  - lib/liquid/ext/hash.rb
110
+ - lib/liquid/ext/integer.rb
111
+ - lib/liquid/ext/jmx4r.rb
96
112
  - lib/liquid/ext/nil.rb
97
113
  - lib/liquid/ext/ordered_set.rb
98
114
  - lib/liquid/ext/signal.rb