nrser 0.0.30 → 0.1.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 +4 -4
- data/lib/nrser.rb +56 -12
- data/lib/nrser/collection.rb +4 -7
- data/lib/nrser/ext.rb +5 -0
- data/lib/nrser/{refinements → ext}/enumerable.rb +11 -9
- data/lib/nrser/ext/pathname.rb +74 -0
- data/lib/nrser/{refinements → ext}/tree.rb +2 -26
- data/lib/nrser/functions.rb +18 -0
- data/lib/nrser/{array.rb → functions/array.rb} +2 -3
- data/lib/nrser/{binding.rb → functions/binding.rb} +0 -2
- data/lib/nrser/functions/enumerable.rb +355 -0
- data/lib/nrser/functions/enumerable/find_all_map.rb +33 -0
- data/lib/nrser/functions/enumerable/find_map.rb +53 -0
- data/lib/nrser/functions/exception.rb +17 -0
- data/lib/nrser/{hash.rb → functions/hash.rb} +0 -0
- data/lib/nrser/functions/hash/bury.rb +147 -0
- data/lib/nrser/{hash → functions/hash}/deep_merge.rb +5 -5
- data/lib/nrser/{hash → functions/hash}/except_keys.rb +2 -0
- data/lib/nrser/{hash → functions/hash}/guess_label_key_type.rb +3 -1
- data/lib/nrser/{hash → functions/hash}/slice_keys.rb +3 -1
- data/lib/nrser/{hash → functions/hash}/stringify_keys.rb +2 -0
- data/lib/nrser/{hash → functions/hash}/symbolize_keys.rb +3 -1
- data/lib/nrser/{hash → functions/hash}/transform_keys.rb +3 -1
- data/lib/nrser/functions/merge_by.rb +29 -0
- data/lib/nrser/{object.rb → functions/object.rb} +0 -0
- data/lib/nrser/{object → functions/object}/as_array.rb +2 -0
- data/lib/nrser/{object → functions/object}/as_hash.rb +7 -5
- data/lib/nrser/{object → functions/object}/truthy.rb +46 -7
- data/lib/nrser/{open_struct.rb → functions/open_struct.rb} +0 -0
- data/lib/nrser/functions/path.rb +150 -0
- data/lib/nrser/{proc.rb → functions/proc.rb} +1 -22
- data/lib/nrser/functions/string.rb +297 -0
- data/lib/nrser/functions/string/looks_like.rb +44 -0
- data/lib/nrser/{text.rb → functions/text.rb} +0 -0
- data/lib/nrser/{text → functions/text}/indentation.rb +2 -16
- data/lib/nrser/{text → functions/text}/lines.rb +1 -2
- data/lib/nrser/{text → functions/text}/word_wrap.rb +2 -4
- data/lib/nrser/{tree.rb → functions/tree.rb} +0 -0
- data/lib/nrser/{tree → functions/tree}/each_branch.rb +6 -7
- data/lib/nrser/functions/tree/leaves.rb +92 -0
- data/lib/nrser/{tree → functions/tree}/map_branches.rb +31 -32
- data/lib/nrser/functions/tree/map_leaves.rb +56 -0
- data/lib/nrser/{tree → functions/tree}/map_tree.rb +9 -20
- data/lib/nrser/{tree → functions/tree}/transform.rb +0 -10
- data/lib/nrser/logger.rb +9 -10
- data/lib/nrser/message.rb +3 -7
- data/lib/nrser/meta.rb +2 -0
- data/lib/nrser/meta/class_attrs.rb +3 -9
- data/lib/nrser/meta/props.rb +19 -19
- data/lib/nrser/meta/props/base.rb +4 -10
- data/lib/nrser/meta/props/prop.rb +12 -28
- data/lib/nrser/no_arg.rb +1 -3
- data/lib/nrser/refinements.rb +5 -0
- data/lib/nrser/refinements/array.rb +5 -17
- data/lib/nrser/refinements/enumerator.rb +1 -3
- data/lib/nrser/refinements/hash.rb +3 -15
- data/lib/nrser/refinements/object.rb +2 -2
- data/lib/nrser/refinements/open_struct.rb +0 -2
- data/lib/nrser/refinements/pathname.rb +3 -46
- data/lib/nrser/refinements/set.rb +2 -6
- data/lib/nrser/refinements/string.rb +2 -2
- data/lib/nrser/rspex.rb +16 -13
- data/lib/nrser/types.rb +6 -20
- data/lib/nrser/types/any.rb +0 -1
- data/lib/nrser/types/booleans.rb +1 -1
- data/lib/nrser/types/combinators.rb +5 -5
- data/lib/nrser/types/in.rb +0 -21
- data/lib/nrser/types/responds.rb +1 -0
- data/lib/nrser/types/trees.rb +1 -0
- data/lib/nrser/version.rb +2 -3
- data/spec/nrser/{template_spec.rb → functions/binding/template_spec.rb} +0 -0
- data/spec/nrser/functions/enumerable/find_all_map_spec.rb +28 -0
- data/spec/nrser/functions/enumerable/find_bounded_spec.rb +70 -0
- data/spec/nrser/functions/enumerable/find_map_spec.rb +38 -0
- data/spec/nrser/functions/enumerable/find_only_spec.rb +25 -0
- data/spec/nrser/functions/enumerable/to_h_by_spec.rb +28 -0
- data/spec/nrser/{format_exception_spec.rb → functions/exception/format_exception_spec.rb} +0 -0
- data/spec/nrser/{hash → functions/hash}/bury_spec.rb +0 -0
- data/spec/nrser/{hash → functions/hash}/guess_label_key_type_spec.rb +0 -0
- data/spec/nrser/{hash_spec.rb → functions/hash_spec.rb} +0 -7
- data/spec/nrser/{merge_by_spec.rb → functions/merge_by_spec.rb} +0 -0
- data/spec/nrser/{truthy_spec.rb → functions/object/truthy_spec.rb} +0 -0
- data/spec/nrser/{open_struct_spec.rb → functions/open_struct_spec.rb} +0 -0
- data/spec/nrser/{string → functions/string}/common_prefix_spec.rb +0 -0
- data/spec/nrser/{string → functions/string}/looks_like_spec.rb +0 -0
- data/spec/nrser/{truncate_spec.rb → functions/string/truncate_spec.rb} +0 -0
- data/spec/nrser/{text → functions/text}/dedent/gotchas_spec.rb +0 -0
- data/spec/nrser/{text → functions/text}/dedent_spec.rb +0 -0
- data/spec/nrser/{indent_spec.rb → functions/text/indent_spec.rb} +0 -0
- data/spec/nrser/{tree → functions/tree}/each_branch_spec.rb +0 -0
- data/spec/nrser/{tree → functions/tree}/leaves_spec.rb +0 -0
- data/spec/nrser/{tree → functions/tree}/map_branch_spec.rb +0 -0
- data/spec/nrser/{tree → functions/tree}/map_tree_spec.rb +0 -0
- data/spec/nrser/{tree → functions/tree}/transform_spec.rb +0 -0
- data/spec/nrser/{tree → functions/tree}/transformer_spec.rb +0 -0
- data/spec/nrser/meta/class_attrs_spec.rb +12 -14
- data/spec/spec_helper.rb +2 -3
- metadata +136 -110
- data/lib/nrser/enumerable.rb +0 -288
- data/lib/nrser/exception.rb +0 -7
- data/lib/nrser/hash/bury.rb +0 -154
- data/lib/nrser/merge_by.rb +0 -26
- data/lib/nrser/string.rb +0 -294
- data/lib/nrser/string/looks_like.rb +0 -51
- data/lib/nrser/tree/leaves.rb +0 -92
- data/lib/nrser/tree/map_leaves.rb +0 -63
- data/spec/nrser/enumerable_spec.rb +0 -111
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
describe_spec_file(
|
|
2
|
+
spec_path: __FILE__,
|
|
3
|
+
module: NRSER,
|
|
4
|
+
method: :find_bounded,
|
|
5
|
+
) do
|
|
6
|
+
|
|
7
|
+
context "when just :length bounds arg is provided" do
|
|
8
|
+
it "returns found elements when length is correct" do
|
|
9
|
+
expect(
|
|
10
|
+
subject.([1, 2, 3], length: 1) { |i| i == 2 }
|
|
11
|
+
).to eq [2]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "raises TypeError when length in incorrect" do
|
|
15
|
+
expect {
|
|
16
|
+
subject.([1, 2, 3], length: 2) { |i| i == 2 }
|
|
17
|
+
}.to raise_error TypeError
|
|
18
|
+
end
|
|
19
|
+
end # when just :length bounds arg is provided
|
|
20
|
+
|
|
21
|
+
context "when just :min bounds arg is provided" do
|
|
22
|
+
it "returns found elements when min is correct" do
|
|
23
|
+
expect(
|
|
24
|
+
subject.([1, 2, 3], min: 1) { |i| i == 2 }
|
|
25
|
+
).to eq [2]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "raises TypeError when min in incorrect" do
|
|
29
|
+
expect {
|
|
30
|
+
subject.([1, 2, 3], min: 2) { |i| i == 2 }
|
|
31
|
+
}.to raise_error TypeError
|
|
32
|
+
end
|
|
33
|
+
end # when just :min bounds arg is provided
|
|
34
|
+
|
|
35
|
+
context "when just :max bounds arg is provided" do
|
|
36
|
+
it "returns found elements when max is correct" do
|
|
37
|
+
expect(
|
|
38
|
+
subject.([1, 2, 3], max: 2) { |i| i >= 2 }
|
|
39
|
+
).to eq [2, 3]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it "raises TypeError when max in incorrect" do
|
|
43
|
+
expect {
|
|
44
|
+
subject.([1, 2, 3], max: 1) { |i| i >= 2 }
|
|
45
|
+
}.to raise_error TypeError
|
|
46
|
+
end
|
|
47
|
+
end # when just :max bounds arg is provided
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
context "when :min and :max bounds args are both provided" do
|
|
51
|
+
it "returns found elements when min and max are correct" do
|
|
52
|
+
expect(
|
|
53
|
+
subject.([1, 2, 3], min: 1, max: 2) { |i| i >= 2 }
|
|
54
|
+
).to eq [2, 3]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "raises TypeError when min is incorrect" do
|
|
58
|
+
expect {
|
|
59
|
+
subject.([1, 2, 3], min: 1, max: 2) { |i| false }
|
|
60
|
+
}.to raise_error TypeError
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it "raises TypeError when max is incorrect" do
|
|
64
|
+
expect {
|
|
65
|
+
subject.([1, 2, 3], min: 1, max: 2) { |i| true }
|
|
66
|
+
}.to raise_error TypeError
|
|
67
|
+
end
|
|
68
|
+
end # when :min and :max bounds args are both provided
|
|
69
|
+
|
|
70
|
+
end # spec file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
describe_spec_file(
|
|
2
|
+
spec_path: __FILE__,
|
|
3
|
+
module: NRSER,
|
|
4
|
+
method: :find_map,
|
|
5
|
+
) do
|
|
6
|
+
|
|
7
|
+
describe "when a result is found" do
|
|
8
|
+
it "should return the block result" do
|
|
9
|
+
expect(
|
|
10
|
+
subject.call( [1, 2, 3, 4] ) do |i|
|
|
11
|
+
if i.even?
|
|
12
|
+
"#{ i } is even!"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
).to eq "2 is even!"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
describe "when block returns `false`" do
|
|
21
|
+
it "should not be considered 'found'" do
|
|
22
|
+
expect(
|
|
23
|
+
subject.call( [1, 2, 3] ) { |i| false }
|
|
24
|
+
).to be nil
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
describe "when none found and `ifnone` provided" do
|
|
30
|
+
it "should call `ifnone` and return the response" do
|
|
31
|
+
expect(
|
|
32
|
+
subject.call( [], ->(){ 'blah' } ) { |i| false }
|
|
33
|
+
).to eq 'blah'
|
|
34
|
+
end
|
|
35
|
+
end # "when none found and `ifnone` provided"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
describe_spec_file(
|
|
2
|
+
spec_path: __FILE__,
|
|
3
|
+
module: NRSER,
|
|
4
|
+
method: :find_only,
|
|
5
|
+
) do
|
|
6
|
+
|
|
7
|
+
it "returns the element when only one is found" do
|
|
8
|
+
expect(
|
|
9
|
+
subject.call [1, 2, 3] { |i| i == 2 }
|
|
10
|
+
).to be 2
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "raises TypeError when more than one element is found" do
|
|
14
|
+
expect {
|
|
15
|
+
subject.call [1, 2, 3] { |i| i >= 2 }
|
|
16
|
+
}.to raise_error TypeError
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "raises TypeError when no elements are found" do
|
|
20
|
+
expect {
|
|
21
|
+
subject.call [1, 2, 3] { |i| false }
|
|
22
|
+
}.to raise_error TypeError
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end # spec file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
describe_spec_file(
|
|
2
|
+
spec_path: __FILE__,
|
|
3
|
+
module: NRSER,
|
|
4
|
+
method: :to_h_by,
|
|
5
|
+
) do
|
|
6
|
+
|
|
7
|
+
describe "when map does not result in duplicate keys" do
|
|
8
|
+
it "should succeed" do
|
|
9
|
+
expect(
|
|
10
|
+
subject.call %w{a b c}, &:ord
|
|
11
|
+
).to eq({
|
|
12
|
+
97 => 'a',
|
|
13
|
+
98 => 'b',
|
|
14
|
+
99 => 'c',
|
|
15
|
+
})
|
|
16
|
+
end
|
|
17
|
+
end #
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
describe "when map results in duplicate keys" do
|
|
21
|
+
it "should raise NRSER::ConflictError" do
|
|
22
|
+
expect {
|
|
23
|
+
subject.call( [1, 2, 3] ) { |i| i % 2 }
|
|
24
|
+
}.to raise_error NRSER::ConflictError
|
|
25
|
+
end
|
|
26
|
+
end # Duplicate keys
|
|
27
|
+
|
|
28
|
+
end # spec file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
1
|
describe NRSER::Meta::ClassAttrs do
|
|
4
2
|
# I'm writing this as I'm developing the module, so I'm going to walk through
|
|
5
3
|
# some of the motivation, features and differences from other approaches
|
|
@@ -13,7 +11,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
13
11
|
# Because any changes would global and RSpec seems to do things some-what
|
|
14
12
|
# asynchronously we need to use dynamic class creation, which is sub-optimal
|
|
15
13
|
# because it has subtle difference with normal definitions (@@ variable
|
|
16
|
-
# declaration being the major one I've hit do far), but it seems like the
|
|
14
|
+
# declaration being the major one I've hit do far), but it seems like the
|
|
17
15
|
# most reasonable way to go about it at the moment.
|
|
18
16
|
#
|
|
19
17
|
|
|
@@ -21,7 +19,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
21
19
|
Class.new do
|
|
22
20
|
include NRSER::Meta::ClassAttrs
|
|
23
21
|
|
|
24
|
-
# To compare, I'll also work with standard '@@' class variables and
|
|
22
|
+
# To compare, I'll also work with standard '@@' class variables and
|
|
25
23
|
# an standard attr_accessors added to the classes themselves.
|
|
26
24
|
|
|
27
25
|
# Normally this would be
|
|
@@ -43,7 +41,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
43
41
|
# I won't ever set this
|
|
44
42
|
class_attr_accessor :never_set
|
|
45
43
|
|
|
46
|
-
# I'll define this here, but won't set it from base
|
|
44
|
+
# I'll define this here, but won't set it from base
|
|
47
45
|
class_attr_accessor :def_in_base
|
|
48
46
|
|
|
49
47
|
# These will be set from here
|
|
@@ -88,7 +86,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
88
86
|
end
|
|
89
87
|
}
|
|
90
88
|
|
|
91
|
-
let(:child_2) {
|
|
89
|
+
let(:child_2) {
|
|
92
90
|
Class.new(base) do
|
|
93
91
|
end
|
|
94
92
|
}
|
|
@@ -109,7 +107,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
109
107
|
# don't (PROBLEM! examples) for class (@@) variables.
|
|
110
108
|
#
|
|
111
109
|
|
|
112
|
-
it "can access @@ variables from base and any subclass (OK)" do
|
|
110
|
+
it "can access @@ variables from base and any subclass (OK)" do
|
|
113
111
|
[base, child_1, child_1_1, child_2, child_2_1].each do |klass|
|
|
114
112
|
expect(
|
|
115
113
|
klass.class_variable_get :@@base_class_var
|
|
@@ -125,7 +123,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
125
123
|
base.class_variable_set :@@base_class_var, new_value
|
|
126
124
|
}
|
|
127
125
|
|
|
128
|
-
it "can access new value from base and any subclass (OK)" do
|
|
126
|
+
it "can access new value from base and any subclass (OK)" do
|
|
129
127
|
[base, child_1, child_1_1, child_2, child_2_1].each do |klass|
|
|
130
128
|
expect(
|
|
131
129
|
klass.class_variable_get :@@base_class_var
|
|
@@ -142,9 +140,9 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
142
140
|
child_1.class_variable_set :@@base_class_var, new_value
|
|
143
141
|
}
|
|
144
142
|
|
|
145
|
-
# This is the problem: changes to the value anywhere in the hierarchy
|
|
146
|
-
# are global to the hierarchy
|
|
147
|
-
it "reads that value from all classes (PROBLEM!)" do
|
|
143
|
+
# This is the problem: changes to the value anywhere in the hierarchy
|
|
144
|
+
# are global to the hierarchy
|
|
145
|
+
it "reads that value from all classes (PROBLEM!)" do
|
|
148
146
|
[base, child_1, child_1_1, child_2, child_2_1].each do |klass|
|
|
149
147
|
expect(
|
|
150
148
|
klass.class_variable_get :@@base_class_var
|
|
@@ -204,7 +202,7 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
204
202
|
base.set_in_base_1 = new_value
|
|
205
203
|
}
|
|
206
204
|
|
|
207
|
-
it "can access new value from base and any subclass" do
|
|
205
|
+
it "can access new value from base and any subclass" do
|
|
208
206
|
[base, child_1, child_1_1, child_2, child_2_1].each do |klass|
|
|
209
207
|
expect(klass.set_in_base_1).to be new_value
|
|
210
208
|
end
|
|
@@ -222,13 +220,13 @@ describe NRSER::Meta::ClassAttrs do
|
|
|
222
220
|
child_1.set_in_base_1 = new_value
|
|
223
221
|
}
|
|
224
222
|
|
|
225
|
-
it "reads the new value from that class and any subclasses" do
|
|
223
|
+
it "reads the new value from that class and any subclasses" do
|
|
226
224
|
[child_1, child_1_1].each do |klass|
|
|
227
225
|
expect(klass.set_in_base_1).to be new_value
|
|
228
226
|
end
|
|
229
227
|
end
|
|
230
228
|
|
|
231
|
-
it "reads the old value from any other classes" do
|
|
229
|
+
it "reads the old value from any other classes" do
|
|
232
230
|
[base, child_2, child_2_1].each do |klass|
|
|
233
231
|
expect(klass.set_in_base_1).to be :set_in_base_1_value
|
|
234
232
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -3,6 +3,7 @@ require 'cmds'
|
|
|
3
3
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
4
4
|
|
|
5
5
|
require 'nrser'
|
|
6
|
+
|
|
6
7
|
require 'nrser/logger'
|
|
7
8
|
require 'nrser/rspex'
|
|
8
9
|
|
|
@@ -116,7 +117,7 @@ shared_examples "make type" do | args: [],
|
|
|
116
117
|
subject.from_s s
|
|
117
118
|
}.to raise_error *NRSER.as_array( error )
|
|
118
119
|
end # raises an error
|
|
119
|
-
end #
|
|
120
|
+
end #
|
|
120
121
|
}
|
|
121
122
|
end # rejects
|
|
122
123
|
end
|
|
@@ -126,5 +127,3 @@ shared_examples "make type" do | args: [],
|
|
|
126
127
|
|
|
127
128
|
end # #call( ... )
|
|
128
129
|
end # Type maker method
|
|
129
|
-
|
|
130
|
-
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nrser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- nrser
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-01-
|
|
11
|
+
date: 2018-01-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,112 +16,124 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.16'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 1.16.1
|
|
20
23
|
type: :development
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.
|
|
29
|
+
version: '1.16'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 1.16.1
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: rake
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
|
-
- - "
|
|
37
|
+
- - "~>"
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
39
|
+
version: '12.3'
|
|
34
40
|
type: :development
|
|
35
41
|
prerelease: false
|
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
43
|
requirements:
|
|
38
|
-
- - "
|
|
44
|
+
- - "~>"
|
|
39
45
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
46
|
+
version: '12.3'
|
|
41
47
|
- !ruby/object:Gem::Dependency
|
|
42
48
|
name: rspec
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
|
-
- - "
|
|
51
|
+
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
53
|
+
version: '3.7'
|
|
48
54
|
type: :development
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
57
|
requirements:
|
|
52
|
-
- - "
|
|
58
|
+
- - "~>"
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
60
|
+
version: '3.7'
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: yard
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
58
64
|
requirements:
|
|
59
|
-
- - "
|
|
65
|
+
- - "~>"
|
|
60
66
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
67
|
+
version: 0.9.12
|
|
62
68
|
type: :development
|
|
63
69
|
prerelease: false
|
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
71
|
requirements:
|
|
66
|
-
- - "
|
|
72
|
+
- - "~>"
|
|
67
73
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
74
|
+
version: 0.9.12
|
|
69
75
|
- !ruby/object:Gem::Dependency
|
|
70
76
|
name: redcarpet
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
|
72
78
|
requirements:
|
|
73
|
-
- - "
|
|
79
|
+
- - "~>"
|
|
74
80
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
81
|
+
version: '3.4'
|
|
76
82
|
type: :development
|
|
77
83
|
prerelease: false
|
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
85
|
requirements:
|
|
80
|
-
- - "
|
|
86
|
+
- - "~>"
|
|
81
87
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
88
|
+
version: '3.4'
|
|
83
89
|
- !ruby/object:Gem::Dependency
|
|
84
90
|
name: github-markup
|
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
|
86
92
|
requirements:
|
|
87
|
-
- - "
|
|
93
|
+
- - "~>"
|
|
88
94
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
95
|
+
version: '1.6'
|
|
90
96
|
type: :development
|
|
91
97
|
prerelease: false
|
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
99
|
requirements:
|
|
94
|
-
- - "
|
|
100
|
+
- - "~>"
|
|
95
101
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
102
|
+
version: '1.6'
|
|
97
103
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
104
|
+
name: pry
|
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
|
100
106
|
requirements:
|
|
101
|
-
- - "
|
|
107
|
+
- - "~>"
|
|
102
108
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
109
|
+
version: 0.10.4
|
|
104
110
|
type: :development
|
|
105
111
|
prerelease: false
|
|
106
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
113
|
requirements:
|
|
108
|
-
- - "
|
|
114
|
+
- - "~>"
|
|
109
115
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
116
|
+
version: 0.10.4
|
|
111
117
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
118
|
+
name: cmds
|
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
|
114
120
|
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.0'
|
|
115
124
|
- - ">="
|
|
116
125
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
126
|
+
version: 0.2.4
|
|
118
127
|
type: :development
|
|
119
128
|
prerelease: false
|
|
120
129
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
130
|
requirements:
|
|
131
|
+
- - "~>"
|
|
132
|
+
- !ruby/object:Gem::Version
|
|
133
|
+
version: '0.0'
|
|
122
134
|
- - ">="
|
|
123
135
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
136
|
+
version: 0.2.4
|
|
125
137
|
description:
|
|
126
138
|
email:
|
|
127
139
|
- neil@neilsouza.com
|
|
@@ -132,23 +144,50 @@ files:
|
|
|
132
144
|
- LICENSE.txt
|
|
133
145
|
- README.md
|
|
134
146
|
- lib/nrser.rb
|
|
135
|
-
- lib/nrser/array.rb
|
|
136
|
-
- lib/nrser/binding.rb
|
|
137
147
|
- lib/nrser/collection.rb
|
|
138
|
-
- lib/nrser/enumerable.rb
|
|
139
148
|
- lib/nrser/errors.rb
|
|
140
|
-
- lib/nrser/
|
|
141
|
-
- lib/nrser/
|
|
142
|
-
- lib/nrser/
|
|
143
|
-
- lib/nrser/
|
|
144
|
-
- lib/nrser/
|
|
145
|
-
- lib/nrser/
|
|
146
|
-
- lib/nrser/
|
|
147
|
-
- lib/nrser/
|
|
148
|
-
- lib/nrser/
|
|
149
|
-
- lib/nrser/
|
|
149
|
+
- lib/nrser/ext.rb
|
|
150
|
+
- lib/nrser/ext/enumerable.rb
|
|
151
|
+
- lib/nrser/ext/pathname.rb
|
|
152
|
+
- lib/nrser/ext/tree.rb
|
|
153
|
+
- lib/nrser/functions.rb
|
|
154
|
+
- lib/nrser/functions/array.rb
|
|
155
|
+
- lib/nrser/functions/binding.rb
|
|
156
|
+
- lib/nrser/functions/enumerable.rb
|
|
157
|
+
- lib/nrser/functions/enumerable/find_all_map.rb
|
|
158
|
+
- lib/nrser/functions/enumerable/find_map.rb
|
|
159
|
+
- lib/nrser/functions/exception.rb
|
|
160
|
+
- lib/nrser/functions/hash.rb
|
|
161
|
+
- lib/nrser/functions/hash/bury.rb
|
|
162
|
+
- lib/nrser/functions/hash/deep_merge.rb
|
|
163
|
+
- lib/nrser/functions/hash/except_keys.rb
|
|
164
|
+
- lib/nrser/functions/hash/guess_label_key_type.rb
|
|
165
|
+
- lib/nrser/functions/hash/slice_keys.rb
|
|
166
|
+
- lib/nrser/functions/hash/stringify_keys.rb
|
|
167
|
+
- lib/nrser/functions/hash/symbolize_keys.rb
|
|
168
|
+
- lib/nrser/functions/hash/transform_keys.rb
|
|
169
|
+
- lib/nrser/functions/merge_by.rb
|
|
170
|
+
- lib/nrser/functions/object.rb
|
|
171
|
+
- lib/nrser/functions/object/as_array.rb
|
|
172
|
+
- lib/nrser/functions/object/as_hash.rb
|
|
173
|
+
- lib/nrser/functions/object/truthy.rb
|
|
174
|
+
- lib/nrser/functions/open_struct.rb
|
|
175
|
+
- lib/nrser/functions/path.rb
|
|
176
|
+
- lib/nrser/functions/proc.rb
|
|
177
|
+
- lib/nrser/functions/string.rb
|
|
178
|
+
- lib/nrser/functions/string/looks_like.rb
|
|
179
|
+
- lib/nrser/functions/text.rb
|
|
180
|
+
- lib/nrser/functions/text/indentation.rb
|
|
181
|
+
- lib/nrser/functions/text/lines.rb
|
|
182
|
+
- lib/nrser/functions/text/word_wrap.rb
|
|
183
|
+
- lib/nrser/functions/tree.rb
|
|
184
|
+
- lib/nrser/functions/tree/each_branch.rb
|
|
185
|
+
- lib/nrser/functions/tree/leaves.rb
|
|
186
|
+
- lib/nrser/functions/tree/map_branches.rb
|
|
187
|
+
- lib/nrser/functions/tree/map_leaves.rb
|
|
188
|
+
- lib/nrser/functions/tree/map_tree.rb
|
|
189
|
+
- lib/nrser/functions/tree/transform.rb
|
|
150
190
|
- lib/nrser/logger.rb
|
|
151
|
-
- lib/nrser/merge_by.rb
|
|
152
191
|
- lib/nrser/message.rb
|
|
153
192
|
- lib/nrser/meta.rb
|
|
154
193
|
- lib/nrser/meta/class_attrs.rb
|
|
@@ -156,16 +195,9 @@ files:
|
|
|
156
195
|
- lib/nrser/meta/props/base.rb
|
|
157
196
|
- lib/nrser/meta/props/prop.rb
|
|
158
197
|
- lib/nrser/no_arg.rb
|
|
159
|
-
- lib/nrser/object.rb
|
|
160
|
-
- lib/nrser/object/as_array.rb
|
|
161
|
-
- lib/nrser/object/as_hash.rb
|
|
162
|
-
- lib/nrser/object/truthy.rb
|
|
163
|
-
- lib/nrser/open_struct.rb
|
|
164
|
-
- lib/nrser/proc.rb
|
|
165
198
|
- lib/nrser/refinements.rb
|
|
166
199
|
- lib/nrser/refinements/array.rb
|
|
167
200
|
- lib/nrser/refinements/binding.rb
|
|
168
|
-
- lib/nrser/refinements/enumerable.rb
|
|
169
201
|
- lib/nrser/refinements/enumerator.rb
|
|
170
202
|
- lib/nrser/refinements/exception.rb
|
|
171
203
|
- lib/nrser/refinements/hash.rb
|
|
@@ -175,25 +207,11 @@ files:
|
|
|
175
207
|
- lib/nrser/refinements/set.rb
|
|
176
208
|
- lib/nrser/refinements/string.rb
|
|
177
209
|
- lib/nrser/refinements/symbol.rb
|
|
178
|
-
- lib/nrser/refinements/tree.rb
|
|
179
210
|
- lib/nrser/refinements/types.rb
|
|
180
211
|
- lib/nrser/rspex.rb
|
|
181
212
|
- lib/nrser/rspex/shared_examples.rb
|
|
182
|
-
- lib/nrser/string.rb
|
|
183
|
-
- lib/nrser/string/looks_like.rb
|
|
184
213
|
- lib/nrser/temp/unicode_math.rb
|
|
185
214
|
- lib/nrser/temp/where.rb
|
|
186
|
-
- lib/nrser/text.rb
|
|
187
|
-
- lib/nrser/text/indentation.rb
|
|
188
|
-
- lib/nrser/text/lines.rb
|
|
189
|
-
- lib/nrser/text/word_wrap.rb
|
|
190
|
-
- lib/nrser/tree.rb
|
|
191
|
-
- lib/nrser/tree/each_branch.rb
|
|
192
|
-
- lib/nrser/tree/leaves.rb
|
|
193
|
-
- lib/nrser/tree/map_branches.rb
|
|
194
|
-
- lib/nrser/tree/map_leaves.rb
|
|
195
|
-
- lib/nrser/tree/map_tree.rb
|
|
196
|
-
- lib/nrser/tree/transform.rb
|
|
197
215
|
- lib/nrser/types.rb
|
|
198
216
|
- lib/nrser/types/any.rb
|
|
199
217
|
- lib/nrser/types/array.rb
|
|
@@ -221,13 +239,32 @@ files:
|
|
|
221
239
|
- lib/nrser/version.rb
|
|
222
240
|
- spec/nrser/collection/each_spec.rb
|
|
223
241
|
- spec/nrser/collection/map_spec.rb
|
|
224
|
-
- spec/nrser/enumerable_spec.rb
|
|
225
242
|
- spec/nrser/errors/abstract_method_error_spec.rb
|
|
226
|
-
- spec/nrser/
|
|
227
|
-
- spec/nrser/
|
|
228
|
-
- spec/nrser/
|
|
229
|
-
- spec/nrser/
|
|
230
|
-
- spec/nrser/
|
|
243
|
+
- spec/nrser/functions/binding/template_spec.rb
|
|
244
|
+
- spec/nrser/functions/enumerable/find_all_map_spec.rb
|
|
245
|
+
- spec/nrser/functions/enumerable/find_bounded_spec.rb
|
|
246
|
+
- spec/nrser/functions/enumerable/find_map_spec.rb
|
|
247
|
+
- spec/nrser/functions/enumerable/find_only_spec.rb
|
|
248
|
+
- spec/nrser/functions/enumerable/to_h_by_spec.rb
|
|
249
|
+
- spec/nrser/functions/exception/format_exception_spec.rb
|
|
250
|
+
- spec/nrser/functions/hash/bury_spec.rb
|
|
251
|
+
- spec/nrser/functions/hash/guess_label_key_type_spec.rb
|
|
252
|
+
- spec/nrser/functions/hash_spec.rb
|
|
253
|
+
- spec/nrser/functions/merge_by_spec.rb
|
|
254
|
+
- spec/nrser/functions/object/truthy_spec.rb
|
|
255
|
+
- spec/nrser/functions/open_struct_spec.rb
|
|
256
|
+
- spec/nrser/functions/string/common_prefix_spec.rb
|
|
257
|
+
- spec/nrser/functions/string/looks_like_spec.rb
|
|
258
|
+
- spec/nrser/functions/string/truncate_spec.rb
|
|
259
|
+
- spec/nrser/functions/text/dedent/gotchas_spec.rb
|
|
260
|
+
- spec/nrser/functions/text/dedent_spec.rb
|
|
261
|
+
- spec/nrser/functions/text/indent_spec.rb
|
|
262
|
+
- spec/nrser/functions/tree/each_branch_spec.rb
|
|
263
|
+
- spec/nrser/functions/tree/leaves_spec.rb
|
|
264
|
+
- spec/nrser/functions/tree/map_branch_spec.rb
|
|
265
|
+
- spec/nrser/functions/tree/map_tree_spec.rb
|
|
266
|
+
- spec/nrser/functions/tree/transform_spec.rb
|
|
267
|
+
- spec/nrser/functions/tree/transformer_spec.rb
|
|
231
268
|
- spec/nrser/logger/dest_spec.rb
|
|
232
269
|
- spec/nrser/logger/die_spec.rb
|
|
233
270
|
- spec/nrser/logger/install_spec.rb
|
|
@@ -236,12 +273,10 @@ files:
|
|
|
236
273
|
- spec/nrser/logger/level_sym_spec.rb
|
|
237
274
|
- spec/nrser/logger/send_log_spec.rb
|
|
238
275
|
- spec/nrser/logger/use_spec.rb
|
|
239
|
-
- spec/nrser/merge_by_spec.rb
|
|
240
276
|
- spec/nrser/meta/class_attrs_spec.rb
|
|
241
277
|
- spec/nrser/meta/props/to_and_from_data_spec.rb
|
|
242
278
|
- spec/nrser/meta/props_spec.rb
|
|
243
279
|
- spec/nrser/op/message_spec.rb
|
|
244
|
-
- spec/nrser/open_struct_spec.rb
|
|
245
280
|
- spec/nrser/refinements/array_spec.rb
|
|
246
281
|
- spec/nrser/refinements/erb_spec.rb
|
|
247
282
|
- spec/nrser/refinements/format_exception_spec.rb
|
|
@@ -251,19 +286,6 @@ files:
|
|
|
251
286
|
- spec/nrser/refinements/pathname_spec.rb
|
|
252
287
|
- spec/nrser/refinements/set_spec.rb
|
|
253
288
|
- spec/nrser/refinements/truncate_spec.rb
|
|
254
|
-
- spec/nrser/string/common_prefix_spec.rb
|
|
255
|
-
- spec/nrser/string/looks_like_spec.rb
|
|
256
|
-
- spec/nrser/template_spec.rb
|
|
257
|
-
- spec/nrser/text/dedent/gotchas_spec.rb
|
|
258
|
-
- spec/nrser/text/dedent_spec.rb
|
|
259
|
-
- spec/nrser/tree/each_branch_spec.rb
|
|
260
|
-
- spec/nrser/tree/leaves_spec.rb
|
|
261
|
-
- spec/nrser/tree/map_branch_spec.rb
|
|
262
|
-
- spec/nrser/tree/map_tree_spec.rb
|
|
263
|
-
- spec/nrser/tree/transform_spec.rb
|
|
264
|
-
- spec/nrser/tree/transformer_spec.rb
|
|
265
|
-
- spec/nrser/truncate_spec.rb
|
|
266
|
-
- spec/nrser/truthy_spec.rb
|
|
267
289
|
- spec/nrser/types/array_spec.rb
|
|
268
290
|
- spec/nrser/types/attrs_spec.rb
|
|
269
291
|
- spec/nrser/types/combinators_spec.rb
|
|
@@ -288,7 +310,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
288
310
|
requirements:
|
|
289
311
|
- - ">="
|
|
290
312
|
- !ruby/object:Gem::Version
|
|
291
|
-
version:
|
|
313
|
+
version: 2.3.0
|
|
292
314
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
293
315
|
requirements:
|
|
294
316
|
- - ">="
|
|
@@ -303,13 +325,32 @@ summary: basic ruby utils i use in a lot of stuff.
|
|
|
303
325
|
test_files:
|
|
304
326
|
- spec/nrser/collection/each_spec.rb
|
|
305
327
|
- spec/nrser/collection/map_spec.rb
|
|
306
|
-
- spec/nrser/enumerable_spec.rb
|
|
307
328
|
- spec/nrser/errors/abstract_method_error_spec.rb
|
|
308
|
-
- spec/nrser/
|
|
309
|
-
- spec/nrser/
|
|
310
|
-
- spec/nrser/
|
|
311
|
-
- spec/nrser/
|
|
312
|
-
- spec/nrser/
|
|
329
|
+
- spec/nrser/functions/binding/template_spec.rb
|
|
330
|
+
- spec/nrser/functions/enumerable/find_all_map_spec.rb
|
|
331
|
+
- spec/nrser/functions/enumerable/find_bounded_spec.rb
|
|
332
|
+
- spec/nrser/functions/enumerable/find_map_spec.rb
|
|
333
|
+
- spec/nrser/functions/enumerable/find_only_spec.rb
|
|
334
|
+
- spec/nrser/functions/enumerable/to_h_by_spec.rb
|
|
335
|
+
- spec/nrser/functions/exception/format_exception_spec.rb
|
|
336
|
+
- spec/nrser/functions/hash/bury_spec.rb
|
|
337
|
+
- spec/nrser/functions/hash/guess_label_key_type_spec.rb
|
|
338
|
+
- spec/nrser/functions/hash_spec.rb
|
|
339
|
+
- spec/nrser/functions/merge_by_spec.rb
|
|
340
|
+
- spec/nrser/functions/object/truthy_spec.rb
|
|
341
|
+
- spec/nrser/functions/open_struct_spec.rb
|
|
342
|
+
- spec/nrser/functions/string/common_prefix_spec.rb
|
|
343
|
+
- spec/nrser/functions/string/looks_like_spec.rb
|
|
344
|
+
- spec/nrser/functions/string/truncate_spec.rb
|
|
345
|
+
- spec/nrser/functions/text/dedent/gotchas_spec.rb
|
|
346
|
+
- spec/nrser/functions/text/dedent_spec.rb
|
|
347
|
+
- spec/nrser/functions/text/indent_spec.rb
|
|
348
|
+
- spec/nrser/functions/tree/each_branch_spec.rb
|
|
349
|
+
- spec/nrser/functions/tree/leaves_spec.rb
|
|
350
|
+
- spec/nrser/functions/tree/map_branch_spec.rb
|
|
351
|
+
- spec/nrser/functions/tree/map_tree_spec.rb
|
|
352
|
+
- spec/nrser/functions/tree/transform_spec.rb
|
|
353
|
+
- spec/nrser/functions/tree/transformer_spec.rb
|
|
313
354
|
- spec/nrser/logger/dest_spec.rb
|
|
314
355
|
- spec/nrser/logger/die_spec.rb
|
|
315
356
|
- spec/nrser/logger/install_spec.rb
|
|
@@ -318,12 +359,10 @@ test_files:
|
|
|
318
359
|
- spec/nrser/logger/level_sym_spec.rb
|
|
319
360
|
- spec/nrser/logger/send_log_spec.rb
|
|
320
361
|
- spec/nrser/logger/use_spec.rb
|
|
321
|
-
- spec/nrser/merge_by_spec.rb
|
|
322
362
|
- spec/nrser/meta/class_attrs_spec.rb
|
|
323
363
|
- spec/nrser/meta/props/to_and_from_data_spec.rb
|
|
324
364
|
- spec/nrser/meta/props_spec.rb
|
|
325
365
|
- spec/nrser/op/message_spec.rb
|
|
326
|
-
- spec/nrser/open_struct_spec.rb
|
|
327
366
|
- spec/nrser/refinements/array_spec.rb
|
|
328
367
|
- spec/nrser/refinements/erb_spec.rb
|
|
329
368
|
- spec/nrser/refinements/format_exception_spec.rb
|
|
@@ -333,19 +372,6 @@ test_files:
|
|
|
333
372
|
- spec/nrser/refinements/pathname_spec.rb
|
|
334
373
|
- spec/nrser/refinements/set_spec.rb
|
|
335
374
|
- spec/nrser/refinements/truncate_spec.rb
|
|
336
|
-
- spec/nrser/string/common_prefix_spec.rb
|
|
337
|
-
- spec/nrser/string/looks_like_spec.rb
|
|
338
|
-
- spec/nrser/template_spec.rb
|
|
339
|
-
- spec/nrser/text/dedent/gotchas_spec.rb
|
|
340
|
-
- spec/nrser/text/dedent_spec.rb
|
|
341
|
-
- spec/nrser/tree/each_branch_spec.rb
|
|
342
|
-
- spec/nrser/tree/leaves_spec.rb
|
|
343
|
-
- spec/nrser/tree/map_branch_spec.rb
|
|
344
|
-
- spec/nrser/tree/map_tree_spec.rb
|
|
345
|
-
- spec/nrser/tree/transform_spec.rb
|
|
346
|
-
- spec/nrser/tree/transformer_spec.rb
|
|
347
|
-
- spec/nrser/truncate_spec.rb
|
|
348
|
-
- spec/nrser/truthy_spec.rb
|
|
349
375
|
- spec/nrser/types/array_spec.rb
|
|
350
376
|
- spec/nrser/types/attrs_spec.rb
|
|
351
377
|
- spec/nrser/types/combinators_spec.rb
|