nrser 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/nrser/char/alpha_numeric_sub.rb +1 -2
- data/lib/nrser/char.rb +0 -6
- data/lib/nrser/core_ext/array.rb +120 -0
- data/lib/nrser/core_ext/binding.rb +44 -0
- data/lib/nrser/{functions → core_ext}/enumerable/find_map.rb +18 -15
- data/lib/nrser/{ext → core_ext}/enumerable.rb +10 -24
- data/lib/nrser/core_ext/exception.rb +30 -0
- data/lib/nrser/core_ext/hash/extract_values_at.rb +49 -0
- data/lib/nrser/core_ext/hash/transform_values_with_keys.rb +24 -0
- data/lib/nrser/core_ext/hash.rb +50 -0
- data/lib/nrser/core_ext/module/method_objects.rb +96 -0
- data/lib/nrser/core_ext/module/names.rb +69 -0
- data/lib/nrser/core_ext/module/source_locations.rb +214 -0
- data/lib/nrser/core_ext/module.rb +2 -0
- data/lib/nrser/core_ext/object/lazy_var.rb +31 -0
- data/lib/nrser/core_ext/object.rb +46 -0
- data/lib/nrser/core_ext/open_struct.rb +6 -0
- data/lib/nrser/{ext → core_ext}/pathname.rb +8 -5
- data/lib/nrser/{ext → core_ext}/string.rb +6 -12
- data/lib/nrser/core_ext/symbol.rb +13 -0
- data/lib/nrser/core_ext/time.rb +46 -0
- data/lib/nrser/core_ext.rb +13 -0
- data/lib/nrser/errors/abstract_method_error.rb +150 -0
- data/lib/nrser/errors/argument_error.rb +42 -0
- data/lib/nrser/errors/nicer_error.rb +298 -72
- data/lib/nrser/errors/type_error.rb +46 -0
- data/lib/nrser/errors.rb +4 -53
- data/lib/nrser/ext/tree.rb +3 -0
- data/lib/nrser/functions/enumerable/associate.rb +6 -9
- data/lib/nrser/functions/enumerable/include_slice.rb +2 -3
- data/lib/nrser/functions/enumerable.rb +1 -3
- data/lib/nrser/functions/exception.rb +1 -1
- data/lib/nrser/functions/hash.rb +0 -6
- data/lib/nrser/functions/merge_by.rb +2 -2
- data/lib/nrser/functions/module/method_objects.rb +77 -0
- data/lib/nrser/functions/module.rb +1 -2
- data/lib/nrser/functions/open_struct.rb +25 -35
- data/lib/nrser/functions/proc.rb +1 -6
- data/lib/nrser/functions/string/looks_like.rb +32 -1
- data/lib/nrser/functions/string.rb +1 -40
- data/lib/nrser/functions/text/lines.rb +2 -1
- data/lib/nrser/functions.rb +0 -1
- data/lib/nrser/graph/tsorter.rb +41 -0
- data/lib/nrser/labs/core_ext/binding.rb +37 -0
- data/lib/nrser/labs/stash.rb +372 -0
- data/lib/nrser/{logging → log}/appender/sync.rb +3 -3
- data/lib/nrser/log/appender.rb +3 -0
- data/lib/nrser/{logging → log}/formatters/color.rb +47 -20
- data/lib/nrser/log/formatters/mixin.rb +270 -0
- data/lib/nrser/{logging → log}/formatters.rb +0 -0
- data/lib/nrser/log/logger.rb +229 -0
- data/lib/nrser/log/mixin.rb +56 -0
- data/lib/nrser/log.rb +723 -0
- data/lib/nrser/message.rb +24 -3
- data/lib/nrser/meta/source/location.rb +158 -0
- data/lib/nrser/meta.rb +1 -1
- data/lib/nrser/props/class_methods.rb +118 -0
- data/lib/nrser/props/immutable/hash.rb +111 -0
- data/lib/nrser/props/immutable/hash_variable.rb +82 -0
- data/lib/nrser/props/immutable/instance_variables.rb +48 -0
- data/lib/nrser/props/immutable/vector.rb +107 -0
- data/lib/nrser/props/instance_methods.rb +184 -0
- data/lib/nrser/props/metadata.rb +359 -0
- data/lib/nrser/props/mutable/instance_variables.rb +60 -0
- data/lib/nrser/props/mutable/stash.rb +199 -0
- data/lib/nrser/{meta/props → props}/prop.rb +217 -112
- data/lib/nrser/props/storage/instance_variable.rb +85 -0
- data/lib/nrser/props/storage/instance_variables.rb +67 -0
- data/lib/nrser/props/storage/key.rb +88 -0
- data/lib/nrser/props.rb +9 -0
- data/lib/nrser/refinements/sugar.rb +41 -0
- data/lib/nrser/refinements/types.rb +2 -2
- data/lib/nrser/refinements.rb +14 -16
- data/lib/nrser/rspex/example_group/describe_attribute.rb +24 -0
- data/lib/nrser/rspex/example_group/describe_called_with.rb +1 -6
- data/lib/nrser/rspex/example_group/{describe_use_case.rb → describe_case.rb} +6 -3
- data/lib/nrser/rspex/example_group/describe_class.rb +1 -0
- data/lib/nrser/rspex/example_group/describe_group.rb +29 -0
- data/lib/nrser/rspex/example_group/describe_instance_method.rb +2 -2
- data/lib/nrser/rspex/example_group/describe_message.rb +35 -0
- data/lib/nrser/rspex/example_group/describe_method.rb +23 -2
- data/lib/nrser/rspex/example_group/describe_module.rb +19 -0
- data/lib/nrser/rspex/example_group/describe_response_to.rb +32 -0
- data/lib/nrser/rspex/example_group/describe_section.rb +38 -0
- data/lib/nrser/rspex/example_group/describe_sent_to.rb +52 -0
- data/lib/nrser/rspex/example_group/describe_source_file.rb +49 -0
- data/lib/nrser/rspex/example_group/describe_spec_file.rb +41 -108
- data/lib/nrser/rspex/example_group/describe_when.rb +14 -7
- data/lib/nrser/rspex/example_group/describe_x.rb +39 -12
- data/lib/nrser/rspex/example_group/overrides.rb +66 -0
- data/lib/nrser/rspex/example_group.rb +20 -252
- data/lib/nrser/rspex/format.rb +83 -17
- data/lib/nrser/rspex.rb +4 -34
- data/lib/nrser/sugar/method_missing_forwarder.rb +50 -0
- data/lib/nrser/{env → sys/env}/path.rb +1 -2
- data/lib/nrser/{env.rb → sys/env.rb} +2 -1
- data/lib/nrser/sys.rb +5 -0
- data/lib/nrser/types/any.rb +36 -7
- data/lib/nrser/types/{array.rb → arrays.rb} +32 -81
- data/lib/nrser/types/attrs.rb +68 -15
- data/lib/nrser/types/booleans.rb +95 -34
- data/lib/nrser/types/bounded.rb +12 -10
- data/lib/nrser/types/combinators.rb +74 -37
- data/lib/nrser/types/errors/check_error.rb +86 -0
- data/lib/nrser/types/errors/from_string_error.rb +82 -0
- data/lib/nrser/types/factory.rb +91 -0
- data/lib/nrser/types/hashes.rb +171 -26
- data/lib/nrser/types/in.rb +25 -12
- data/lib/nrser/types/is.rb +50 -18
- data/lib/nrser/types/is_a.rb +52 -33
- data/lib/nrser/types/labels.rb +6 -33
- data/lib/nrser/types/maybe.rb +12 -4
- data/lib/nrser/types/nil.rb +24 -4
- data/lib/nrser/types/not.rb +6 -16
- data/lib/nrser/types/numbers.rb +94 -57
- data/lib/nrser/types/pairs.rb +57 -57
- data/lib/nrser/types/paths.rb +112 -133
- data/lib/nrser/types/responds.rb +64 -74
- data/lib/nrser/types/shape.rb +29 -24
- data/lib/nrser/types/strings.rb +25 -17
- data/lib/nrser/types/symbols.rb +19 -17
- data/lib/nrser/types/trees.rb +18 -70
- data/lib/nrser/types/tuples.rb +36 -40
- data/lib/nrser/types/type.rb +342 -91
- data/lib/nrser/types/when.rb +40 -18
- data/lib/nrser/types/where.rb +94 -9
- data/lib/nrser/types.rb +72 -63
- data/lib/nrser/version.rb +1 -1
- data/lib/nrser.rb +18 -18
- data/spec/lib/nrser/{functions/binding/template_spec.rb → core_ext/binding/erb_spec.rb} +5 -5
- data/spec/lib/nrser/{functions → core_ext}/enumerable/find_map_spec.rb +8 -6
- data/spec/lib/nrser/{refinements → core_ext}/hash_spec.rb +9 -22
- data/spec/lib/nrser/errors/abstract_method_error_spec.rb +12 -5
- data/spec/lib/nrser/functions/enumerable/{to_h_by_spec.rb → associate_spec.rb} +1 -1
- data/spec/lib/nrser/functions/merge_by_spec.rb +1 -1
- data/spec/lib/nrser/functions/tree/each_branch_spec.rb +3 -3
- data/spec/lib/nrser/functions/tree/transform_spec.rb +14 -15
- data/spec/lib/nrser/gem_ext/hamster/json_spec.rb +4 -0
- data/spec/lib/nrser/meta/source/location_spec.rb +86 -0
- data/spec/lib/nrser/props/immutable/hash_spec.rb +297 -0
- data/spec/lib/nrser/props/immutable/vector_spec.rb +296 -0
- data/spec/lib/nrser/{meta/props_spec.rb → props/original_props_spec.rb} +11 -16
- data/spec/lib/nrser/{meta/props → props}/to_and_from_data_spec.rb +10 -8
- data/spec/lib/nrser/refinements/array_spec.rb +2 -15
- data/spec/lib/nrser/refinements/erb_spec.rb +5 -7
- data/spec/lib/nrser/refinements/set_spec.rb +2 -15
- data/spec/lib/nrser/{env → sys/env}/path/insert_spec.rb +4 -2
- data/spec/lib/nrser/{env → sys/env}/path_spec.rb +4 -2
- data/spec/lib/nrser/types/array_spec.rb +8 -8
- data/spec/lib/nrser/types/paths_spec.rb +15 -18
- data/spec/spec_helper.rb +4 -0
- metadata +109 -69
- data/lib/nrser/ext/binding.rb +0 -36
- data/lib/nrser/ext/module.rb +0 -62
- data/lib/nrser/ext.rb +0 -8
- data/lib/nrser/functions/binding.rb +0 -76
- data/lib/nrser/functions/enumerable/map_keys.rb +0 -0
- data/lib/nrser/functions/enumerable/map_values.rb +0 -94
- data/lib/nrser/functions/hash/deep_merge.rb +0 -57
- data/lib/nrser/functions/hash/except_keys.rb +0 -44
- data/lib/nrser/functions/hash/slice_keys.rb +0 -43
- data/lib/nrser/functions/hash/stringify_keys.rb +0 -55
- data/lib/nrser/functions/hash/symbolize_keys.rb +0 -57
- data/lib/nrser/functions/hash/transform_keys.rb +0 -140
- data/lib/nrser/functions/module/methods.rb +0 -206
- data/lib/nrser/functions/module/source_locations.rb +0 -213
- data/lib/nrser/logging/appender.rb +0 -3
- data/lib/nrser/logging.rb +0 -353
- data/lib/nrser/meta/props/base.rb +0 -31
- data/lib/nrser/meta/props.rb +0 -357
- data/lib/nrser/refinements/array.rb +0 -133
- data/lib/nrser/refinements/binding.rb +0 -6
- data/lib/nrser/refinements/enumerator.rb +0 -5
- data/lib/nrser/refinements/exception.rb +0 -35
- data/lib/nrser/refinements/hash.rb +0 -150
- data/lib/nrser/refinements/module.rb +0 -5
- data/lib/nrser/refinements/object.rb +0 -42
- data/lib/nrser/refinements/open_struct.rb +0 -28
- data/lib/nrser/refinements/pathname.rb +0 -5
- data/lib/nrser/refinements/set.rb +0 -5
- data/lib/nrser/refinements/string.rb +0 -5
- data/lib/nrser/refinements/symbol.rb +0 -20
- data/lib/nrser/rspex/described.rb +0 -99
- data/spec/design/mapping_spec.rb +0 -42
- data/spec/lib/nrser/functions/hash_spec.rb +0 -41
- data/spec/lib/nrser/functions/string/truncate_spec.rb +0 -11
- data/spec/lib/nrser/refinements/truncate_spec.rb +0 -10
@@ -1,13 +1,9 @@
|
|
1
|
-
require '
|
1
|
+
require 'nrser/props'
|
2
|
+
require 'nrser/props/immutable/hash_variable'
|
2
3
|
|
3
|
-
require 'nrser/refinements'
|
4
|
-
using NRSER
|
5
|
-
|
6
|
-
require 'nrser/refinements/types'
|
7
4
|
using NRSER::Types
|
8
5
|
|
9
|
-
|
10
|
-
describe NRSER::Meta::Props do
|
6
|
+
describe NRSER::Props do
|
11
7
|
|
12
8
|
context "simple Point class" do
|
13
9
|
|
@@ -15,7 +11,7 @@ describe NRSER::Meta::Props do
|
|
15
11
|
# =====================================================================
|
16
12
|
|
17
13
|
let(:point_class) {
|
18
|
-
Class.new(NRSER::
|
14
|
+
Class.new( NRSER::Props::Immutable::HashVariable::Base ) do
|
19
15
|
# So that error messages look right
|
20
16
|
def self.name; 'Point'; end
|
21
17
|
|
@@ -38,7 +34,7 @@ describe NRSER::Meta::Props do
|
|
38
34
|
it {
|
39
35
|
is_expected.to be_a( Hash ).and have_attributes \
|
40
36
|
keys: eq( [:x, :y, :blah] ),
|
41
|
-
values: all( be_a NRSER::
|
37
|
+
values: all( be_a NRSER::Props::Prop )
|
42
38
|
}
|
43
39
|
|
44
40
|
describe 'primary props `x` and `y`' do
|
@@ -47,7 +43,7 @@ describe NRSER::Meta::Props do
|
|
47
43
|
subject { super()[name] }
|
48
44
|
|
49
45
|
include_examples "expect subject", to: {
|
50
|
-
be_a: NRSER::
|
46
|
+
be_a: NRSER::Props::Prop,
|
51
47
|
have_attributes: {
|
52
48
|
source?: false,
|
53
49
|
primary?: true,
|
@@ -57,11 +53,11 @@ describe NRSER::Meta::Props do
|
|
57
53
|
end
|
58
54
|
end # primary props `x` and `y`'
|
59
55
|
|
60
|
-
describe "derived (sourced) prop `blah`" do
|
56
|
+
describe "derived (sourced) prop `blah`" do
|
61
57
|
subject { super()[:blah] }
|
62
58
|
|
63
59
|
include_examples "expect subject", to: {
|
64
|
-
be_a: NRSER::
|
60
|
+
be_a: NRSER::Props::Prop,
|
65
61
|
have_attributes: {
|
66
62
|
source?: true,
|
67
63
|
primary?: false,
|
@@ -84,7 +80,7 @@ describe NRSER::Meta::Props do
|
|
84
80
|
and have_attributes(
|
85
81
|
keys: eq( [:x, :y] ),
|
86
82
|
values: all(
|
87
|
-
be_a( NRSER::
|
83
|
+
be_a( NRSER::Props::Prop ).
|
88
84
|
and have_attributes source?: false, primary?: true
|
89
85
|
)
|
90
86
|
)
|
@@ -140,7 +136,7 @@ describe NRSER::Meta::Props do
|
|
140
136
|
raising: {
|
141
137
|
[ {x: 1, y: 'why?'} ] => [
|
142
138
|
TypeError,
|
143
|
-
/Value
|
139
|
+
/Value \"why\?\" failed check for type/m
|
144
140
|
],
|
145
141
|
}
|
146
142
|
end # .new
|
@@ -160,5 +156,4 @@ describe NRSER::Meta::Props do
|
|
160
156
|
|
161
157
|
end # simple Point class
|
162
158
|
|
163
|
-
end # NRSER::
|
164
|
-
|
159
|
+
end # NRSER::Props::Props
|
@@ -1,13 +1,10 @@
|
|
1
|
-
require 'nrser/
|
1
|
+
require 'nrser/props'
|
2
|
+
require 'nrser/props/immutable/hash_variable'
|
2
3
|
|
3
|
-
require 'nrser/refinements'
|
4
|
-
using NRSER
|
5
|
-
|
6
|
-
require 'nrser/refinements/types'
|
7
4
|
using NRSER::Types
|
8
5
|
|
9
6
|
|
10
|
-
describe NRSER::
|
7
|
+
describe NRSER::Props do
|
11
8
|
|
12
9
|
describe_section "to and from data" do
|
13
10
|
# ========================================================================
|
@@ -16,7 +13,9 @@ describe NRSER::Meta::Props do
|
|
16
13
|
unsigned = t.unsigned
|
17
14
|
|
18
15
|
before( :all ) {
|
19
|
-
Cat = @cat_class = Class.new(
|
16
|
+
Cat = @cat_class = Class.new(
|
17
|
+
NRSER::Props::Immutable::HashVariable::Base
|
18
|
+
) do
|
20
19
|
prop :name, type: non_empty_str
|
21
20
|
prop :breed, type: non_empty_str
|
22
21
|
prop :age, type: unsigned
|
@@ -33,7 +32,10 @@ describe NRSER::Meta::Props do
|
|
33
32
|
# instance variable of the new class.
|
34
33
|
cat_class = @cat_class
|
35
34
|
|
36
|
-
@owner_class = Class.new(
|
35
|
+
@owner_class = Class.new(
|
36
|
+
NRSER::Props::Immutable::HashVariable::Base
|
37
|
+
) do
|
38
|
+
|
37
39
|
prop :name, type: non_empty_str
|
38
40
|
|
39
41
|
prop :cat, type: cat_class
|
@@ -1,18 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
using NRSER
|
4
|
-
|
5
|
-
describe 'Refinement Array#map_values' do
|
6
|
-
it do
|
7
|
-
expect(
|
8
|
-
[:x, :y].map_values { |value| "Yo I'm #{ value }!" }
|
9
|
-
).to eq(
|
10
|
-
{x: "Yo I'm x!", y: "Yo I'm y!"}
|
11
|
-
)
|
12
|
-
end
|
13
|
-
end # Refinement Array#map_values
|
14
|
-
|
15
|
-
|
16
3
|
describe 'Refinement Array#find_bounded' do
|
17
4
|
it do
|
18
5
|
expect(
|
@@ -23,7 +10,7 @@ describe 'Refinement Array#find_bounded' do
|
|
23
10
|
[1, 2, 3].find_bounded(length: 2) { |i| i == 2 }
|
24
11
|
}.to raise_error TypeError
|
25
12
|
end
|
26
|
-
end # Refinement Array#
|
13
|
+
end # Refinement Array#find_bounded
|
27
14
|
|
28
15
|
|
29
16
|
describe 'Refinement Array#find_only' do
|
@@ -36,7 +23,7 @@ describe 'Refinement Array#find_only' do
|
|
36
23
|
[1, 2, 3].find_only { |i| i >= 2 }
|
37
24
|
}.to raise_error TypeError
|
38
25
|
end
|
39
|
-
end # Refinement Array#
|
26
|
+
end # Refinement Array#find_only
|
40
27
|
|
41
28
|
|
42
29
|
describe "Refinement Array#leaves" do
|
@@ -1,12 +1,8 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'nrser/refinements'
|
4
|
-
using NRSER
|
5
|
-
|
6
1
|
require 'nrser/refinements/types'
|
7
2
|
using NRSER::Types
|
8
3
|
|
9
|
-
require 'nrser/
|
4
|
+
require 'nrser/props'
|
5
|
+
require 'nrser/props/immutable/hash_variable'
|
10
6
|
|
11
7
|
describe 'Binding#erb' do
|
12
8
|
it "refines NRSER.erb into Binding" do
|
@@ -87,7 +83,9 @@ END
|
|
87
83
|
|
88
84
|
|
89
85
|
it "works on a real-world example" do
|
90
|
-
ERBSpecTester = Class.new
|
86
|
+
ERBSpecTester = Class.new do
|
87
|
+
include NRSER::Props::Immutable::HashVariable
|
88
|
+
|
91
89
|
prop :x, type: t.int, from_data: {hey: 'ho', lets: 'go!'}
|
92
90
|
end
|
93
91
|
|
@@ -1,16 +1,3 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
using NRSER
|
4
|
-
|
5
|
-
describe 'Refinement Set#map_values' do
|
6
|
-
it do
|
7
|
-
expect(
|
8
|
-
Set[:x, :y].map_values { |value| "Yo I'm #{ value }!" }
|
9
|
-
).to eq(
|
10
|
-
{x: "Yo I'm x!", y: "Yo I'm y!"}
|
11
|
-
)
|
12
|
-
end
|
13
|
-
end # Refinement Set#map_values
|
14
1
|
|
15
2
|
describe 'Refinement Set#find_bounded' do
|
16
3
|
subject { Set[1, 2, 3] }
|
@@ -24,7 +11,7 @@ describe 'Refinement Set#find_bounded' do
|
|
24
11
|
subject.find_bounded(length: 2) { |i| i == 2 }
|
25
12
|
}.to raise_error TypeError
|
26
13
|
end
|
27
|
-
end # Refinement Set#
|
14
|
+
end # Refinement Set#find_bounded
|
28
15
|
|
29
16
|
describe 'Refinement Set#find_only' do
|
30
17
|
subject { Set[1, 2, 3] }
|
@@ -38,4 +25,4 @@ describe 'Refinement Set#find_only' do
|
|
38
25
|
subject.find_only { |i| i >= 2 }
|
39
26
|
}.to raise_error TypeError
|
40
27
|
end
|
41
|
-
end # Refinement Set#
|
28
|
+
end # Refinement Set#find_only
|
@@ -1,6 +1,8 @@
|
|
1
|
+
require 'nrser/sys/env'
|
2
|
+
|
1
3
|
describe_spec_file(
|
2
4
|
spec_path: __FILE__,
|
3
|
-
class: NRSER::Env::Path,
|
5
|
+
class: NRSER::Sys::Env::Path,
|
4
6
|
instance_method: :insert,
|
5
7
|
) do
|
6
8
|
|
@@ -9,7 +11,7 @@ describe_spec_file(
|
|
9
11
|
to the string result from `#to_s`
|
10
12
|
} do
|
11
13
|
|
12
|
-
let( :path ) { NRSER::Env::Path.new source }
|
14
|
+
let( :path ) { NRSER::Sys::Env::Path.new source }
|
13
15
|
subject { path.insert( *args ).to_s }
|
14
16
|
|
15
17
|
describe_use_case(
|
@@ -1,12 +1,14 @@
|
|
1
|
+
require 'nrser/sys/env'
|
2
|
+
|
1
3
|
describe_spec_file(
|
2
4
|
spec_path: __FILE__,
|
3
|
-
class: NRSER::Env::Path,
|
5
|
+
class: NRSER::Sys::Env::Path,
|
4
6
|
) do
|
5
7
|
|
6
8
|
describe_method :from_ENV do
|
7
9
|
it "loads from ENV['PATH']" do
|
8
10
|
expect( subject.call :PATH ).to be_a( described_class )
|
9
11
|
end
|
10
|
-
end # Method :from_ENV Description
|
12
|
+
end # Method :from_ENV Description
|
11
13
|
|
12
14
|
end # spec
|
@@ -1,7 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'nrser/refinements'
|
4
|
-
using NRSER
|
1
|
+
# encoding: UTF-8
|
2
|
+
# frozen_string_literal: true
|
5
3
|
|
6
4
|
require 'nrser/refinements/types'
|
7
5
|
using NRSER::Types
|
@@ -10,8 +8,11 @@ using NRSER::Types
|
|
10
8
|
# NRSER::Types.array
|
11
9
|
# ========================================================================
|
12
10
|
#
|
13
|
-
|
14
|
-
|
11
|
+
describe_spec_file(
|
12
|
+
spec_path: __FILE__,
|
13
|
+
module: NRSER::Types,
|
14
|
+
method: :array,
|
15
|
+
) do
|
15
16
|
|
16
17
|
it_behaves_like 'type maker method'
|
17
18
|
|
@@ -49,7 +50,7 @@ describe "NRSER::Types.array" do
|
|
49
50
|
to: {
|
50
51
|
have_attributes: {
|
51
52
|
class: t::ArrayType,
|
52
|
-
name: '
|
53
|
+
name: 'Array',
|
53
54
|
}
|
54
55
|
}
|
55
56
|
}
|
@@ -79,4 +80,3 @@ describe "NRSER::Types.array" do
|
|
79
80
|
end # NRSER::Types.array
|
80
81
|
|
81
82
|
# ************************************************************************
|
82
|
-
|
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
describe_spec_file(
|
2
|
+
spec_path: __FILE__,
|
3
|
+
source_file: 'nrser/types/paths.rb',
|
4
|
+
module: NRSER::Types,
|
5
|
+
) do
|
2
6
|
|
3
|
-
|
4
|
-
|
5
|
-
describe "NRSER::Types.dir_path" do
|
6
|
-
subject { NRSER::Types.method :dir_path }
|
7
|
-
|
7
|
+
describe_method :dir_path do
|
8
8
|
include_examples 'make type',
|
9
9
|
accepts: [
|
10
10
|
'.',
|
@@ -20,10 +20,10 @@ describe_file 'types/paths.rb' do
|
|
20
20
|
Pathname.getwd => Pathname.getwd.to_s,
|
21
21
|
}
|
22
22
|
|
23
|
-
end #
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
end # method .dir_path
|
24
|
+
|
25
|
+
|
26
|
+
describe_method :file_path do
|
27
27
|
|
28
28
|
include_examples 'make type',
|
29
29
|
accepts: [
|
@@ -67,12 +67,10 @@ describe_file 'types/paths.rb' do
|
|
67
67
|
}
|
68
68
|
end # custom name
|
69
69
|
|
70
|
-
end #
|
70
|
+
end # method .dir_path
|
71
71
|
|
72
72
|
|
73
|
-
|
74
|
-
subject { NRSER::Types.method :path_seg }
|
75
|
-
|
73
|
+
describe_method :path_seg do
|
76
74
|
include_examples 'make type',
|
77
75
|
accepts: [
|
78
76
|
'hey',
|
@@ -89,9 +87,8 @@ describe_file 'types/paths.rb' do
|
|
89
87
|
name: 'POSIXPathSegment',
|
90
88
|
}
|
91
89
|
}
|
92
|
-
}
|
90
|
+
}
|
93
91
|
|
94
|
-
end #
|
95
|
-
|
92
|
+
end # method .path_seg
|
96
93
|
|
97
|
-
end
|
94
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -17,6 +17,7 @@ require 'cmds'
|
|
17
17
|
# Project / Package
|
18
18
|
# -----------------------------------------------------------------------
|
19
19
|
require 'nrser'
|
20
|
+
require 'nrser/refinements/types'
|
20
21
|
require 'nrser/rspex'
|
21
22
|
|
22
23
|
# Local Tree
|
@@ -28,6 +29,9 @@ RSpec.configure do |config|
|
|
28
29
|
unless ENV['LABS']
|
29
30
|
config.filter_run_excluding labs: true
|
30
31
|
end
|
32
|
+
|
33
|
+
config.example_status_persistence_file_path = \
|
34
|
+
NRSER::ROOT / 'tmp' / ".rspec_status"
|
31
35
|
end
|
32
36
|
|
33
37
|
|