forester 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8a6a1cffe04ece8277a5828f27c9f36f1ea2ba31
4
- data.tar.gz: bdafe433a52570d2e30535698febf2a50ebf8b47
3
+ metadata.gz: 0a57950cecbc75dfde48ae961c03f72437f1e3d7
4
+ data.tar.gz: 31e075d6b51118542e5a8e0dbca61aee3735e6c4
5
5
  SHA512:
6
- metadata.gz: 3a0ef594c8f942bf12044e5d232f7d7bf07c2be20d914378dc5b32727b8c6220d382eb71b49f71eca090aafd506d83db448523bb0fa4a7e90cbc0c4fba78c931
7
- data.tar.gz: d7ad4fe1a9257eceaa20f6e66b13446535909a8eb68356b8240755c3ba3bd9711a1bd0e7e35dd673e47ff9bf1ea5bd656ba09edcfff0ce1e2d445f4c4308c07c
6
+ metadata.gz: 5f2453667e82901bfd5ce7ba63222262319ec772d3b9e9092d806dbf2eafdb5c57de7d2b737316aed1c8ce647e1b6aecfaf4c0292f571595dc7aabda673d828b
7
+ data.tar.gz: 3e02c63d56490f50801b65a085b38407d53d31e725a9e52330cb4c42d0813ac9d02a673172b4ca1c2eb5c4c2eaf8371471688e3b67aa9ef33692310a7a446388
data/forester.gemspec CHANGED
@@ -6,7 +6,7 @@ require 'forester/version'
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'forester'
8
8
  s.version = Forester::Version
9
- s.date = '2016-08-20'
9
+ s.date = '2016-08-22'
10
10
  s.summary = "A gem to represent and interact with tree data structures"
11
11
  s.description = "Based on rubytree, this gem lets you build trees and run queries against them."
12
12
  s.authors = ["Eugenio Bruno"]
@@ -35,7 +35,10 @@ module Forester
35
35
  }
36
36
  options = default_options.merge(options)
37
37
 
38
- super(symbolize_if(options[:symbolize_key]).call(key), value)
38
+ convert_key = ->(k) { k }
39
+ convert_key = ->(k) { k.to_sym } if options[:symbolize_key]
40
+
41
+ super(convert_key.call(key), value)
39
42
  end
40
43
  alias_method :put!, :[]=
41
44
 
@@ -57,8 +60,9 @@ module Forester
57
60
  }
58
61
  options = default_options.merge(options)
59
62
 
60
- convert_key = stringify_if options[:stringify_keys]
61
- convert_key = symbolize_if options[:symbolize_keys]
63
+ convert_key = ->(k) { k }
64
+ convert_key = ->(k) { k.to_s } if options[:stringify_keys]
65
+ convert_key = ->(k) { k.to_sym } if options[:symbolize_keys]
62
66
 
63
67
  each_with_object({}) do |(k, v), hash|
64
68
  if equivs(k).any? { |eq| options[:fields_to_include].include?(eq) }
@@ -81,22 +85,6 @@ module Forester
81
85
  equivs(key).find { |k| has_key?(k, false) } || key
82
86
  end
83
87
 
84
- def stringify_if(bool)
85
- if bool
86
- ->(k) { k.to_s }
87
- else
88
- ->(k) { k }
89
- end
90
- end
91
-
92
- def symbolize_if(bool)
93
- if bool
94
- ->(k) { k.to_sym }
95
- else
96
- ->(k) { k }
97
- end
98
- end
99
-
100
88
  end
101
89
  end
102
90
  end
@@ -10,5 +10,10 @@ module Forester
10
10
  each_node { |node| node.add_field!(name, definition) }
11
11
  end
12
12
 
13
+ def remove_levels_past!(last_level_to_keep)
14
+ nodes_of_level(last_level_to_keep).map(&:remove_all!)
15
+ self
16
+ end
17
+
13
18
  end
14
19
  end
@@ -1,7 +1,7 @@
1
1
  module Forester
2
2
  class Version
3
3
  MAJOR = 3
4
- MINOR = 1
4
+ MINOR = 2
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forester
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugenio Bruno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-20 00:00:00.000000000 Z
11
+ date: 2016-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubytree