unparser 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc149df7cd940bb78d005b8f3d30635a877c270d37f40cfe8e7d9ba8b305ab8a
4
- data.tar.gz: c8a1d3dd4aba58f7fd6a6188341916566857057663d660bd24a2d40f6247158a
3
+ metadata.gz: 0dee214bf2371dbf22755d995f36fd96cd1a93b2a2bf846382525c8d41e61ecf
4
+ data.tar.gz: 6ed35f024038b383369479b1ff851a7a2cc207b248a2340f218e452b2dded583
5
5
  SHA512:
6
- metadata.gz: 1cba4e5c9f029441dbca0eb39304478562e76c13023ec22b83dc5eeb58d7640d5c0d83878dad104e45ae6369662f3be0e7141398fb7cf37f6e4932075e305b0b
7
- data.tar.gz: 2c61445c8d43bf01f24bb2f79dd2c49ba96fceef9479c6f1b94a77d7b5eba43fb79f0bbbf7d3995e143b81d208da6ad04852ec761daaf210741f46a049da0893
6
+ metadata.gz: 534bc06ed25ef60d1a111fc301b75bb97632cb988498cd48914a6cd8bef7d13710f24674ee9166c05f2f01d53cc7e2dfd13289c27d0789ade5a45b32d4a4e9a2
7
+ data.tar.gz: f84a1c3efd6f6c2d77990ac57b266ca1e50b45dbd35202b294972cb9b094c6dfa4e7026986f0ab7ca0c82726f6deac77db9d7f5b6ba940f6203795649f9ee1eb
@@ -0,0 +1,90 @@
1
+ name: CI
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ base:
7
+ name: Base steps
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v2
11
+ - name: Check Whitespace
12
+ run: git diff --check -- HEAD~1
13
+ ruby-unit-spec:
14
+ name: Unit Specs
15
+ runs-on: ${{ matrix.os }}
16
+ timeout-minutes: 5
17
+ strategy:
18
+ fail-fast: false
19
+ matrix:
20
+ ruby: ['2.6']
21
+ os: [ubuntu-latest]
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+ - uses: actions/setup-ruby@v1
25
+ with:
26
+ ruby-version: ${{ matrix.ruby }}
27
+ - run: |
28
+ gem install bundler
29
+ bundle install
30
+ - run: bundle exec rspec spec/unit
31
+ ruby-integration-spec:
32
+ name: Integration Specs
33
+ runs-on: ${{ matrix.os }}
34
+ timeout-minutes: 5
35
+ strategy:
36
+ fail-fast: false
37
+ matrix:
38
+ ruby: ['2.6']
39
+ os: [ubuntu-latest]
40
+ steps:
41
+ - uses: actions/checkout@v2
42
+ - uses: actions/setup-ruby@v1
43
+ with:
44
+ ruby-version: ${{ matrix.ruby }}
45
+ - run: |
46
+ gem install bundler
47
+ bundle install
48
+ - run: bundle exec rspec spec/integration
49
+ ruby-mutant:
50
+ name: Mutation coverage
51
+ runs-on: ${{ matrix.os }}
52
+ timeout-minutes: 5
53
+ strategy:
54
+ fail-fast: false
55
+ matrix:
56
+ ruby: ['2.6']
57
+ os: [ubuntu-latest]
58
+ steps:
59
+ - uses: actions/checkout@v2
60
+ with:
61
+ fetch-depth: 0
62
+ - uses: actions/setup-ruby@v1
63
+ with:
64
+ ruby-version: ${{ matrix.ruby }}
65
+ - run: |
66
+ gem install bundler
67
+ bundle install
68
+ - run: |
69
+ bundle exec mutant \
70
+ --since HEAD~1 \
71
+ --zombie \
72
+ --ignore-subject 'Unparser::CLI*' \
73
+ --ignore-subject 'Unparser::Validation.from_string' \
74
+ -- 'Unparser*'
75
+ ruby-rubocop:
76
+ name: Rubocop
77
+ runs-on: ${{ matrix.os }}
78
+ timeout-minutes: 5
79
+ strategy:
80
+ fail-fast: false
81
+ matrix:
82
+ ruby: ['2.6']
83
+ os: [ubuntu-latest]
84
+ steps:
85
+ - uses: actions/checkout@v2
86
+ - uses: actions/setup-ruby@v1
87
+ with:
88
+ ruby-version: ${{ matrix.ruby }}
89
+ - run: bundle install
90
+ - run: bundle exec rubocop
@@ -1,9 +1,126 @@
1
1
  AllCops:
2
2
  Include:
3
+ - 'lib/unparser.rb'
4
+ - 'lib/unparser/**/*.rb'
5
+ - '**/*.rake'
3
6
  - 'Gemfile'
7
+ - 'Gemfile.triage'
8
+
9
+ # Avoid parameter lists longer than five parameters.
10
+ ParameterLists:
11
+ Max: 3
12
+ CountKeywordArgs: true
13
+
14
+ MethodLength:
15
+ CountComments: false
16
+ Max: 17
17
+
18
+ AbcSize:
19
+ Max: 18
20
+
21
+ # Avoid more than `Max` levels of nesting.
22
+ BlockNesting:
23
+ Max: 3
24
+
25
+ # Align with the style guide.
26
+ CollectionMethods:
27
+ PreferredMethods:
28
+ collect: 'map'
29
+ inject: 'reduce'
30
+ find: 'detect'
31
+ find_all: 'select'
32
+
33
+ # Limit line length
34
+ LineLength:
35
+ Max: 113 # TODO: lower to 79 once the rubocop branch in shared/Gemfile is removed
36
+
37
+ ClassLength:
38
+ Max: 204
39
+
40
+ # Prefer modifiers and explicit if statements over returning early for small methods
41
+ GuardClause:
42
+ Enabled: false
43
+
44
+ Metrics/BlockLength:
4
45
  Exclude:
5
- - 'Gemfile.devtools'
6
- - 'vendor/**/*'
7
- - 'benchmarks/**/*'
8
- - 'tmp/**/*'
9
- TargetRubyVersion: 2.5
46
+ # Ignore RSpec DSL
47
+ - spec/**/*
48
+
49
+ # Flags freezes for singletons that could still be mutated like Regexps
50
+ RedundantFreeze:
51
+ Enabled: false
52
+
53
+ # Allow Fixnum and Bignum. This Gem supports versions before 2.4
54
+ UnifiedInteger:
55
+ Enabled: false
56
+
57
+ # Disabled because of indenting with private keyword in class bodies.
58
+ IndentationWidth:
59
+ Enabled: false
60
+
61
+ # I like raise more
62
+ SignalException:
63
+ Enabled: false
64
+
65
+ # False positive in unparser source
66
+ OneLineConditional:
67
+ Enabled: false
68
+
69
+ Documentation:
70
+ Enabled: false
71
+
72
+ # Disable documentation checking until a class needs to be documented once
73
+ Documentation:
74
+ Enabled: false
75
+
76
+ # Do not favor modifier if/unless usage when you have a single-line body
77
+ IfUnlessModifier:
78
+ Enabled: false
79
+
80
+ # Allow case equality operator (in limited use within the specs)
81
+ CaseEquality:
82
+ Enabled: false
83
+
84
+ # Constants do not always have to use SCREAMING_SNAKE_CASE
85
+ ConstantName:
86
+ Enabled: false
87
+
88
+ # Not all trivial readers/writers can be defined with attr_* methods
89
+ TrivialAccessors:
90
+ Enabled: false
91
+
92
+ # I like to have an empty line before closing the currently opened body
93
+ EmptyLinesAroundBlockBody:
94
+ Enabled: false
95
+
96
+ EmptyLinesAroundClassBody:
97
+ Enabled: false
98
+
99
+ EmptyLinesAroundModuleBody:
100
+ Enabled: false
101
+
102
+ # I like my style more
103
+ AccessModifierIndentation:
104
+ Enabled: false
105
+
106
+ Style/CommentedKeyword:
107
+ Enabled: false
108
+
109
+ Style/MixinGrouping:
110
+ Enabled: false
111
+
112
+ Lint/BooleanSymbol:
113
+ Enabled: false
114
+
115
+ Style/AccessModifierDeclarations:
116
+ Enabled: false
117
+
118
+ Layout/HashAlignment:
119
+ EnforcedColonStyle: table
120
+ EnforcedHashRocketStyle: table
121
+
122
+ Naming/RescuedExceptionsVariableName:
123
+ Enabled: false
124
+
125
+ Layout/MultilineMethodCallIndentation:
126
+ Enabled: false
@@ -1,3 +1,9 @@
1
+ # v0.4.8 2020-05-25
2
+
3
+ * Change to specific node type when unparser fails on an unknown node type: [#150](https://github.com/mbj/unparser/pull/150)
4
+ * Significantly improve verifier (only useful for debugging)
5
+ * Add `Unparser::Color` module for colorized source diffs
6
+
1
7
  # v0.4.7 2020-01-03
2
8
 
3
9
  * Add support for endless ranges
@@ -4,9 +4,11 @@ PATH
4
4
  unparser (0.4.7)
5
5
  abstract_type (~> 0.0.7)
6
6
  adamantium (~> 0.2.0)
7
+ anima (~> 0.3.1)
7
8
  concord (~> 0.1.5)
8
9
  diff-lcs (~> 1.3)
9
10
  equalizer (~> 0.0.9)
11
+ mprelude (~> 0.1.0)
10
12
  parser (>= 2.6.5)
11
13
  procto (~> 0.0.2)
12
14
 
@@ -22,65 +24,16 @@ GEM
22
24
  abstract_type (~> 0.0.7)
23
25
  adamantium (~> 0.2)
24
26
  equalizer (~> 0.0.11)
25
- ast (2.4.0)
26
- axiom-types (0.1.1)
27
- descendants_tracker (~> 0.0.4)
28
- ice_nine (~> 0.11.0)
29
- thread_safe (~> 0.3, >= 0.3.1)
30
- codeclimate-engine-rb (0.4.1)
31
- virtus (~> 1.0)
32
- coercible (1.0.0)
33
- descendants_tracker (~> 0.0.1)
27
+ ast (2.4.1)
34
28
  concord (0.1.5)
35
29
  adamantium (~> 0.2.0)
36
30
  equalizer (~> 0.0.9)
37
- descendants_tracker (0.0.4)
38
- thread_safe (~> 0.3, >= 0.3.1)
39
- devtools (0.1.24)
40
- abstract_type (~> 0.0.7)
41
- adamantium (~> 0.2.0)
42
- anima (~> 0.3.0)
43
- concord (~> 0.1.5)
44
- flay (~> 2.12.0)
45
- flog (~> 4.6.2)
46
- procto (~> 0.0.3)
47
- rake (~> 12.3.0)
48
- reek (~> 5.3.0)
49
- rspec (~> 3.8.0)
50
- rspec-core (~> 3.8.0)
51
- rspec-its (~> 1.2.0)
52
- rubocop (~> 0.61.1)
53
- simplecov (~> 0.16.1)
54
- yard (~> 0.9.16)
55
- yardstick (~> 0.9.9)
56
31
  diff-lcs (1.3)
57
- docile (1.3.2)
58
32
  equalizer (0.0.11)
59
- erubis (2.7.0)
60
- flay (2.12.1)
61
- erubis (~> 2.7.0)
62
- path_expander (~> 1.0)
63
- ruby_parser (~> 3.0)
64
- sexp_processor (~> 4.0)
65
- flog (4.6.4)
66
- path_expander (~> 1.0)
67
- ruby_parser (~> 3.1, > 3.1.0)
68
- sexp_processor (~> 4.8)
69
33
  ice_nine (0.11.2)
70
34
  jaro_winkler (1.5.4)
71
- json (2.3.0)
72
- kwalify (0.7.2)
73
35
  memoizable (0.4.2)
74
36
  thread_safe (~> 0.3, >= 0.3.1)
75
- morpher (0.2.6)
76
- abstract_type (~> 0.0.7)
77
- adamantium (~> 0.2.0)
78
- anima (~> 0.3.0)
79
- ast (~> 2.2)
80
- concord (~> 0.1.5)
81
- equalizer (~> 0.0.9)
82
- ice_nine (~> 0.11.0)
83
- procto (~> 0.0.2)
84
37
  mprelude (0.1.0)
85
38
  abstract_type (~> 0.0.7)
86
39
  adamantium (~> 0.2.0)
@@ -88,93 +41,70 @@ GEM
88
41
  equalizer (~> 0.0.9)
89
42
  ice_nine (~> 0.11.1)
90
43
  procto (~> 0.0.2)
91
- mutant (0.9.4)
44
+ mutant (0.9.9)
92
45
  abstract_type (~> 0.0.7)
93
46
  adamantium (~> 0.2.0)
94
47
  anima (~> 0.3.1)
95
48
  ast (~> 2.2)
96
49
  concord (~> 0.1.5)
97
- diff-lcs (~> 1.3)
50
+ diff-lcs (= 1.3)
98
51
  equalizer (~> 0.0.9)
99
52
  ice_nine (~> 0.11.1)
100
53
  memoizable (~> 0.4.2)
101
54
  mprelude (~> 0.1.0)
102
- parser (~> 2.6.5)
55
+ parser (~> 2.7.1)
103
56
  procto (~> 0.0.2)
104
57
  unparser (~> 0.4.6)
58
+ variable (~> 0.0.1)
105
59
  mutant-license (0.1.0)
106
- mutant-rspec (0.9.4)
107
- mutant (~> 0.9.4)
60
+ mutant-rspec (0.9.9)
61
+ mutant (~> 0.9.9)
108
62
  rspec-core (>= 3.8.0, < 4.0.0)
109
- parallel (1.19.1)
110
- parser (2.6.5.0)
111
- ast (~> 2.4.0)
112
- path_expander (1.1.0)
113
- powerpack (0.1.2)
63
+ parallel (1.19.2)
64
+ parser (2.7.1.4)
65
+ ast (~> 2.4.1)
114
66
  procto (0.0.3)
115
- psych (3.1.0)
116
67
  rainbow (3.0.0)
117
- rake (12.3.3)
118
- reek (5.3.2)
119
- codeclimate-engine-rb (~> 0.4.0)
120
- kwalify (~> 0.7.0)
121
- parser (>= 2.5.0.0, < 2.7, != 2.5.1.1)
122
- psych (~> 3.1.0)
123
- rainbow (>= 2.0, < 4.0)
124
- rspec (3.8.0)
125
- rspec-core (~> 3.8.0)
126
- rspec-expectations (~> 3.8.0)
127
- rspec-mocks (~> 3.8.0)
128
- rspec-core (3.8.2)
129
- rspec-support (~> 3.8.0)
130
- rspec-expectations (3.8.6)
68
+ rspec (3.9.0)
69
+ rspec-core (~> 3.9.0)
70
+ rspec-expectations (~> 3.9.0)
71
+ rspec-mocks (~> 3.9.0)
72
+ rspec-core (3.9.2)
73
+ rspec-support (~> 3.9.3)
74
+ rspec-expectations (3.9.2)
131
75
  diff-lcs (>= 1.2.0, < 2.0)
132
- rspec-support (~> 3.8.0)
76
+ rspec-support (~> 3.9.0)
133
77
  rspec-its (1.2.0)
134
78
  rspec-core (>= 3.0.0)
135
79
  rspec-expectations (>= 3.0.0)
136
- rspec-mocks (3.8.2)
80
+ rspec-mocks (3.9.1)
137
81
  diff-lcs (>= 1.2.0, < 2.0)
138
- rspec-support (~> 3.8.0)
139
- rspec-support (3.8.3)
140
- rubocop (0.61.1)
82
+ rspec-support (~> 3.9.0)
83
+ rspec-support (3.9.3)
84
+ rubocop (0.79.0)
141
85
  jaro_winkler (~> 1.5.1)
142
86
  parallel (~> 1.10)
143
- parser (>= 2.5, != 2.5.1.1)
144
- powerpack (~> 0.1)
87
+ parser (>= 2.7.0.1)
145
88
  rainbow (>= 2.2.2, < 4.0)
146
89
  ruby-progressbar (~> 1.7)
147
- unicode-display_width (~> 1.4.0)
90
+ unicode-display_width (>= 1.4.0, < 1.7)
148
91
  ruby-progressbar (1.10.1)
149
- ruby_parser (3.14.1)
150
- sexp_processor (~> 4.9)
151
- sexp_processor (4.13.0)
152
- simplecov (0.16.1)
153
- docile (~> 1.1)
154
- json (>= 1.8, < 3)
155
- simplecov-html (~> 0.10.0)
156
- simplecov-html (0.10.2)
157
92
  thread_safe (0.3.6)
158
- unicode-display_width (1.4.1)
159
- virtus (1.0.5)
160
- axiom-types (~> 0.1)
161
- coercible (~> 1.0)
162
- descendants_tracker (~> 0.0, >= 0.0.3)
163
- equalizer (~> 0.0, >= 0.0.9)
164
- yard (0.9.22)
165
- yardstick (0.9.9)
166
- yard (~> 0.8, >= 0.8.7.2)
93
+ unicode-display_width (1.6.1)
94
+ variable (0.0.1)
95
+ equalizer (~> 0.0.11)
167
96
 
168
97
  PLATFORMS
169
98
  ruby
170
99
 
171
100
  DEPENDENCIES
172
- anima (~> 0.3.1)
173
- devtools (~> 0.1.23)
174
- morpher (~> 0.2.6)
175
- mutant (~> 0.9.4)
101
+ mutant (~> 0.9.9)
176
102
  mutant-license!
177
- mutant-rspec (~> 0.9.4)
103
+ mutant-rspec (~> 0.9.9)
104
+ rspec (~> 3.9)
105
+ rspec-core (~> 3.9)
106
+ rspec-its (~> 1.2.0)
107
+ rubocop (~> 0.79.0)
178
108
  unparser!
179
109
 
180
110
  BUNDLED WITH