andyw8-seeing_is_believing 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/test.yml +60 -0
  3. data/.gitignore +19 -0
  4. data/.rspec +2 -0
  5. data/Gemfile +2 -0
  6. data/README.md +70 -0
  7. data/Rakefile +88 -0
  8. data/appveyor.yml +32 -0
  9. data/bin/seeing_is_believing +7 -0
  10. data/docs/example.gif +0 -0
  11. data/docs/frog-brown.png +0 -0
  12. data/docs/sib-streaming.gif +0 -0
  13. data/features/deprecated-flags.feature +91 -0
  14. data/features/errors.feature +155 -0
  15. data/features/examples.feature +423 -0
  16. data/features/flags.feature +852 -0
  17. data/features/regression.feature +898 -0
  18. data/features/support/env.rb +102 -0
  19. data/features/xmpfilter-style.feature +471 -0
  20. data/lib/seeing_is_believing/binary/align_chunk.rb +47 -0
  21. data/lib/seeing_is_believing/binary/align_file.rb +24 -0
  22. data/lib/seeing_is_believing/binary/align_line.rb +25 -0
  23. data/lib/seeing_is_believing/binary/annotate_end_of_file.rb +56 -0
  24. data/lib/seeing_is_believing/binary/annotate_every_line.rb +52 -0
  25. data/lib/seeing_is_believing/binary/annotate_marked_lines.rb +179 -0
  26. data/lib/seeing_is_believing/binary/comment_lines.rb +36 -0
  27. data/lib/seeing_is_believing/binary/commentable_lines.rb +126 -0
  28. data/lib/seeing_is_believing/binary/config.rb +455 -0
  29. data/lib/seeing_is_believing/binary/data_structures.rb +58 -0
  30. data/lib/seeing_is_believing/binary/engine.rb +161 -0
  31. data/lib/seeing_is_believing/binary/format_comment.rb +79 -0
  32. data/lib/seeing_is_believing/binary/interline_align.rb +57 -0
  33. data/lib/seeing_is_believing/binary/remove_annotations.rb +113 -0
  34. data/lib/seeing_is_believing/binary/rewrite_comments.rb +62 -0
  35. data/lib/seeing_is_believing/binary.rb +73 -0
  36. data/lib/seeing_is_believing/code.rb +139 -0
  37. data/lib/seeing_is_believing/compatibility.rb +28 -0
  38. data/lib/seeing_is_believing/debugger.rb +32 -0
  39. data/lib/seeing_is_believing/error.rb +17 -0
  40. data/lib/seeing_is_believing/evaluate_by_moving_files.rb +195 -0
  41. data/lib/seeing_is_believing/event_stream/consumer.rb +221 -0
  42. data/lib/seeing_is_believing/event_stream/events.rb +193 -0
  43. data/lib/seeing_is_believing/event_stream/handlers/debug.rb +61 -0
  44. data/lib/seeing_is_believing/event_stream/handlers/record_exit_events.rb +26 -0
  45. data/lib/seeing_is_believing/event_stream/handlers/stream_json_events.rb +23 -0
  46. data/lib/seeing_is_believing/event_stream/handlers/update_result.rb +41 -0
  47. data/lib/seeing_is_believing/event_stream/producer.rb +178 -0
  48. data/lib/seeing_is_believing/hard_core_ensure.rb +58 -0
  49. data/lib/seeing_is_believing/hash_struct.rb +206 -0
  50. data/lib/seeing_is_believing/result.rb +89 -0
  51. data/lib/seeing_is_believing/safe.rb +112 -0
  52. data/lib/seeing_is_believing/swap_files.rb +90 -0
  53. data/lib/seeing_is_believing/the_matrix.rb +97 -0
  54. data/lib/seeing_is_believing/version.rb +3 -0
  55. data/lib/seeing_is_believing/wrap_expressions.rb +265 -0
  56. data/lib/seeing_is_believing/wrap_expressions_with_inspect.rb +19 -0
  57. data/lib/seeing_is_believing.rb +69 -0
  58. data/seeing_is_believing.gemspec +84 -0
  59. data/spec/binary/alignment_specs.rb +27 -0
  60. data/spec/binary/comment_lines_spec.rb +852 -0
  61. data/spec/binary/config_spec.rb +831 -0
  62. data/spec/binary/engine_spec.rb +114 -0
  63. data/spec/binary/format_comment_spec.rb +210 -0
  64. data/spec/binary/marker_spec.rb +71 -0
  65. data/spec/binary/remove_annotations_spec.rb +342 -0
  66. data/spec/binary/rewrite_comments_spec.rb +106 -0
  67. data/spec/code_spec.rb +233 -0
  68. data/spec/debugger_spec.rb +45 -0
  69. data/spec/evaluate_by_moving_files_spec.rb +204 -0
  70. data/spec/event_stream_spec.rb +762 -0
  71. data/spec/hard_core_ensure_spec.rb +120 -0
  72. data/spec/hash_struct_spec.rb +514 -0
  73. data/spec/seeing_is_believing_spec.rb +1094 -0
  74. data/spec/sib_spec_helpers/version.rb +17 -0
  75. data/spec/spec_helper.rb +26 -0
  76. data/spec/spec_helper_spec.rb +16 -0
  77. data/spec/wrap_expressions_spec.rb +1013 -0
  78. metadata +340 -0
metadata ADDED
@@ -0,0 +1,340 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: andyw8-seeing_is_believing
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Josh Cheek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-03-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: parser
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '2.7'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '2.7'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4'
33
+ - !ruby/object:Gem::Dependency
34
+ name: childprocess
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '4.1'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.1'
47
+ - !ruby/object:Gem::Dependency
48
+ name: ffi
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.15'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.15'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: haiti
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0.1'
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '0.3'
85
+ type: :development
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0.1'
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.3'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rake
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '13.0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '13.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: rspec
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '3.6'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '3.6'
123
+ - !ruby/object:Gem::Dependency
124
+ name: bundler
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '2.0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: cucumber
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '2.4'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '2.4'
151
+ - !ruby/object:Gem::Dependency
152
+ name: ripper-tags
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '0.3'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '0.3'
165
+ description: Records the results of every line of code in your file (intended to be
166
+ like xmpfilter), inspired by Bret Victor's JavaScript example in his talk "Inventing
167
+ on Principle"
168
+ email:
169
+ - josh.cheek@gmail.com
170
+ executables:
171
+ - seeing_is_believing
172
+ extensions: []
173
+ extra_rdoc_files: []
174
+ files:
175
+ - ".github/workflows/test.yml"
176
+ - ".gitignore"
177
+ - ".rspec"
178
+ - Gemfile
179
+ - README.md
180
+ - Rakefile
181
+ - appveyor.yml
182
+ - bin/seeing_is_believing
183
+ - docs/example.gif
184
+ - docs/frog-brown.png
185
+ - docs/sib-streaming.gif
186
+ - features/deprecated-flags.feature
187
+ - features/errors.feature
188
+ - features/examples.feature
189
+ - features/flags.feature
190
+ - features/regression.feature
191
+ - features/support/env.rb
192
+ - features/xmpfilter-style.feature
193
+ - lib/seeing_is_believing.rb
194
+ - lib/seeing_is_believing/binary.rb
195
+ - lib/seeing_is_believing/binary/align_chunk.rb
196
+ - lib/seeing_is_believing/binary/align_file.rb
197
+ - lib/seeing_is_believing/binary/align_line.rb
198
+ - lib/seeing_is_believing/binary/annotate_end_of_file.rb
199
+ - lib/seeing_is_believing/binary/annotate_every_line.rb
200
+ - lib/seeing_is_believing/binary/annotate_marked_lines.rb
201
+ - lib/seeing_is_believing/binary/comment_lines.rb
202
+ - lib/seeing_is_believing/binary/commentable_lines.rb
203
+ - lib/seeing_is_believing/binary/config.rb
204
+ - lib/seeing_is_believing/binary/data_structures.rb
205
+ - lib/seeing_is_believing/binary/engine.rb
206
+ - lib/seeing_is_believing/binary/format_comment.rb
207
+ - lib/seeing_is_believing/binary/interline_align.rb
208
+ - lib/seeing_is_believing/binary/remove_annotations.rb
209
+ - lib/seeing_is_believing/binary/rewrite_comments.rb
210
+ - lib/seeing_is_believing/code.rb
211
+ - lib/seeing_is_believing/compatibility.rb
212
+ - lib/seeing_is_believing/debugger.rb
213
+ - lib/seeing_is_believing/error.rb
214
+ - lib/seeing_is_believing/evaluate_by_moving_files.rb
215
+ - lib/seeing_is_believing/event_stream/consumer.rb
216
+ - lib/seeing_is_believing/event_stream/events.rb
217
+ - lib/seeing_is_believing/event_stream/handlers/debug.rb
218
+ - lib/seeing_is_believing/event_stream/handlers/record_exit_events.rb
219
+ - lib/seeing_is_believing/event_stream/handlers/stream_json_events.rb
220
+ - lib/seeing_is_believing/event_stream/handlers/update_result.rb
221
+ - lib/seeing_is_believing/event_stream/producer.rb
222
+ - lib/seeing_is_believing/hard_core_ensure.rb
223
+ - lib/seeing_is_believing/hash_struct.rb
224
+ - lib/seeing_is_believing/result.rb
225
+ - lib/seeing_is_believing/safe.rb
226
+ - lib/seeing_is_believing/swap_files.rb
227
+ - lib/seeing_is_believing/the_matrix.rb
228
+ - lib/seeing_is_believing/version.rb
229
+ - lib/seeing_is_believing/wrap_expressions.rb
230
+ - lib/seeing_is_believing/wrap_expressions_with_inspect.rb
231
+ - seeing_is_believing.gemspec
232
+ - spec/binary/alignment_specs.rb
233
+ - spec/binary/comment_lines_spec.rb
234
+ - spec/binary/config_spec.rb
235
+ - spec/binary/engine_spec.rb
236
+ - spec/binary/format_comment_spec.rb
237
+ - spec/binary/marker_spec.rb
238
+ - spec/binary/remove_annotations_spec.rb
239
+ - spec/binary/rewrite_comments_spec.rb
240
+ - spec/code_spec.rb
241
+ - spec/debugger_spec.rb
242
+ - spec/evaluate_by_moving_files_spec.rb
243
+ - spec/event_stream_spec.rb
244
+ - spec/hard_core_ensure_spec.rb
245
+ - spec/hash_struct_spec.rb
246
+ - spec/seeing_is_believing_spec.rb
247
+ - spec/sib_spec_helpers/version.rb
248
+ - spec/spec_helper.rb
249
+ - spec/spec_helper_spec.rb
250
+ - spec/wrap_expressions_spec.rb
251
+ homepage: https://github.com/JoshCheek/seeing_is_believing
252
+ licenses:
253
+ - WTFPL
254
+ metadata: {}
255
+ post_install_message: " .7\n . .M\n . . .N\n M. ..O\n
256
+ \ =. .. .M\n N . . .N\n O.. . . O\n MN:. . M\n OM...N\n
257
+ \ N .OM \e[33m.NM8MMMMMM\e[0m\n O ..N \e[33m...MM=:Z7?Z7??MMMMIMMOM8N\e[0m\n
258
+ \ M...O \e[33m,MMMMMMMMMM$$:=ZZ$~:$?7ZMMMMM8?M\e[0m\n .N
259
+ . M \e[33mMMI$7:==?:77MMMM7$O~+~ZO~~I=7ZMMMM\e[0m\n O$...N \e[33mM=$ZZI=MMM7ZZI=?MMZ+:$I?8Z~?ZO~=ZIMM\e[0m\n
260
+ \ .MN ...O \e[33mM~?Z==ZZZ=MM$$=$ZZMMO=~~?$=$Z~~OO+=MM\e[0m\n OM
261
+ ...,M DAAAAAAAAAAAAAAAAAAAAAAAM\e[33m=Z=+OOI=+ZO$O+MM\e[0m\n NOM.. . N
262
+ \ DAAAAAAAAAAAAM?:DAAAAAAAAAAAAM\e[33m$ZZ?$+IZ7+8?M8\e[0m\n NOM.....O DAAAAAAAAM:\e[32m....\e[0mDAAAAAAAAAAAAAAM\e[33m78OI+D=78=$MM\e[0m\n
263
+ \ NO.. ...MN DAAAAAAAM\e[32m.......\e[0mDAAAAAAAAAAAAAM,MM\e[33mMO7?I8Z7OM\e[0m\n
264
+ \ MN.... ..O DAAAAAM\e[32m.........\e[0mDAAAAAAAAAAAAM\e[32m..\e[0m~MM\e[33m?NMM7O8MM\e[0m\n
265
+ \ NOM.. ..MN DAAM\e[32m............\e[0mDAAAAAAAAAAM\e[32m.......\e[0mMM\e[33m7.MMM\e[0m\n
266
+ NOM.. .. .OM M\e[32m................\e[0mDAAAAAAAM\e[32m...........\e[0mMM:M\n
267
+ NOM. .. ..NO M\e[32m...................\e[0m~DAAM\e[32m..............\e[0mI,,M\n
268
+ NOM.. .. .MN MM\e[32m...\e[0m\e[33mZMMMMMM\e[0m\e[32m.............................\e[0m=MM\n
269
+ NOM. . ... O M\e[32m..\e[0m\e[33mMMMNMMMMMMMMZ\e[0m\e[32m..........................\e[0m$MI\n
270
+ NOM8.. .. .MM MZ\e[33mMMMMMMMMMMMMMMM\e[0m\e[32m.........\e[0mM~\e[32m...............\e[0mMM\n
271
+ \ NOM .. . . NOM M\e[32m........................\e[0m8M$\e[32m................\e[0mMM\n
272
+ \ NOMO. . . . . M.MMMMMMMMMMMMNMMMMNMMMMMM\e[32m..................\e[0mMM,\n
273
+ \ NOMM8. . M:MM MM\e[32m......................................\e[0mMM\n
274
+ \ . .MMMM \e[33mMMMM\e[32m.............\e[0m\e[33m7ZMM\e[32m..................\e[0mMM\n
275
+ \ .MNOM \e[33mMMMMMMMMMMMMMMMMMMM\e[32m....................\e[0mOMM\n
276
+ \ H \e[33mMMMMMMMMMMMMMMMMM\e[32m.......\e[0m,\e[32m..............\e[0mMM\n
277
+ \ \e[33mMMMMMMMMMMMM=\e[32m.........\e[0mMM\e[32m..............\e[0mMMN\n
278
+ \ \e[33m:MMMM\e[32m................\e[0mM\e[32m.......\e[0mM\e[32m......\e[0mMMM\n
279
+ \ MMM\e[32m..............\e[0mMN\e[32m.....\e[0m:7\e[32m.......\e[0mMMM
280
+ .MMMMMM\n Seeing MMMM\e[32m.........\e[0mM\e[32m...\e[0mM\e[32m.....\e[0mM\e[32m.........\e[0mMMMM\e[32m......\e[0mMM\n
281
+ \ M\e[32m..\e[0mMMM\e[32m.......\e[0mM\e[32m...\e[0mM\e[32m....\e[0m=I\e[32m........\e[0mMM\e[32m.........\e[0mM\n
282
+ \ is M\e[32m..\e[0mMMMM\e[32m.....\e[0mM\e[32m....\e[0mM\e[32m....\e[0mM\e[32m.....\e[0mMMM:\e[32m..........\e[0mMM\n
283
+ \ MM\e[32m..\e[0mM MMM\e[32m...\e[0mM\e[32m...\e[0mMM\e[32m...\e[0mM\e[32m....\e[0mMMM\e[32m.............\e[0mM,\n
284
+ \ Believing .M\e[32m..\e[0mMM MMMMMM\e[32m...\e[0mM\e[32m....\e[0mM\e[32m...................\e[0mMM\n
285
+ \ \e[32m..\e[0mMMMMMMMM\e[32m..\e[0mM M\e[32m..\e[0mMMM\e[32m...\e[0mMM\e[32m...\e[0mOM\e[32m..............\e[0mMN\e[32m..\e[0mMM\n
286
+ \ M\e[32m.............\e[0mM MMM\e[32m..\e[0mMM\e[32m...\e[0mMMMMMMM\e[32m.............\e[0mM\e[32m..\e[0m+MM\n
287
+ \ :MM7\e[32m....\e[0mM\e[32m..\e[0mIMM D \e[32m..\e[0mM?M\e[32m...\e[0mMM
288
+ \ M\e[32m...........\e[0mMM\e[32m..\e[0mMM,\n .M\e[32m..\e[0mM\e[32m..\e[0m
289
+ \ \e[32m...\e[0m gM+\e[32m...\e[0mM NM\e[32m........\e[0mMMM\e[32m..\e[0mMM\n
290
+ \ .MM+gZMM\e[32m.....\e[0mM MMMMMMMMMM\e[32m....\e[0mM\n
291
+ \ MI\e[32m..\e[0m8MM,\e[32m....\e[0mMM .MMM\e[32m..\e[0mM\e[32m..\e[0mM\n
292
+ \ MMM\e[32m...\e[0mMMMM\e[32m..\e[0mMI \e[32m..\e[0mOMMM\e[32m..\e[0mOMM\e[32m..\e[0mMM\n
293
+ \ M\e[32m...\e[0mMD\e[32m....\e[0mM M M\e[32m.....\e[0mNMM\e[32m..\e[0mMM\e[32m..\e[0mM\n
294
+ \ MMMM\e[32m.....\e[0mM \e[32m..\e[0mM .M:\e[32m...\e[0mM\e[32m....\e[0mM\e[32m....\e[0mM\n
295
+ \ MM MMMM\e[32m......\e[0mMMMI\n"
296
+ rdoc_options: []
297
+ require_paths:
298
+ - lib
299
+ required_ruby_version: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ required_rubygems_version: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ requirements: []
310
+ rubygems_version: 3.3.7
311
+ signing_key:
312
+ specification_version: 4
313
+ summary: Records results of every line of code in your file
314
+ test_files:
315
+ - features/deprecated-flags.feature
316
+ - features/errors.feature
317
+ - features/examples.feature
318
+ - features/flags.feature
319
+ - features/regression.feature
320
+ - features/support/env.rb
321
+ - features/xmpfilter-style.feature
322
+ - spec/binary/alignment_specs.rb
323
+ - spec/binary/comment_lines_spec.rb
324
+ - spec/binary/config_spec.rb
325
+ - spec/binary/engine_spec.rb
326
+ - spec/binary/format_comment_spec.rb
327
+ - spec/binary/marker_spec.rb
328
+ - spec/binary/remove_annotations_spec.rb
329
+ - spec/binary/rewrite_comments_spec.rb
330
+ - spec/code_spec.rb
331
+ - spec/debugger_spec.rb
332
+ - spec/evaluate_by_moving_files_spec.rb
333
+ - spec/event_stream_spec.rb
334
+ - spec/hard_core_ensure_spec.rb
335
+ - spec/hash_struct_spec.rb
336
+ - spec/seeing_is_believing_spec.rb
337
+ - spec/sib_spec_helpers/version.rb
338
+ - spec/spec_helper.rb
339
+ - spec/spec_helper_spec.rb
340
+ - spec/wrap_expressions_spec.rb