right_support 2.3.0 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,13 +123,19 @@ module RightSupport::Data
123
123
  # === Parameters
124
124
  # @param [Hash] original hash to clone
125
125
  #
126
+ # === Block
127
+ # @yieldparam [Object] value of leaf
128
+ # @yieldreturn [Object] cloned value of leaf or original value
129
+ #
126
130
  # === Return
127
131
  # @return [Hash] deep cloned hash
128
- def self.deep_clone(original)
132
+ def self.deep_clone(original, &leaf_callback)
129
133
  result = original.clone
130
134
  result.each do |k, v|
131
135
  if hashable?(v)
132
136
  result[k] = deep_clone(v)
137
+ elsif leaf_callback
138
+ result[k] = leaf_callback.call(v)
133
139
  elsif v.respond_to?(:duplicable?)
134
140
  result[k] = (v.duplicable? ? v.clone : v)
135
141
  else
@@ -1,3 +1,6 @@
1
+ require 'openssl'
2
+ require 'openssl/ssl'
3
+
1
4
  module RightSupport::Net
2
5
  module SSL
3
6
  # A helper module that provides monkey patch for OpenSSL::SSL.verify_certificate_identity method.
@@ -7,13 +10,12 @@ module RightSupport::Net
7
10
  # verify_certificate_identity method, to change the SSL algorythm of hostname verification.
8
11
  module OpenSSLPatch
9
12
  class << self
10
- @@status = false
13
+ @enabled = false
11
14
 
12
15
  def enable!
13
- return if @@status
14
- @@status = true
16
+ return if @enabled
17
+ @enabled = true
15
18
 
16
- require 'openssl'
17
19
  OpenSSL::SSL.module_exec do
18
20
  def verify_certificate_identity(cert, hostname)
19
21
  if RightSupport::Net::SSL::OpenSSLPatch.enabled?
@@ -55,11 +57,11 @@ module RightSupport::Net
55
57
  end
56
58
 
57
59
  def disable!
58
- @@status = false
60
+ @enabled = false
59
61
  end
60
62
 
61
63
  def enabled?
62
- @@status
64
+ @enabled
63
65
  end
64
66
  end
65
67
  end
@@ -178,7 +178,7 @@ module RightSupport
178
178
  all[0..-2].inject("") { |a, (str, sep)| a + str + sep + "\n" } + all[-1][0]
179
179
  end
180
180
 
181
- # Format UTC time value
181
+ # Format time value in local time
182
182
  #
183
183
  # === Parameters
184
184
  # time(Integer):: Time in seconds in Unix-epoch to be formatted
@@ -7,8 +7,8 @@ spec = Gem::Specification.new do |s|
7
7
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
8
8
 
9
9
  s.name = 'right_support'
10
- s.version = '2.3.0'
11
- s.date = '2012-06-27'
10
+ s.version = '2.3.1'
11
+ s.date = '2012-07-12'
12
12
 
13
13
  s.authors = ['Tony Spataro', 'Sergey Sergyenko', 'Ryan Williamson', 'Lee Kirchhoff', 'Sergey Enin']
14
14
  s.email = 'support@rightscale.com'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_support
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 3
9
- - 0
10
- version: 2.3.0
9
+ - 1
10
+ version: 2.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tony Spataro
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2012-06-27 00:00:00 -07:00
22
+ date: 2012-07-12 00:00:00 -07:00
23
23
  default_executable:
24
24
  dependencies: []
25
25