forester 3.1.0 → 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: 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