unparser 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
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