nrser 0.3.9 → 0.3.10
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/char/alpha_numeric_sub.rb +9 -19
- data/lib/nrser/char/special.rb +5 -5
- data/lib/nrser/core_ext/array.rb +36 -13
- data/lib/nrser/core_ext/enumerable.rb +1 -0
- data/lib/nrser/core_ext/enumerable/find_map.rb +1 -1
- data/lib/nrser/core_ext/hash/bury.rb +3 -0
- data/lib/nrser/core_ext/hash/extract_values_at.rb +2 -2
- data/lib/nrser/core_ext/method/full_name.rb +1 -1
- data/lib/nrser/core_ext/module/method_objects.rb +1 -1
- data/lib/nrser/core_ext/module/source_locations.rb +27 -15
- data/lib/nrser/core_ext/object/lazy_var.rb +1 -1
- data/lib/nrser/core_ext/pathname.rb +67 -12
- data/lib/nrser/core_ext/pathname/subpath.rb +86 -0
- data/lib/nrser/core_ext/string.rb +28 -1
- data/lib/nrser/core_ext/symbol.rb +11 -12
- data/lib/nrser/errors/README.md +154 -0
- data/lib/nrser/errors/attr_error.rb +146 -53
- data/lib/nrser/errors/count_error.rb +61 -12
- data/lib/nrser/errors/nicer_error.rb +42 -71
- data/lib/nrser/errors/value_error.rb +53 -58
- data/lib/nrser/functions.rb +0 -2
- data/lib/nrser/functions/enumerable.rb +5 -17
- data/lib/nrser/functions/enumerable/associate.rb +14 -5
- data/lib/nrser/functions/enumerable/find_all_map.rb +1 -1
- data/lib/nrser/functions/enumerable/include_slice/array_include_slice.rb +1 -1
- data/lib/nrser/functions/hash/bury.rb +2 -12
- data/lib/nrser/functions/merge_by.rb +2 -2
- data/lib/nrser/functions/module/method_objects.rb +2 -2
- data/lib/nrser/functions/path.rb +185 -165
- data/lib/nrser/functions/path/normalized.rb +84 -0
- data/lib/nrser/functions/string.rb +4 -4
- data/lib/nrser/functions/text/README.md +4 -0
- data/lib/nrser/functions/text/format.rb +53 -0
- data/lib/nrser/functions/text/indentation.rb +6 -6
- data/lib/nrser/functions/text/word_wrap.rb +2 -2
- data/lib/nrser/functions/tree/map_leaves.rb +3 -3
- data/lib/nrser/functions/tree/map_tree.rb +2 -2
- data/lib/nrser/functions/tree/transform.rb +1 -18
- data/lib/nrser/gem_ext/README.md +4 -0
- data/lib/nrser/labs/README.md +8 -0
- data/lib/nrser/labs/config.rb +163 -0
- data/lib/nrser/labs/i8.rb +49 -159
- data/lib/nrser/labs/i8/struct.rb +167 -0
- data/lib/nrser/labs/i8/struct/hash.rb +140 -0
- data/lib/nrser/labs/i8/struct/vector.rb +149 -0
- data/lib/nrser/labs/i8/surjection.rb +211 -0
- data/lib/nrser/labs/lots/consumer.rb +19 -0
- data/lib/nrser/labs/lots/parser.rb +21 -1
- data/lib/nrser/labs/stash.rb +4 -4
- data/lib/nrser/log.rb +25 -21
- data/lib/nrser/log/appender/sync.rb +15 -11
- data/lib/nrser/log/formatters/color.rb +0 -3
- data/lib/nrser/log/formatters/mixin.rb +4 -4
- data/lib/nrser/log/logger.rb +54 -6
- data/lib/nrser/log/mixin.rb +2 -1
- data/lib/nrser/log/plugin.rb +6 -6
- data/lib/nrser/log/types.rb +46 -29
- data/lib/nrser/mean_streak.rb +0 -8
- data/lib/nrser/mean_streak/document.rb +1 -4
- data/lib/nrser/message.rb +3 -3
- data/lib/nrser/meta/README.md +4 -0
- data/lib/nrser/meta/lazy_attr.rb +2 -2
- data/lib/nrser/meta/source/location.rb +1 -1
- data/lib/nrser/props.rb +34 -3
- data/lib/nrser/props/class_methods.rb +2 -1
- data/lib/nrser/props/instance_methods.rb +9 -9
- data/lib/nrser/props/metadata.rb +4 -12
- data/lib/nrser/props/mutable/stash.rb +5 -2
- data/lib/nrser/props/prop.rb +10 -19
- data/lib/nrser/rspex.rb +1 -20
- data/lib/nrser/rspex/example_group/describe_attribute.rb +3 -0
- data/lib/nrser/rspex/example_group/describe_called_with.rb +9 -4
- data/lib/nrser/rspex/example_group/describe_case.rb +1 -0
- data/lib/nrser/rspex/example_group/describe_class.rb +2 -0
- data/lib/nrser/rspex/example_group/describe_group.rb +1 -1
- data/lib/nrser/rspex/example_group/describe_instance.rb +3 -1
- data/lib/nrser/rspex/example_group/describe_message.rb +1 -1
- data/lib/nrser/rspex/example_group/describe_method.rb +64 -30
- data/lib/nrser/rspex/example_group/describe_response_to.rb +1 -1
- data/lib/nrser/rspex/example_group/describe_section.rb +4 -1
- data/lib/nrser/rspex/example_group/describe_sent_to.rb +1 -1
- data/lib/nrser/rspex/example_group/describe_setup.rb +1 -0
- data/lib/nrser/rspex/example_group/describe_source_file.rb +1 -1
- data/lib/nrser/rspex/example_group/describe_spec_file.rb +4 -2
- data/lib/nrser/rspex/example_group/describe_when.rb +2 -1
- data/lib/nrser/rspex/example_group/describe_x.rb +5 -5
- data/lib/nrser/rspex/format.rb +0 -15
- data/lib/nrser/sugar/method_missing_forwarder.rb +3 -3
- data/lib/nrser/sys/env/path.rb +2 -28
- data/lib/nrser/types.rb +63 -12
- data/lib/nrser/types/README.md +76 -0
- data/lib/nrser/types/arrays.rb +192 -137
- data/lib/nrser/types/attributes.rb +269 -0
- data/lib/nrser/types/booleans.rb +134 -83
- data/lib/nrser/types/bounded.rb +110 -47
- data/lib/nrser/types/collections.rb +119 -0
- data/lib/nrser/types/combinators.rb +283 -196
- data/lib/nrser/types/doc/display_table.md +66 -0
- data/lib/nrser/types/eqiuvalent.rb +91 -0
- data/lib/nrser/types/errors/check_error.rb +5 -11
- data/lib/nrser/types/errors/from_string_error.rb +3 -3
- data/lib/nrser/types/factory.rb +287 -20
- data/lib/nrser/types/hashes.rb +227 -179
- data/lib/nrser/types/in.rb +73 -36
- data/lib/nrser/types/is.rb +67 -60
- data/lib/nrser/types/is_a.rb +141 -84
- data/lib/nrser/types/labels.rb +45 -16
- data/lib/nrser/types/maybe.rb +6 -3
- data/lib/nrser/types/nil.rb +64 -27
- data/lib/nrser/types/not.rb +92 -34
- data/lib/nrser/types/numbers.rb +224 -169
- data/lib/nrser/types/pairs.rb +113 -89
- data/lib/nrser/types/paths.rb +250 -137
- data/lib/nrser/types/responds.rb +167 -89
- data/lib/nrser/types/selector.rb +234 -0
- data/lib/nrser/types/shape.rb +136 -65
- data/lib/nrser/types/strings.rb +189 -63
- data/lib/nrser/types/symbols.rb +83 -33
- data/lib/nrser/types/top.rb +89 -0
- data/lib/nrser/types/tuples.rb +134 -98
- data/lib/nrser/types/type.rb +617 -505
- data/lib/nrser/types/when.rb +123 -98
- data/lib/nrser/types/where.rb +182 -91
- data/lib/nrser/version.rb +1 -1
- data/spec/lib/nrser/core_ext/pathname/subpath_spec.rb +22 -0
- data/spec/lib/nrser/errors/attr_error_spec.rb +68 -0
- data/spec/lib/nrser/errors/count_error_spec.rb +69 -0
- data/spec/lib/nrser/functions/path/normalize_path_spec.rb +35 -0
- data/spec/lib/nrser/functions/tree/map_tree_spec.rb +74 -96
- data/spec/lib/nrser/functions/tree/transform_spec.rb +11 -11
- data/spec/lib/nrser/labs/config_spec.rb +22 -0
- data/spec/lib/nrser/labs/i8/struct_spec.rb +39 -0
- data/spec/lib/nrser/types/display_spec.rb +50 -0
- data/spec/lib/nrser/types/paths_spec.rb +16 -10
- data/spec/lib/nrser/types/selector_spec.rb +125 -0
- data/spec/spec_helper.rb +4 -5
- metadata +105 -22
- data/lib/nrser/types/any.rb +0 -41
- data/lib/nrser/types/attrs.rb +0 -213
- data/lib/nrser/types/trees.rb +0 -42
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'nrser/labs/config'
|
2
|
+
|
3
|
+
describe_spec_file(
|
4
|
+
spec_path: __FILE__,
|
5
|
+
class: NRSER::Config,
|
6
|
+
labs: true, # run with `LABS=1 rspec ...` to include
|
7
|
+
) do
|
8
|
+
|
9
|
+
|
10
|
+
describe_section "basic shit" do
|
11
|
+
# ========================================================================
|
12
|
+
|
13
|
+
subject { described_class.new( {x: 1, y: 2}, {y: 3, z: 4} ) }
|
14
|
+
|
15
|
+
it do
|
16
|
+
is_expected.to include x: 1, y: 3, z: 4
|
17
|
+
end
|
18
|
+
|
19
|
+
end # section basic shit
|
20
|
+
# ************************************************************************
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'nrser/labs/i8/struct'
|
2
|
+
|
3
|
+
require 'nrser/refinements/types'
|
4
|
+
using NRSER::Types
|
5
|
+
|
6
|
+
SPEC_FILE(
|
7
|
+
spec_path: __FILE__,
|
8
|
+
module: I8::Struct,
|
9
|
+
) do
|
10
|
+
|
11
|
+
CASE "Extend a {I8::Struct} and add methods" do
|
12
|
+
SETUP "Create a rectangle class based on an {I8::Struct}" do
|
13
|
+
|
14
|
+
class NRSER::TestFixtures::I8StructRectangle \
|
15
|
+
< I8::Struct.new( width: t.non_neg_int, length: t.non_neg_int )
|
16
|
+
|
17
|
+
def area
|
18
|
+
width * length
|
19
|
+
end
|
20
|
+
|
21
|
+
end # class NRSER::TestFixtures::I8StructRectangle
|
22
|
+
|
23
|
+
CLASS NRSER::TestFixtures::I8StructRectangle do
|
24
|
+
|
25
|
+
it "is a subclass of {I8::Struct::Hash}" do
|
26
|
+
expect( I8::Struct::Hash > subject ).to be true; end
|
27
|
+
|
28
|
+
it "includes {I8::Struct}" do
|
29
|
+
expect( I8::Struct > subject ).to be true; end
|
30
|
+
|
31
|
+
INSTANCE width: 2, length: 3 do
|
32
|
+
it { is_expected.
|
33
|
+
to have_attributes width: 2, length: 3, area: 6 }; end
|
34
|
+
end
|
35
|
+
|
36
|
+
end # SETUP
|
37
|
+
end # CASE
|
38
|
+
|
39
|
+
end # SPEC FILE
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'commonmarker'
|
2
|
+
|
3
|
+
SPEC_FILE(
|
4
|
+
spec_path: __FILE__,
|
5
|
+
module: NRSER::Types,
|
6
|
+
description: "Check examples in //lib/nrser/types/doc/display_table.md",
|
7
|
+
) do
|
8
|
+
|
9
|
+
path = NRSER::ROOT.join 'lib', 'nrser', 'types', 'doc', 'display_table.md'
|
10
|
+
source = path.read
|
11
|
+
doc = CommonMarker.render_doc source, :DEFAULT, [ :table ]
|
12
|
+
|
13
|
+
table_node = doc.walk.find { |node| node.type == :table }
|
14
|
+
|
15
|
+
table_contents = table_node.each.map do |row|
|
16
|
+
row.each.map do |col|
|
17
|
+
col.first.string_content
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
table_header = table_contents[0]
|
22
|
+
table_body = table_contents[1..-1]
|
23
|
+
|
24
|
+
hashes = table_body.map { |row|
|
25
|
+
row.each_with_index.map { |contents, index|
|
26
|
+
[ table_header[index], contents ]
|
27
|
+
}.to_h
|
28
|
+
}
|
29
|
+
|
30
|
+
def t
|
31
|
+
NRSER::Types
|
32
|
+
end
|
33
|
+
|
34
|
+
hashes.each do |hash|
|
35
|
+
describe hash["source"] do
|
36
|
+
subject { eval hash["source"] }
|
37
|
+
|
38
|
+
hash.each do |col_name, value|
|
39
|
+
if col_name.start_with? '#'
|
40
|
+
method_name = col_name[1..-1].to_sym
|
41
|
+
|
42
|
+
describe_attr method_name do
|
43
|
+
it { is_expected.to eq value }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end # SPEC_FILE
|
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
SPEC_FILE(
|
2
2
|
spec_path: __FILE__,
|
3
3
|
source_file: 'nrser/types/paths.rb',
|
4
4
|
module: NRSER::Types,
|
5
5
|
) do
|
6
6
|
|
7
|
-
|
7
|
+
METHOD :dir_path do
|
8
8
|
include_examples 'make type',
|
9
9
|
accepts: [
|
10
10
|
'.',
|
@@ -20,10 +20,10 @@ describe_spec_file(
|
|
20
20
|
Pathname.getwd => Pathname.getwd.to_s,
|
21
21
|
}
|
22
22
|
|
23
|
-
end #
|
23
|
+
end # METHOD .dir_path
|
24
24
|
|
25
25
|
|
26
|
-
|
26
|
+
METHOD :file_path do
|
27
27
|
|
28
28
|
include_examples 'make type',
|
29
29
|
accepts: [
|
@@ -44,7 +44,7 @@ describe_spec_file(
|
|
44
44
|
}
|
45
45
|
}
|
46
46
|
|
47
|
-
|
47
|
+
WHEN "custom name" do
|
48
48
|
include_examples 'make type',
|
49
49
|
args: [ name: 'CustomType' ],
|
50
50
|
|
@@ -65,12 +65,12 @@ describe_spec_file(
|
|
65
65
|
}
|
66
66
|
}
|
67
67
|
}
|
68
|
-
end # custom name
|
68
|
+
end # WHEN custom name
|
69
69
|
|
70
|
-
end #
|
70
|
+
end # METHOD .dir_path
|
71
71
|
|
72
72
|
|
73
|
-
|
73
|
+
METHOD :path_seg do
|
74
74
|
include_examples 'make type',
|
75
75
|
accepts: [
|
76
76
|
'hey',
|
@@ -89,6 +89,12 @@ describe_spec_file(
|
|
89
89
|
}
|
90
90
|
}
|
91
91
|
|
92
|
-
end #
|
92
|
+
end # METHOD .path_seg
|
93
|
+
|
94
|
+
|
95
|
+
METHOD :tilde_path do
|
96
|
+
|
97
|
+
end # METHOD .tilde_path Description
|
98
|
+
|
93
99
|
|
94
|
-
end
|
100
|
+
end # SPEC_FILE
|
@@ -0,0 +1,125 @@
|
|
1
|
+
require 'nrser/core_ext/symbol'
|
2
|
+
|
3
|
+
require 'nrser/refinements/types'
|
4
|
+
using NRSER::Types
|
5
|
+
|
6
|
+
|
7
|
+
SPEC_FILE \
|
8
|
+
spec_path: __FILE__,
|
9
|
+
module: NRSER::Types,
|
10
|
+
method: :selector,
|
11
|
+
description: "Using selector types in Enumerable#select" \
|
12
|
+
do
|
13
|
+
|
14
|
+
data = [
|
15
|
+
{
|
16
|
+
item: "journal",
|
17
|
+
qty: 25,
|
18
|
+
size: { h: 14, w: 21, uom: "cm" },
|
19
|
+
status: "A",
|
20
|
+
groups: [ 'a', 'b' ]
|
21
|
+
},
|
22
|
+
|
23
|
+
{
|
24
|
+
item: "notebook",
|
25
|
+
qty: 50,
|
26
|
+
size: { h: 8.5, w: 11, uom: "in" },
|
27
|
+
status: "A",
|
28
|
+
groups: [ 'b', 'c' ],
|
29
|
+
},
|
30
|
+
|
31
|
+
{
|
32
|
+
item: "paper",
|
33
|
+
qty: 100,
|
34
|
+
size: { h: 8.5, w: 11, uom: "in" },
|
35
|
+
status: "D",
|
36
|
+
groups: [ 'a', 'c' ],
|
37
|
+
},
|
38
|
+
|
39
|
+
{
|
40
|
+
item: "planner",
|
41
|
+
qty: 75,
|
42
|
+
size: { h: 22.85, w: 30, uom: "cm" },
|
43
|
+
status: "D",
|
44
|
+
groups: [ 'd', 'e' ],
|
45
|
+
},
|
46
|
+
|
47
|
+
{
|
48
|
+
item: "postcard",
|
49
|
+
qty: 45,
|
50
|
+
size: { h: 10, w: 15.25, uom: "cm" },
|
51
|
+
status: "A",
|
52
|
+
groups: [ 'a' ],
|
53
|
+
},
|
54
|
+
]
|
55
|
+
|
56
|
+
subject { data.select( &selector ).map( &[:item] ).to_set }
|
57
|
+
|
58
|
+
CASE "querying for group membership" do
|
59
|
+
|
60
|
+
WHEN "querying a single group",
|
61
|
+
selector: t[ groups: 'b' ] do
|
62
|
+
it { is_expected.to \
|
63
|
+
eq %w(journal notebook).to_set }; end
|
64
|
+
|
65
|
+
|
66
|
+
# This *works*, but I don't think it's totally what I want...
|
67
|
+
WHEN "querying for members of any of a list of groups",
|
68
|
+
selector: \
|
69
|
+
t[ groups: ( t.has( 'b' ) | t.has( 'c' ) ) ] do
|
70
|
+
it { is_expected.to \
|
71
|
+
eq %w(journal notebook paper).to_set }; end
|
72
|
+
|
73
|
+
|
74
|
+
# Mongo style..? hard to find docs...
|
75
|
+
#
|
76
|
+
# https://stackoverflow.com/a/34244908/
|
77
|
+
# https://docs.mongodb.com/manual/reference/operator/query/in/#use-the-in-operator-to-match-values-in-an-array
|
78
|
+
#
|
79
|
+
# How it seems you would do it there:
|
80
|
+
#
|
81
|
+
# { groups: { $in: [ 'b', 'c', ] } }
|
82
|
+
#
|
83
|
+
# but we already used "in" for the opposite thing.
|
84
|
+
# so for us how about:
|
85
|
+
#
|
86
|
+
# t[ groups: t.has_any( 'b', 'c' ) ]
|
87
|
+
#
|
88
|
+
# Another possible name:
|
89
|
+
#
|
90
|
+
# t[ groups: t.intersects( 'b', 'c' ) ]
|
91
|
+
#
|
92
|
+
# Variations:
|
93
|
+
#
|
94
|
+
# t[ groups: t.has_all( 'b', 'c' ) ]
|
95
|
+
#
|
96
|
+
# To me right now this reads to me like you're asking if `groups` is "in"
|
97
|
+
# [ 'b', 'c' ] - which it's not.
|
98
|
+
#
|
99
|
+
# t[ groups: t.in( 'b', 'c' ) ]
|
100
|
+
#
|
101
|
+
WHEN "querying for members of any of a list of groups",
|
102
|
+
selector: \
|
103
|
+
t[ groups: t.has_any( 'b', 'c' ) ] do
|
104
|
+
it { is_expected.to \
|
105
|
+
eq %w(journal notebook paper).to_set }; end
|
106
|
+
|
107
|
+
end # USE CASE *************************************************************
|
108
|
+
|
109
|
+
|
110
|
+
WHEN selector: t[ status: 'D' ] do
|
111
|
+
it { is_expected.to eq %w(paper planner).to_set }; end
|
112
|
+
|
113
|
+
|
114
|
+
WHEN selector: t[ item: /^p/ ] do
|
115
|
+
it { is_expected.to eq Set[ 'paper', 'planner', 'postcard' ] }; end
|
116
|
+
|
117
|
+
|
118
|
+
WHEN "trying out a more complicated selector",
|
119
|
+
selector: \
|
120
|
+
( t[ status: 'A' ] | t[ size: t[ w: 11 ] ] ) do
|
121
|
+
it { is_expected.to \
|
122
|
+
eq Set[ 'notebook', 'paper', 'journal', 'postcard' ] }; end
|
123
|
+
|
124
|
+
|
125
|
+
end # SPEC FILE
|
data/spec/spec_helper.rb
CHANGED
@@ -25,6 +25,9 @@ require 'nrser/rspex'
|
|
25
25
|
require_relative './support/shared'
|
26
26
|
|
27
27
|
|
28
|
+
NRSER::Log.setup_for_rspec!
|
29
|
+
|
30
|
+
|
28
31
|
RSpec.configure do |config|
|
29
32
|
unless ENV['LABS']
|
30
33
|
config.filter_run_excluding labs: true
|
@@ -44,11 +47,7 @@ end
|
|
44
47
|
|
45
48
|
# Dumping ground for classes and modules that we need to create for tests.
|
46
49
|
#
|
47
|
-
module NRSER::TestFixtures
|
48
|
-
|
49
|
-
# module definition...
|
50
|
-
|
51
|
-
end # module NRSER::TestFixtures
|
50
|
+
module NRSER::TestFixtures; end
|
52
51
|
|
53
52
|
|
54
53
|
# Was a part of old {NRSER::Logger} testing, keeping for a minute to see if
|
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.3.
|
4
|
+
version: 0.3.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nrser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hamster
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.17.
|
75
|
+
version: 0.17.9
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.17.
|
82
|
+
version: 0.17.9
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: activesupport
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,76 +162,126 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: 0.9.
|
165
|
+
version: 0.9.15
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version: 0.9.
|
172
|
+
version: 0.9.15
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
174
|
name: github-markup
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version:
|
179
|
+
version: 2.0.1
|
180
180
|
type: :development
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version:
|
186
|
+
version: 2.0.1
|
187
187
|
- !ruby/object:Gem::Dependency
|
188
188
|
name: yard-commonmarker
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
191
|
- - "~>"
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: 0.
|
193
|
+
version: 0.5.0
|
194
194
|
type: :development
|
195
195
|
prerelease: false
|
196
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
198
|
- - "~>"
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: 0.
|
200
|
+
version: 0.5.0
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: pry
|
203
203
|
requirement: !ruby/object:Gem::Requirement
|
204
204
|
requirements:
|
205
205
|
- - "~>"
|
206
206
|
- !ruby/object:Gem::Version
|
207
|
-
version: 0.
|
207
|
+
version: 0.11.3
|
208
208
|
type: :development
|
209
209
|
prerelease: false
|
210
210
|
version_requirements: !ruby/object:Gem::Requirement
|
211
211
|
requirements:
|
212
212
|
- - "~>"
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version: 0.
|
214
|
+
version: 0.11.3
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: pry-rescue
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 1.4.5
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - "~>"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 1.4.5
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: pry-stack_explorer
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - "~>"
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: 0.4.9
|
236
|
+
type: :development
|
237
|
+
prerelease: false
|
238
|
+
version_requirements: !ruby/object:Gem::Requirement
|
239
|
+
requirements:
|
240
|
+
- - "~>"
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
version: 0.4.9
|
215
243
|
- !ruby/object:Gem::Dependency
|
216
244
|
name: cmds
|
217
245
|
requirement: !ruby/object:Gem::Requirement
|
218
246
|
requirements:
|
219
247
|
- - "~>"
|
220
248
|
- !ruby/object:Gem::Version
|
221
|
-
version:
|
222
|
-
|
249
|
+
version: 0.2.11
|
250
|
+
type: :development
|
251
|
+
prerelease: false
|
252
|
+
version_requirements: !ruby/object:Gem::Requirement
|
253
|
+
requirements:
|
254
|
+
- - "~>"
|
255
|
+
- !ruby/object:Gem::Version
|
256
|
+
version: 0.2.11
|
257
|
+
- !ruby/object:Gem::Dependency
|
258
|
+
name: nokogiri
|
259
|
+
requirement: !ruby/object:Gem::Requirement
|
260
|
+
requirements:
|
261
|
+
- - "~>"
|
223
262
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
263
|
+
version: 1.8.4
|
225
264
|
type: :development
|
226
265
|
prerelease: false
|
227
266
|
version_requirements: !ruby/object:Gem::Requirement
|
228
267
|
requirements:
|
229
268
|
- - "~>"
|
230
269
|
- !ruby/object:Gem::Version
|
231
|
-
version:
|
232
|
-
|
270
|
+
version: 1.8.4
|
271
|
+
- !ruby/object:Gem::Dependency
|
272
|
+
name: mongo
|
273
|
+
requirement: !ruby/object:Gem::Requirement
|
274
|
+
requirements:
|
275
|
+
- - "~>"
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: 2.6.1
|
278
|
+
type: :development
|
279
|
+
prerelease: false
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - "~>"
|
233
283
|
- !ruby/object:Gem::Version
|
234
|
-
version:
|
284
|
+
version: 2.6.1
|
235
285
|
description:
|
236
286
|
email:
|
237
287
|
- neil@neilsouza.com
|
@@ -266,11 +316,13 @@ files:
|
|
266
316
|
- lib/nrser/core_ext/object/lazy_var.rb
|
267
317
|
- lib/nrser/core_ext/open_struct.rb
|
268
318
|
- lib/nrser/core_ext/pathname.rb
|
319
|
+
- lib/nrser/core_ext/pathname/subpath.rb
|
269
320
|
- lib/nrser/core_ext/string.rb
|
270
321
|
- lib/nrser/core_ext/symbol.rb
|
271
322
|
- lib/nrser/core_ext/time.rb
|
272
323
|
- lib/nrser/core_ext/unbound_method/full_name.rb
|
273
324
|
- lib/nrser/errors.rb
|
325
|
+
- lib/nrser/errors/README.md
|
274
326
|
- lib/nrser/errors/abstract_method_error.rb
|
275
327
|
- lib/nrser/errors/argument_error.rb
|
276
328
|
- lib/nrser/errors/attr_error.rb
|
@@ -301,11 +353,14 @@ files:
|
|
301
353
|
- lib/nrser/functions/object/truthy.rb
|
302
354
|
- lib/nrser/functions/open_struct.rb
|
303
355
|
- lib/nrser/functions/path.rb
|
356
|
+
- lib/nrser/functions/path/normalized.rb
|
304
357
|
- lib/nrser/functions/proc.rb
|
305
358
|
- lib/nrser/functions/string.rb
|
306
359
|
- lib/nrser/functions/string/looks_like.rb
|
307
360
|
- lib/nrser/functions/string/style.rb
|
308
361
|
- lib/nrser/functions/text.rb
|
362
|
+
- lib/nrser/functions/text/README.md
|
363
|
+
- lib/nrser/functions/text/format.rb
|
309
364
|
- lib/nrser/functions/text/indentation.rb
|
310
365
|
- lib/nrser/functions/text/lines.rb
|
311
366
|
- lib/nrser/functions/text/word_wrap.rb
|
@@ -317,6 +372,7 @@ files:
|
|
317
372
|
- lib/nrser/functions/tree/map_leaves.rb
|
318
373
|
- lib/nrser/functions/tree/map_tree.rb
|
319
374
|
- lib/nrser/functions/tree/transform.rb
|
375
|
+
- lib/nrser/gem_ext/README.md
|
320
376
|
- lib/nrser/gem_ext/hamster.rb
|
321
377
|
- lib/nrser/gem_ext/hamster/hash.rb
|
322
378
|
- lib/nrser/gem_ext/hamster/set.rb
|
@@ -324,9 +380,15 @@ files:
|
|
324
380
|
- lib/nrser/gem_ext/hamster/vector.rb
|
325
381
|
- lib/nrser/graph/tsorter.rb
|
326
382
|
- lib/nrser/labs.rb
|
383
|
+
- lib/nrser/labs/README.md
|
384
|
+
- lib/nrser/labs/config.rb
|
327
385
|
- lib/nrser/labs/core_ext/binding.rb
|
328
386
|
- lib/nrser/labs/globlin.rb
|
329
387
|
- lib/nrser/labs/i8.rb
|
388
|
+
- lib/nrser/labs/i8/struct.rb
|
389
|
+
- lib/nrser/labs/i8/struct/hash.rb
|
390
|
+
- lib/nrser/labs/i8/struct/vector.rb
|
391
|
+
- lib/nrser/labs/i8/surjection.rb
|
330
392
|
- lib/nrser/labs/index.rb
|
331
393
|
- lib/nrser/labs/lots/consumer.rb
|
332
394
|
- lib/nrser/labs/lots/parser.rb
|
@@ -345,6 +407,7 @@ files:
|
|
345
407
|
- lib/nrser/mean_streak/document.rb
|
346
408
|
- lib/nrser/message.rb
|
347
409
|
- lib/nrser/meta.rb
|
410
|
+
- lib/nrser/meta/README.md
|
348
411
|
- lib/nrser/meta/class_attrs.rb
|
349
412
|
- lib/nrser/meta/lazy_attr.rb
|
350
413
|
- lib/nrser/meta/source/location.rb
|
@@ -395,12 +458,15 @@ files:
|
|
395
458
|
- lib/nrser/sys/env.rb
|
396
459
|
- lib/nrser/sys/env/path.rb
|
397
460
|
- lib/nrser/types.rb
|
398
|
-
- lib/nrser/types/
|
461
|
+
- lib/nrser/types/README.md
|
399
462
|
- lib/nrser/types/arrays.rb
|
400
|
-
- lib/nrser/types/
|
463
|
+
- lib/nrser/types/attributes.rb
|
401
464
|
- lib/nrser/types/booleans.rb
|
402
465
|
- lib/nrser/types/bounded.rb
|
466
|
+
- lib/nrser/types/collections.rb
|
403
467
|
- lib/nrser/types/combinators.rb
|
468
|
+
- lib/nrser/types/doc/display_table.md
|
469
|
+
- lib/nrser/types/eqiuvalent.rb
|
404
470
|
- lib/nrser/types/errors/check_error.rb
|
405
471
|
- lib/nrser/types/errors/from_string_error.rb
|
406
472
|
- lib/nrser/types/factory.rb
|
@@ -416,10 +482,11 @@ files:
|
|
416
482
|
- lib/nrser/types/pairs.rb
|
417
483
|
- lib/nrser/types/paths.rb
|
418
484
|
- lib/nrser/types/responds.rb
|
485
|
+
- lib/nrser/types/selector.rb
|
419
486
|
- lib/nrser/types/shape.rb
|
420
487
|
- lib/nrser/types/strings.rb
|
421
488
|
- lib/nrser/types/symbols.rb
|
422
|
-
- lib/nrser/types/
|
489
|
+
- lib/nrser/types/top.rb
|
423
490
|
- lib/nrser/types/tuples.rb
|
424
491
|
- lib/nrser/types/type.rb
|
425
492
|
- lib/nrser/types/when.rb
|
@@ -432,7 +499,10 @@ files:
|
|
432
499
|
- spec/lib/nrser/core_ext/hash/short_transform_keys_spec.rb
|
433
500
|
- spec/lib/nrser/core_ext/hash_spec.rb
|
434
501
|
- spec/lib/nrser/core_ext/method/full_name_spec.rb
|
502
|
+
- spec/lib/nrser/core_ext/pathname/subpath_spec.rb
|
435
503
|
- spec/lib/nrser/errors/abstract_method_error_spec.rb
|
504
|
+
- spec/lib/nrser/errors/attr_error_spec.rb
|
505
|
+
- spec/lib/nrser/errors/count_error_spec.rb
|
436
506
|
- spec/lib/nrser/functions/enumerable/associate_spec.rb
|
437
507
|
- spec/lib/nrser/functions/enumerable/find_all_map_spec.rb
|
438
508
|
- spec/lib/nrser/functions/enumerable/find_bounded_spec.rb
|
@@ -444,6 +514,7 @@ files:
|
|
444
514
|
- spec/lib/nrser/functions/merge_by_spec.rb
|
445
515
|
- spec/lib/nrser/functions/object/truthy_spec.rb
|
446
516
|
- spec/lib/nrser/functions/open_struct_spec.rb
|
517
|
+
- spec/lib/nrser/functions/path/normalize_path_spec.rb
|
447
518
|
- spec/lib/nrser/functions/string/common_prefix_spec.rb
|
448
519
|
- spec/lib/nrser/functions/string/looks_like_spec.rb
|
449
520
|
- spec/lib/nrser/functions/text/dedent/gotchas_spec.rb
|
@@ -458,7 +529,9 @@ files:
|
|
458
529
|
- spec/lib/nrser/functions/tree/transformer_spec.rb
|
459
530
|
- spec/lib/nrser/gem_ext/hamster/json_spec.rb
|
460
531
|
- spec/lib/nrser/gem_ext/hamster/to_mutable_spec.rb
|
532
|
+
- spec/lib/nrser/labs/config_spec.rb
|
461
533
|
- spec/lib/nrser/labs/globlin_spec.rb
|
534
|
+
- spec/lib/nrser/labs/i8/struct_spec.rb
|
462
535
|
- spec/lib/nrser/labs/index_spec.rb
|
463
536
|
- spec/lib/nrser/mean_streak/design_spec.rb
|
464
537
|
- spec/lib/nrser/mean_streak/identity_instance_spec.rb
|
@@ -482,9 +555,11 @@ files:
|
|
482
555
|
- spec/lib/nrser/types/array_spec.rb
|
483
556
|
- spec/lib/nrser/types/attrs_spec.rb
|
484
557
|
- spec/lib/nrser/types/combinators_spec.rb
|
558
|
+
- spec/lib/nrser/types/display_spec.rb
|
485
559
|
- spec/lib/nrser/types/is_spec.rb
|
486
560
|
- spec/lib/nrser/types/pairs_spec.rb
|
487
561
|
- spec/lib/nrser/types/paths_spec.rb
|
562
|
+
- spec/lib/nrser/types/selector_spec.rb
|
488
563
|
- spec/lib/nrser/types/strings_spec.rb
|
489
564
|
- spec/lib/nrser/types/symbols_spec.rb
|
490
565
|
- spec/lib/nrser/types/tuples_spec.rb
|
@@ -513,7 +588,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
513
588
|
version: '0'
|
514
589
|
requirements: []
|
515
590
|
rubyforge_project:
|
516
|
-
rubygems_version: 2.5.2.
|
591
|
+
rubygems_version: 2.5.2.3
|
517
592
|
signing_key:
|
518
593
|
specification_version: 4
|
519
594
|
summary: basic ruby utils i use in a lot of stuff.
|
@@ -525,7 +600,10 @@ test_files:
|
|
525
600
|
- spec/lib/nrser/core_ext/hash/short_transform_keys_spec.rb
|
526
601
|
- spec/lib/nrser/core_ext/hash_spec.rb
|
527
602
|
- spec/lib/nrser/core_ext/method/full_name_spec.rb
|
603
|
+
- spec/lib/nrser/core_ext/pathname/subpath_spec.rb
|
528
604
|
- spec/lib/nrser/errors/abstract_method_error_spec.rb
|
605
|
+
- spec/lib/nrser/errors/attr_error_spec.rb
|
606
|
+
- spec/lib/nrser/errors/count_error_spec.rb
|
529
607
|
- spec/lib/nrser/functions/enumerable/associate_spec.rb
|
530
608
|
- spec/lib/nrser/functions/enumerable/find_all_map_spec.rb
|
531
609
|
- spec/lib/nrser/functions/enumerable/find_bounded_spec.rb
|
@@ -537,6 +615,7 @@ test_files:
|
|
537
615
|
- spec/lib/nrser/functions/merge_by_spec.rb
|
538
616
|
- spec/lib/nrser/functions/object/truthy_spec.rb
|
539
617
|
- spec/lib/nrser/functions/open_struct_spec.rb
|
618
|
+
- spec/lib/nrser/functions/path/normalize_path_spec.rb
|
540
619
|
- spec/lib/nrser/functions/string/common_prefix_spec.rb
|
541
620
|
- spec/lib/nrser/functions/string/looks_like_spec.rb
|
542
621
|
- spec/lib/nrser/functions/text/dedent/gotchas_spec.rb
|
@@ -551,7 +630,9 @@ test_files:
|
|
551
630
|
- spec/lib/nrser/functions/tree/transformer_spec.rb
|
552
631
|
- spec/lib/nrser/gem_ext/hamster/json_spec.rb
|
553
632
|
- spec/lib/nrser/gem_ext/hamster/to_mutable_spec.rb
|
633
|
+
- spec/lib/nrser/labs/config_spec.rb
|
554
634
|
- spec/lib/nrser/labs/globlin_spec.rb
|
635
|
+
- spec/lib/nrser/labs/i8/struct_spec.rb
|
555
636
|
- spec/lib/nrser/labs/index_spec.rb
|
556
637
|
- spec/lib/nrser/mean_streak/design_spec.rb
|
557
638
|
- spec/lib/nrser/mean_streak/identity_instance_spec.rb
|
@@ -575,9 +656,11 @@ test_files:
|
|
575
656
|
- spec/lib/nrser/types/array_spec.rb
|
576
657
|
- spec/lib/nrser/types/attrs_spec.rb
|
577
658
|
- spec/lib/nrser/types/combinators_spec.rb
|
659
|
+
- spec/lib/nrser/types/display_spec.rb
|
578
660
|
- spec/lib/nrser/types/is_spec.rb
|
579
661
|
- spec/lib/nrser/types/pairs_spec.rb
|
580
662
|
- spec/lib/nrser/types/paths_spec.rb
|
663
|
+
- spec/lib/nrser/types/selector_spec.rb
|
581
664
|
- spec/lib/nrser/types/strings_spec.rb
|
582
665
|
- spec/lib/nrser/types/symbols_spec.rb
|
583
666
|
- spec/lib/nrser/types/tuples_spec.rb
|