tableware 0.1.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop-https---raw-githubusercontent-com-dvmtn-house-style-master-rubocop-yml +61 -10
- data/.semver +1 -1
- data/.tool-versions +1 -0
- data/.travis.yml +3 -2
- data/CHANGELOG.md +20 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile.lock +64 -69
- data/README.md +30 -3
- data/Rakefile +7 -8
- data/lib/tableware/parser.rb +12 -6
- data/lib/tableware/version.rb +1 -1
- data/rspec.json +1 -0
- data/tableware.gemspec +7 -6
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ca49afdba45dfa92333fe5f3181339b4b5e76de7f5e53a7a50bacfd75a267782
|
4
|
+
data.tar.gz: e3b144b1ad1257acf1c49bd09365b9b9bfc3eaa4386bec9f57d2b9bf37b38d88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea03a274626f5923cd62280792da7b22d9d0723088a3b9daf9e5c127fd3e98123c582c862bc5649fc8b9230e25f90605e28ad5f788ff8fb31f5920925c1e3e25
|
7
|
+
data.tar.gz: 9724722f54702bc3e26aeda0437c9f14ffae0909f79cc79576d29e9fd9fb8aee3975f381bb2109244daa03a2901666e2edc86fe658a15889c7889fdad67bce7e
|
@@ -3,6 +3,7 @@ AllCops:
|
|
3
3
|
- '**/Rakefile'
|
4
4
|
- '**/config.ru'
|
5
5
|
Exclude:
|
6
|
+
- 'ansible/**/*'
|
6
7
|
- 'db/**/*'
|
7
8
|
- 'config/**/*'
|
8
9
|
- 'script/**/*'
|
@@ -10,16 +11,29 @@ AllCops:
|
|
10
11
|
- 'vendor/**/*'
|
11
12
|
- 'bin/**/*'
|
12
13
|
- 'log/**/*'
|
14
|
+
- 'node_modules/**/*'
|
13
15
|
|
14
|
-
Rails:
|
15
|
-
Enabled: true
|
16
16
|
|
17
|
-
|
17
|
+
#############################################
|
18
|
+
# Layout
|
19
|
+
#
|
20
|
+
|
21
|
+
Layout/AlignHash:
|
18
22
|
EnforcedHashRocketStyle: table
|
19
23
|
EnforcedColonStyle: table
|
20
24
|
EnforcedLastArgumentHashStyle: ignore_implicit
|
21
25
|
SupportedLastArgumentHashStyles: ignore_implicit
|
22
26
|
|
27
|
+
Layout/EmptyLinesAroundClassBody:
|
28
|
+
EnforcedStyle: empty_lines
|
29
|
+
|
30
|
+
Layout/SpaceBeforeBlockBraces:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
#############################################
|
34
|
+
# Style
|
35
|
+
#
|
36
|
+
|
23
37
|
Style/DefWithParentheses:
|
24
38
|
Enabled: false
|
25
39
|
|
@@ -32,17 +46,23 @@ Style/MethodDefParentheses:
|
|
32
46
|
Style/Encoding:
|
33
47
|
Enabled: false
|
34
48
|
|
49
|
+
Style/SingleLineBlockParams:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
Style/EmptyCaseCondition:
|
53
|
+
Enabled: false
|
54
|
+
|
35
55
|
Style/PercentLiteralDelimiters:
|
36
56
|
PreferredDelimiters:
|
37
|
-
'%':
|
57
|
+
'%': '""'
|
38
58
|
'%i': '[]'
|
39
|
-
'%q': '
|
40
|
-
'%Q': '
|
41
|
-
'%r': '
|
59
|
+
'%q': "''"
|
60
|
+
'%Q': '""'
|
61
|
+
'%r': '()'
|
42
62
|
'%s': '[]'
|
43
63
|
'%w': '[]'
|
44
64
|
'%W': '[]'
|
45
|
-
'%x': '
|
65
|
+
'%x': '()'
|
46
66
|
|
47
67
|
Style/PredicateName:
|
48
68
|
NamePrefixBlacklist:
|
@@ -56,9 +76,40 @@ Style/PredicateName:
|
|
56
76
|
Style/SignalException:
|
57
77
|
EnforcedStyle: only_raise
|
58
78
|
|
59
|
-
Style/
|
60
|
-
|
79
|
+
Style/TrailingCommaInLiteral:
|
80
|
+
EnforcedStyleForMultiline: comma
|
81
|
+
|
82
|
+
Style/VariableNumber:
|
83
|
+
EnforcedStyle: snake_case
|
84
|
+
|
85
|
+
Style/VariableName:
|
86
|
+
Enabled: true
|
87
|
+
|
88
|
+
Style/FileName:
|
89
|
+
Exclude:
|
90
|
+
- 'Gemfile'
|
91
|
+
- 'Guardfile'
|
92
|
+
|
93
|
+
#############################################
|
94
|
+
# Metrics
|
95
|
+
#
|
61
96
|
|
62
97
|
Metrics/LineLength:
|
98
|
+
Exclude:
|
99
|
+
- 'spec/**/*'
|
63
100
|
Max: 140
|
64
101
|
AllowURI: true
|
102
|
+
|
103
|
+
Metrics/BlockLength:
|
104
|
+
Exclude:
|
105
|
+
- 'spec/**/*_spec.rb'
|
106
|
+
|
107
|
+
#############################################
|
108
|
+
# Security
|
109
|
+
#
|
110
|
+
|
111
|
+
Security/Eval:
|
112
|
+
Enabled: true
|
113
|
+
|
114
|
+
Security/MarshalLoad:
|
115
|
+
Enabled: true
|
data/.semver
CHANGED
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.7.2
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## v0.3.2 (12 July 2017)
|
2
|
+
|
3
|
+
* Small refactorings for Rubocop compliance
|
4
|
+
|
5
|
+
## v0.3.1 (12 July 2017)
|
6
|
+
|
7
|
+
* Allow + characters in the header delimiter row
|
8
|
+
|
9
|
+
== v0.2.1 (06 November 2016)
|
10
|
+
|
11
|
+
* Improve examples in the README
|
12
|
+
|
13
|
+
== v0.2.0 (06 November 2016)
|
14
|
+
|
15
|
+
* Allow a single row to be processed by prepending it with a `>` character
|
16
|
+
|
17
|
+
== v0.1.3 (16 August 2016)
|
18
|
+
|
19
|
+
* Allow spaces in the header delimiter row
|
20
|
+
|
1
21
|
== v0.1.2 (16 August 2016)
|
2
22
|
|
3
23
|
* Bump to play with Gem releases
|
data/CODE_OF_CONDUCT.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,110 +1,105 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
tableware (0.
|
4
|
+
tableware (1.0.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
|
10
|
-
|
11
|
-
ice_nine (~> 0.11.0)
|
12
|
-
memoizable (~> 0.4.0)
|
9
|
+
addressable (2.5.1)
|
10
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
13
11
|
ast (2.3.0)
|
14
12
|
axiom-types (0.1.1)
|
15
13
|
descendants_tracker (~> 0.0.4)
|
16
14
|
ice_nine (~> 0.11.0)
|
17
15
|
thread_safe (~> 0.3, >= 0.3.1)
|
18
|
-
codeclimate-engine-rb (0.
|
16
|
+
codeclimate-engine-rb (0.4.0)
|
19
17
|
virtus (~> 1.0)
|
20
18
|
coercible (1.0.0)
|
21
19
|
descendants_tracker (~> 0.0.1)
|
22
|
-
colorize (0.
|
23
|
-
concord (0.1.5)
|
24
|
-
adamantium (~> 0.2.0)
|
25
|
-
equalizer (~> 0.0.9)
|
20
|
+
colorize (0.8.1)
|
26
21
|
descendants_tracker (0.0.4)
|
27
22
|
thread_safe (~> 0.3, >= 0.3.1)
|
28
|
-
diff-lcs (1.
|
23
|
+
diff-lcs (1.3)
|
29
24
|
docile (1.1.5)
|
30
25
|
equalizer (0.0.11)
|
31
|
-
|
26
|
+
erubis (2.7.0)
|
27
|
+
fasterer (0.3.2)
|
32
28
|
colorize (~> 0.7)
|
33
|
-
ruby_parser (~> 3.
|
34
|
-
flay (2.
|
29
|
+
ruby_parser (~> 3.7)
|
30
|
+
flay (2.9.0)
|
31
|
+
erubis (~> 2.7.0)
|
32
|
+
path_expander (~> 1.0)
|
35
33
|
ruby_parser (~> 3.0)
|
36
34
|
sexp_processor (~> 4.0)
|
37
|
-
flog (4.
|
35
|
+
flog (4.6.1)
|
36
|
+
path_expander (~> 1.0)
|
38
37
|
ruby_parser (~> 3.1, > 3.1.0)
|
39
|
-
sexp_processor (~> 4.
|
38
|
+
sexp_processor (~> 4.8)
|
40
39
|
ice_nine (0.11.2)
|
41
|
-
json (
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
json (2.5.1)
|
41
|
+
launchy (2.4.3)
|
42
|
+
addressable (~> 2.3)
|
43
|
+
parallel (1.11.2)
|
44
|
+
parser (2.4.0.0)
|
45
45
|
ast (~> 2.2)
|
46
|
+
path_expander (1.0.2)
|
46
47
|
powerpack (0.1.1)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
rake (
|
51
|
-
rake-n-bake (1.
|
52
|
-
rake (
|
48
|
+
public_suffix (2.0.5)
|
49
|
+
rainbow (2.2.2)
|
50
|
+
rake
|
51
|
+
rake (13.0.3)
|
52
|
+
rake-n-bake (2.1.0)
|
53
|
+
rake (>= 10)
|
53
54
|
term-ansicolor (~> 1.3)
|
54
|
-
reek (
|
55
|
-
codeclimate-engine-rb (~> 0.
|
56
|
-
parser (
|
57
|
-
private_attr (~> 1.1)
|
55
|
+
reek (4.7.1)
|
56
|
+
codeclimate-engine-rb (~> 0.4.0)
|
57
|
+
parser (>= 2.4.0.0, < 2.5)
|
58
58
|
rainbow (~> 2.0)
|
59
|
-
|
60
|
-
|
61
|
-
rspec-
|
62
|
-
rspec-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
rspec-expectations (3.4.0)
|
59
|
+
rspec (3.6.0)
|
60
|
+
rspec-core (~> 3.6.0)
|
61
|
+
rspec-expectations (~> 3.6.0)
|
62
|
+
rspec-mocks (~> 3.6.0)
|
63
|
+
rspec-core (3.6.0)
|
64
|
+
rspec-support (~> 3.6.0)
|
65
|
+
rspec-expectations (3.6.0)
|
67
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
68
|
-
rspec-support (~> 3.
|
69
|
-
rspec-mocks (3.
|
67
|
+
rspec-support (~> 3.6.0)
|
68
|
+
rspec-mocks (3.6.0)
|
70
69
|
diff-lcs (>= 1.2.0, < 2.0)
|
71
|
-
rspec-support (~> 3.
|
72
|
-
rspec-support (3.
|
73
|
-
rubocop (0.
|
74
|
-
|
70
|
+
rspec-support (~> 3.6.0)
|
71
|
+
rspec-support (3.6.0)
|
72
|
+
rubocop (0.49.1)
|
73
|
+
parallel (~> 1.10)
|
74
|
+
parser (>= 2.3.3.1, < 3.0)
|
75
75
|
powerpack (~> 0.1)
|
76
76
|
rainbow (>= 1.99.1, < 3.0)
|
77
77
|
ruby-progressbar (~> 1.7)
|
78
78
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
79
79
|
ruby-progressbar (1.8.1)
|
80
|
-
ruby_parser (3.
|
80
|
+
ruby_parser (3.9.0)
|
81
81
|
sexp_processor (~> 4.1)
|
82
|
-
rubycritic (2.
|
83
|
-
flay (
|
84
|
-
flog (
|
85
|
-
|
86
|
-
|
82
|
+
rubycritic (3.2.3)
|
83
|
+
flay (~> 2.8)
|
84
|
+
flog (~> 4.4)
|
85
|
+
launchy (= 2.4.3)
|
86
|
+
parser (~> 2.4.0)
|
87
|
+
rainbow (~> 2.1)
|
88
|
+
reek (~> 4.4)
|
89
|
+
ruby_parser (~> 3.8)
|
87
90
|
virtus (~> 1.0)
|
88
91
|
semver2 (3.4.2)
|
89
|
-
sexp_processor (4.
|
90
|
-
simplecov (0.
|
92
|
+
sexp_processor (4.9.0)
|
93
|
+
simplecov (0.14.1)
|
91
94
|
docile (~> 1.1.0)
|
92
|
-
json (
|
95
|
+
json (>= 1.8, < 3)
|
93
96
|
simplecov-html (~> 0.10.0)
|
94
|
-
simplecov-html (0.10.
|
95
|
-
term-ansicolor (1.
|
97
|
+
simplecov-html (0.10.1)
|
98
|
+
term-ansicolor (1.6.0)
|
96
99
|
tins (~> 1.0)
|
97
|
-
thread_safe (0.3.
|
98
|
-
tins (1.
|
99
|
-
unicode-display_width (1.
|
100
|
-
unparser (0.2.5)
|
101
|
-
abstract_type (~> 0.0.7)
|
102
|
-
adamantium (~> 0.2.0)
|
103
|
-
concord (~> 0.1.5)
|
104
|
-
diff-lcs (~> 1.2.5)
|
105
|
-
equalizer (~> 0.0.9)
|
106
|
-
parser (~> 2.3.0)
|
107
|
-
procto (~> 0.0.2)
|
100
|
+
thread_safe (0.3.6)
|
101
|
+
tins (1.15.0)
|
102
|
+
unicode-display_width (1.3.0)
|
108
103
|
virtus (1.0.5)
|
109
104
|
axiom-types (~> 0.1)
|
110
105
|
coercible (~> 1.0)
|
@@ -115,9 +110,9 @@ PLATFORMS
|
|
115
110
|
ruby
|
116
111
|
|
117
112
|
DEPENDENCIES
|
118
|
-
bundler (~>
|
113
|
+
bundler (~> 2.0)
|
119
114
|
fasterer
|
120
|
-
rake (~>
|
115
|
+
rake (~> 13.0)
|
121
116
|
rake-n-bake
|
122
117
|
rspec (~> 3.0)
|
123
118
|
rubocop
|
@@ -127,4 +122,4 @@ DEPENDENCIES
|
|
127
122
|
tableware!
|
128
123
|
|
129
124
|
BUNDLED WITH
|
130
|
-
|
125
|
+
2.2.3
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Tableware
|
2
2
|
|
3
|
-
Tableware is a tiny gem for making it easier to define data in
|
3
|
+
Tableware is a tiny gem for making it easier to define data in a text table.
|
4
4
|
Table rows are parsed into either arrays or hashes.
|
5
5
|
|
6
6
|
For example:
|
@@ -27,7 +27,7 @@ Tableware.hashes(stats)
|
|
27
27
|
]
|
28
28
|
```
|
29
29
|
|
30
|
-
Writing test data or a matrix of permissions in a big hash or nested array is fine, but it can be a pain to format
|
30
|
+
Writing test data or a matrix of permissions in a big hash or nested array is fine, but it can be a pain to format and work with, especially for larger data sets or with items of very different lengths.
|
31
31
|
|
32
32
|
Tableware lets you use a more human friendly format so that you can more easily scan and understand the data.
|
33
33
|
|
@@ -35,7 +35,34 @@ The downside is that everything is treated as a string, so you may need to do so
|
|
35
35
|
|
36
36
|
This isn't always going to be better than defining your data in another format, but it is another option. Or perhaps you just like Cucumber scenario outlines and want something similar in rspec!
|
37
37
|
|
38
|
-
|
38
|
+
### Focus a single row
|
39
|
+
|
40
|
+
You can focus a single row, to help with debugging, by prepending a line with `>`.
|
41
|
+
For example:
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
words = ' Foo | Bar
|
45
|
+
> Yay | Woo
|
46
|
+
Zip | Zap '
|
47
|
+
|
48
|
+
Tableware.arrays(words)
|
49
|
+
#=> [ ['Yay', 'Woo'] ]
|
50
|
+
```
|
51
|
+
|
52
|
+
### Focus multiple rows
|
53
|
+
|
54
|
+
Running multiple rows cannot be achieved with prepending `>`. Instead, use [Enum#select](https://ruby-doc.org/core-2.3.1/Enumerable.html#method-i-select) (or `reject`) to decide which lines to process. For the the previous example, you could achieve the same result using select as follows:
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
words = ' Foo | Bar
|
58
|
+
Yay | Woo
|
59
|
+
Zip | Zap '
|
60
|
+
|
61
|
+
Tableware.arrays(words).select{ |row| row.first == 'Yay' }
|
62
|
+
#=> [ ['Yay', 'Woo'] ]
|
63
|
+
```
|
64
|
+
|
65
|
+
This gem has been created as a quick experiment to see if or how often this feature could be useful.
|
39
66
|
If you find it useful, please like it or better yet, extend it!
|
40
67
|
|
41
68
|
|
data/Rakefile
CHANGED
@@ -4,12 +4,11 @@ require 'rake-n-bake'
|
|
4
4
|
|
5
5
|
RSpec::Core::RakeTask.new(:spec)
|
6
6
|
|
7
|
-
task default: [
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
:"bake:ok_rainbow"
|
7
|
+
task default: %i[
|
8
|
+
bake:rspec
|
9
|
+
bake:coverage:check_specs
|
10
|
+
bake:rubocop
|
11
|
+
bake:rubycritic
|
12
|
+
bake:fasterer
|
13
|
+
bake:ok_rainbow
|
15
14
|
]
|
data/lib/tableware/parser.rb
CHANGED
@@ -4,8 +4,8 @@ class Tableware
|
|
4
4
|
|
5
5
|
class TableWithoutHeaderError < StandardError; end
|
6
6
|
|
7
|
-
ROW_START =
|
8
|
-
ROW_END =
|
7
|
+
ROW_START = /^>?\s*\|?/
|
8
|
+
ROW_END = /\|?\s*$/
|
9
9
|
|
10
10
|
def arrays(input)
|
11
11
|
make_arrays(input)
|
@@ -13,19 +13,23 @@ class Tableware
|
|
13
13
|
|
14
14
|
def hashes(input)
|
15
15
|
items = make_arrays(input)
|
16
|
-
raise TableWithoutHeaderError, 'Sorry, only text tables with
|
16
|
+
raise TableWithoutHeaderError, 'Sorry, only text tables with header rows can be turned into hashes' unless @headers
|
17
17
|
items.map! { |row| @headers.zip(row).to_h }
|
18
18
|
end
|
19
19
|
|
20
20
|
private def make_arrays(input)
|
21
21
|
lines = prepare_lines(input)
|
22
|
-
lines[@data_start..-1].map
|
22
|
+
lines[@data_start..-1].map do |line|
|
23
|
+
parsed = parse_line(line)
|
24
|
+
return [parsed] if @focused_line
|
25
|
+
parsed
|
26
|
+
end
|
23
27
|
end
|
24
28
|
|
25
29
|
private def prepare_lines(input)
|
26
30
|
lines = input.strip.lines
|
27
31
|
|
28
|
-
@data_start = lines[1] =~ /^\s*[
|
32
|
+
@data_start = lines[1] =~ /^\s*[-=+\| ]+\s*$/ ? 2 : 0
|
29
33
|
if @data_start.nonzero?
|
30
34
|
@headers = parse_line(lines[0])
|
31
35
|
.map!(&:downcase)
|
@@ -38,9 +42,11 @@ class Tableware
|
|
38
42
|
|
39
43
|
private def parse_line(line)
|
40
44
|
line
|
45
|
+
.strip
|
46
|
+
.tap { |ln| @focused_line = ln[0] == '>' }
|
41
47
|
.sub(ROW_START, '')
|
42
48
|
.sub(ROW_END, '')
|
43
|
-
.split('|')
|
49
|
+
.split(' | ')
|
44
50
|
.map!(&:strip)
|
45
51
|
end
|
46
52
|
|
data/lib/tableware/version.rb
CHANGED
data/rspec.json
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":"3.4.4","examples":[{"description":"parses a table without a header row","full_description":"Tableware::Parser.arrays parses a table without a header row","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":13,"run_time":0.0016,"pending_message":null},{"description":"parses a table with a header row","full_description":"Tableware::Parser.arrays parses a table with a header row","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":23,"run_time":0.000186,"pending_message":null},{"description":"parses a table with a header row with alternate formatting","full_description":"Tableware::Parser.arrays parses a table with a header row with alternate formatting","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":35,"run_time":0.000127,"pending_message":null},{"description":"parses a table without side delimiters","full_description":"Tableware::Parser.arrays parses a table without side delimiters","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":45,"run_time":0.000567,"pending_message":null},{"description":"parses a table with side delimiters","full_description":"Tableware::Parser.arrays parses a table with side delimiters","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":55,"run_time":0.000117,"pending_message":null},{"description":"parses tables with columns including blank spaces","full_description":"Tableware::Parser.arrays parses tables with columns including blank spaces","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":65,"run_time":0.000469,"pending_message":null},{"description":"parses tables with header rows","full_description":"Tableware::Parser.hashes parses tables with header rows","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":81,"run_time":0.000139,"pending_message":null},{"description":"does some simple transformations on headings to make them more like idiomatic Ruby symbols","full_description":"Tableware::Parser.hashes does some simple transformations on headings to make them more like idiomatic Ruby symbols","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":97,"run_time":0.000111,"pending_message":null},{"description":"raises a sensible exception if called on a table without a heading row","full_description":"Tableware::Parser.hashes raises a sensible exception if called on a table without a heading row","status":"passed","file_path":"./spec/tableware/parser_spec.rb","line_number":102,"run_time":0.002377,"pending_message":null},{"description":"has a version number","full_description":"Tableware has a version number","status":"passed","file_path":"./spec/tableware_spec.rb","line_number":4,"run_time":0.00152,"pending_message":null},{"description":"parses a text table into a 2D array","full_description":"Tableware.arrays parses a text table into a 2D array","status":"passed","file_path":"./spec/tableware_spec.rb","line_number":19,"run_time":0.000194,"pending_message":null},{"description":"parases a text table into an array of hashes","full_description":"Tableware.hashes parases a text table into an array of hashes","status":"passed","file_path":"./spec/tableware_spec.rb","line_number":31,"run_time":0.000135,"pending_message":null}],"summary":{"duration":0.009868,"example_count":12,"failure_count":0,"pending_count":0},"summary_line":"12 examples, 0 failures"}
|
data/tableware.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'tableware/version'
|
@@ -7,20 +8,20 @@ Gem::Specification.new do |spec|
|
|
7
8
|
spec.name = 'tableware'
|
8
9
|
spec.version = Tableware::VERSION
|
9
10
|
spec.authors = ['Adam Whittingham']
|
10
|
-
spec.email = ['adam@
|
11
|
+
spec.email = ['adam.whittingham+gems@gmail.com']
|
11
12
|
|
12
13
|
spec.summary = 'A nice way of parsing text tables into Arrays or Hashes '
|
13
|
-
spec.description = 'A nice way of parsing text tables into Ararys or Hashes
|
14
|
-
spec.homepage =
|
14
|
+
spec.description = 'A nice way of parsing text tables into Ararys or Hashes for clearer code. Great for tests & permissions matrixes!'
|
15
|
+
spec.homepage = 'https://github.com/AdamWhittingham/tableware'
|
15
16
|
spec.license = 'MIT'
|
16
17
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
19
|
spec.bindir = 'exe'
|
19
|
-
spec.executables = spec.files.grep(%r
|
20
|
+
spec.executables = spec.files.grep(%r(^exe/)) { |f| File.basename(f) }
|
20
21
|
spec.require_paths = ['lib']
|
21
22
|
|
22
|
-
spec.add_development_dependency 'bundler', '~>
|
23
|
-
spec.add_development_dependency 'rake', '~>
|
23
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
24
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
24
25
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
26
|
spec.add_development_dependency 'rake-n-bake'
|
26
27
|
spec.add_development_dependency 'simplecov'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tableware
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Whittingham
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,10 +136,10 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
description: A nice way of parsing text tables into Ararys or Hashes
|
140
|
-
|
139
|
+
description: A nice way of parsing text tables into Ararys or Hashes for clearer code.
|
140
|
+
Great for tests & permissions matrixes!
|
141
141
|
email:
|
142
|
-
- adam@
|
142
|
+
- adam.whittingham+gems@gmail.com
|
143
143
|
executables: []
|
144
144
|
extensions: []
|
145
145
|
extra_rdoc_files: []
|
@@ -150,6 +150,7 @@ files:
|
|
150
150
|
- ".rubocop.yml"
|
151
151
|
- ".ruby-version"
|
152
152
|
- ".semver"
|
153
|
+
- ".tool-versions"
|
153
154
|
- ".travis.yml"
|
154
155
|
- CHANGELOG.md
|
155
156
|
- CODE_OF_CONDUCT.md
|
@@ -163,12 +164,13 @@ files:
|
|
163
164
|
- lib/tableware.rb
|
164
165
|
- lib/tableware/parser.rb
|
165
166
|
- lib/tableware/version.rb
|
167
|
+
- rspec.json
|
166
168
|
- tableware.gemspec
|
167
169
|
homepage: https://github.com/AdamWhittingham/tableware
|
168
170
|
licenses:
|
169
171
|
- MIT
|
170
172
|
metadata: {}
|
171
|
-
post_install_message:
|
173
|
+
post_install_message:
|
172
174
|
rdoc_options: []
|
173
175
|
require_paths:
|
174
176
|
- lib
|
@@ -183,9 +185,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
185
|
- !ruby/object:Gem::Version
|
184
186
|
version: '0'
|
185
187
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
signing_key:
|
188
|
+
rubygems_version: 3.1.4
|
189
|
+
signing_key:
|
189
190
|
specification_version: 4
|
190
191
|
summary: A nice way of parsing text tables into Arrays or Hashes
|
191
192
|
test_files: []
|