bzsnippets 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,25 @@
1
+ class Array
2
+ def deep_stringify_keys
3
+ inject([]) { |accum, value|
4
+ if (value.is_a?(Hash) or value.is_a?(Array))
5
+ new_val = value.deep_stringify_keys
6
+ accum.push new_val
7
+ else
8
+ accum.push value
9
+ end
10
+ accum
11
+ }
12
+ end
13
+
14
+ def deep_symbolize_keys
15
+ inject([]) { |accum, value|
16
+ if (value.is_a?(Hash) or value.is_a?(Array))
17
+ new_val = value.deep_symbolize_keys
18
+ accum.push new_val
19
+ else
20
+ accum.push value
21
+ end
22
+ accum
23
+ }
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ class Class
2
+ def subclasses
3
+ ObjectSpace.each_object(::Class).select {|klass| klass < self }
4
+ end
5
+ end
@@ -2,6 +2,7 @@ require 'active_support/concern'
2
2
  require 'active_support/core_ext/hash'
3
3
  require 'pathname'
4
4
  require 'delegate'
5
+
5
6
  module Snippets
6
7
  module Object
7
8
  module EnvAttribute
@@ -0,0 +1,29 @@
1
+ class Hash
2
+ def deep_symbolize_keys
3
+ inject({}) { |result, (key, value)|
4
+ value = value.deep_symbolize_keys if (value.is_a?(Hash) or value.is_a?(Array))
5
+ result[(key.to_sym rescue key) || key] = value
6
+ result
7
+ }
8
+ end
9
+
10
+ def deep_stringify_keys
11
+ inject({}) { |result, (key, value)|
12
+ value = value.deep_stringify_keys if (value.is_a?(Hash) or value.is_a?(Array))
13
+ result[(key.to_s rescue key) || key] = value
14
+ result
15
+ }
16
+ end
17
+
18
+ def deep_merge hash
19
+ target = dup
20
+ hash.keys.each do |key|
21
+ if hash[key].is_a? Hash and self[key].is_a? Hash
22
+ target[key] = target[key].deep_merge(hash[key])
23
+ next
24
+ end
25
+ target[key] = hash[key]
26
+ end
27
+ target
28
+ end
29
+ end
@@ -0,0 +1 @@
1
+ require "snippets/core_ext/object/env_attribute"
@@ -1,3 +1,3 @@
1
1
  module Snippets
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/snippets.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require "snippets/version"
2
- require "snippets/object/env_attribute"
2
+ require "snippets/class"
3
+ require "snippets/object"
4
+ require "snippets/array"
5
+ require "snippets/hash"
3
6
  require "snippets/mime_tempfile"
4
7
  module Snippets
5
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bzsnippets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-08 00:00:00.000000000 Z
12
+ date: 2013-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -57,8 +57,12 @@ files:
57
57
  - README.md
58
58
  - Rakefile
59
59
  - lib/snippets.rb
60
+ - lib/snippets/array.rb
61
+ - lib/snippets/class.rb
62
+ - lib/snippets/core_ext/object/env_attribute.rb
63
+ - lib/snippets/hash.rb
60
64
  - lib/snippets/mime_tempfile.rb
61
- - lib/snippets/object/env_attribute.rb
65
+ - lib/snippets/object.rb
62
66
  - lib/snippets/version.rb
63
67
  - snippets.gemspec
64
68
  - spec/fixtures/config.yml