deep_tree 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,4 +5,5 @@ gemspec
5
5
 
6
6
  group :benchmarks do
7
7
  gem 'hashie'
8
+ gem 'require_relative', :platform => "ruby_18"
8
9
  end
@@ -1,4 +1,4 @@
1
- require_relative 'benchmark_helper'
1
+ require File.join(File.dirname(__FILE__), 'benchmark_helper')
2
2
 
3
3
  bad_path = %w(three_level nope nada)
4
4
 
@@ -1,6 +1,8 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
+ require 'require_relative' if RUBY_VERSION =~ /1\.8/
3
4
  require 'benchmark'
5
+
4
6
  require_relative '../lib/deep_tree'
5
7
  require_relative '../lib/deep_tree/hash'
6
8
 
@@ -1,4 +1,4 @@
1
- require_relative 'benchmark_helper'
1
+ require File.join(File.dirname(__FILE__), 'benchmark_helper')
2
2
 
3
3
  good_path = %w(three_level level_two level_one)
4
4
 
@@ -5,15 +5,15 @@ class DeepTree
5
5
 
6
6
  attr_accessor :tree
7
7
 
8
- def self.get_leaf(parent, *args)
8
+ def self.get_leaf(parent, *args, &block)
9
9
  args.each_with_index do |key, index|
10
10
  result = case
11
11
  when index == (args.length - 1)
12
- return parent[key].nil? && block_given? ? yield : parent[key]
12
+ return parent[key].nil? && block ? yield : parent[key]
13
13
  when parent[key].is_a?(Hash)
14
14
  parent = parent[key]
15
15
  else
16
- return block_given? ? yield : nil
16
+ return block ? yield : nil
17
17
  end
18
18
  end
19
19
  end
@@ -26,12 +26,8 @@ class DeepTree
26
26
  end
27
27
  end
28
28
 
29
- def get_leaf(*args)
30
- if block_given?
31
- DeepTree.get_leaf(tree, *args) { yield }
32
- else
33
- DeepTree.get_leaf(tree, *args)
34
- end
29
+ def get_leaf(*args, &block)
30
+ DeepTree.get_leaf( tree, *args, &block )
35
31
  end
36
32
 
37
33
  def method_missing(*args)
@@ -1,11 +1,5 @@
1
1
  class Hash
2
-
3
- def get_leaf(*args)
4
- if block_given?
5
- DeepTree.get_leaf(self, *args) { yield }
6
- else
7
- DeepTree.get_leaf(self, *args)
8
- end
2
+ def get_leaf(*args, &block)
3
+ DeepTree.get_leaf( self, *args, &block )
9
4
  end
10
-
11
5
  end
@@ -1,3 +1,3 @@
1
1
  class DeepTree
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,36 +1,47 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: deep_tree
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 3
10
+ version: 0.0.3
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Patrick Tulskie
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-12-11 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-12-20 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
14
22
  name: minitest
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
23
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
27
35
  description: DeepTree simplifies fetching deeply nested nodes in Ruby hashes.
28
- email:
36
+ email:
29
37
  - patricktulskie@gmail.com
30
38
  executables: []
39
+
31
40
  extensions: []
41
+
32
42
  extra_rdoc_files: []
33
- files:
43
+
44
+ files:
34
45
  - .gitignore
35
46
  - Gemfile
36
47
  - LICENSE.txt
@@ -47,31 +58,41 @@ files:
47
58
  - spec/deep_tree_spec.rb
48
59
  - spec/hash_spec.rb
49
60
  - spec/spec_helper.rb
61
+ has_rdoc: true
50
62
  homepage: https://github.com/patricktulskie/deep_tree
51
- licenses:
63
+ licenses:
52
64
  - MIT
53
- metadata: {}
54
65
  post_install_message:
55
66
  rdoc_options: []
56
- require_paths:
67
+
68
+ require_paths:
57
69
  - lib
58
- required_ruby_version: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - '>='
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- required_rubygems_version: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - '>='
66
- - !ruby/object:Gem::Version
67
- version: '0'
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
68
88
  requirements: []
89
+
69
90
  rubyforge_project:
70
- rubygems_version: 2.0.6
91
+ rubygems_version: 1.5.3
71
92
  signing_key:
72
- specification_version: 4
93
+ specification_version: 3
73
94
  summary: Aids with finding deeply nested nodes in Ruby hashes.
74
- test_files:
95
+ test_files:
75
96
  - spec/deep_tree_spec.rb
76
97
  - spec/hash_spec.rb
77
98
  - spec/spec_helper.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 7176f270d83663758388c7a28d8860aafed46d5d
4
- data.tar.gz: 80f2c1c3aac9e9083709386ce59be1f0c8d0b4c6
5
- SHA512:
6
- metadata.gz: eb14ad09f23558962316ea52cefa8ab3a06daafa91bd9590c709e78bf13d57a4058976a72413c650c00a50b93b4318cbad7498bc88c93bab85ad3812e4a5009e
7
- data.tar.gz: 51e55799b41d4f25a6473efb242401fe5cc3d999f1593fc19a5351a22e658a193c6f56a051e403e20d290f99fdaba6bdc62077763e1fd228f8e4b12543e0025b