mvz-live_ast 1.3.2 → 2.0.0

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.rdoc +8 -1
  3. data/README.rdoc +3 -3
  4. data/Rakefile +20 -20
  5. data/lib/live_ast.rb +4 -4
  6. data/lib/live_ast/ast_eval.rb +1 -1
  7. data/lib/live_ast/ast_load.rb +1 -1
  8. data/lib/live_ast/base.rb +13 -12
  9. data/lib/live_ast/common.rb +2 -10
  10. data/lib/live_ast/evaler.rb +3 -3
  11. data/lib/live_ast/full.rb +2 -2
  12. data/lib/live_ast/irb_spy.rb +4 -4
  13. data/lib/live_ast/loader.rb +2 -2
  14. data/lib/live_ast/reader.rb +1 -1
  15. data/lib/live_ast/replace_eval.rb +12 -13
  16. data/lib/live_ast/replace_load.rb +1 -1
  17. data/lib/live_ast/replace_raise.rb +3 -3
  18. data/lib/live_ast/ruby_parser.rb +4 -4
  19. data/lib/live_ast/ruby_parser/test.rb +12 -0
  20. data/lib/live_ast/ruby_parser/unparser.rb +1 -1
  21. data/lib/live_ast/to_ast.rb +13 -18
  22. data/lib/live_ast/to_ruby.rb +8 -18
  23. data/lib/live_ast/version.rb +1 -1
  24. data/test/alias_test.rb +1 -1
  25. data/test/ast_eval/ast_eval_test.rb +2 -2
  26. data/test/ast_load/ast_load_test.rb +2 -2
  27. data/test/attr_test.rb +1 -1
  28. data/test/backtrace_test.rb +4 -4
  29. data/test/base/noninvasive_test.rb +1 -1
  30. data/test/base/reload_test.rb +1 -1
  31. data/test/covert_define_method_test.rb +1 -1
  32. data/test/def_test.rb +1 -1
  33. data/test/define_method_test.rb +2 -2
  34. data/test/define_singleton_method_test.rb +1 -1
  35. data/test/encoding_test.rb +1 -1
  36. data/test/error_test.rb +3 -3
  37. data/test/eval_test.rb +1 -1
  38. data/test/flush_cache_test.rb +3 -1
  39. data/test/full/ast_reload_test.rb +1 -1
  40. data/test/full/replace_eval_test.rb +8 -8
  41. data/test/irb_test.rb +2 -2
  42. data/test/lambda_test.rb +2 -2
  43. data/test/load_path_test.rb +2 -2
  44. data/test/load_test.rb +3 -3
  45. data/test/main.rb +18 -18
  46. data/test/nested_test.rb +1 -1
  47. data/test/readme_test.rb +3 -3
  48. data/test/recursive_eval_test.rb +1 -1
  49. data/test/redefine_method_test.rb +1 -1
  50. data/test/rubygems_test.rb +4 -4
  51. data/test/rubyspec_test.rb +8 -8
  52. data/test/singleton_test.rb +1 -1
  53. data/test/stdlib_test.rb +1 -1
  54. data/test/thread_test.rb +2 -2
  55. data/test/to_ast/to_ast_feature_test.rb +2 -2
  56. data/test/to_ruby/to_ruby_feature_test.rb +2 -2
  57. data/test/to_ruby/to_ruby_test.rb +15 -15
  58. metadata +74 -60
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
5
  class NestedTest < RegularTest
6
6
  def test_lambda
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
4
- require_relative '../devel/levitate'
3
+ require_relative "main"
4
+ require_relative "../devel/levitate"
5
5
 
6
6
  if RUBY_ENGINE != "jruby" # jruby takes about a minute
7
7
  sections = [
@@ -9,7 +9,7 @@ if RUBY_ENGINE != "jruby" # jruby takes about a minute
9
9
  "+to_ruby+",
10
10
  "Noninvasive Interface",
11
11
  "Pure Ruby and +ast_eval+",
12
- "Full Integration",
12
+ "Full Integration"
13
13
  ]
14
14
 
15
15
  Levitate.doc_to_test("README.rdoc", *sections)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
5
  class RecursiveEvalTest < RegularTest
6
6
  DEFINE = lambda do
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
5
  class RedefineMethodTest < RegularTest
6
6
  DEFINE_A = lambda do
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
4
- require_relative '../devel/levitate'
3
+ require_relative "main"
4
+ require_relative "../devel/levitate"
5
5
 
6
6
  class RubygemsTest < RegularTest
7
7
  def test_rubygems
8
- lib = File.expand_path(File.dirname(__FILE__) + "/../lib")
8
+ lib = File.expand_path("../lib", File.dirname(__FILE__))
9
9
  extra_req =
10
10
  if defined?(LiveASTRipper) && LiveAST.parser == LiveASTRipper
11
11
  %{require 'live_ast_ripper'}
@@ -22,6 +22,6 @@ class RubygemsTest < RegularTest
22
22
  }
23
23
  p f.to_ast
24
24
  }
25
- assert_equal no_arg_block(:lambda, 'abc').to_s, result.chomp
25
+ assert_equal no_arg_block(:lambda, "abc").to_s, result.chomp
26
26
  end
27
27
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
4
- require_relative '../devel/levitate'
3
+ require_relative "main"
4
+ require_relative "../devel/levitate"
5
5
 
6
6
  #
7
7
  # Tests against rubyspec branch which discards '|ast@' tokens
@@ -9,12 +9,12 @@ require_relative '../devel/levitate'
9
9
  if ENV["LIVE_AST_RUBYSPEC_HOME"]
10
10
  class RubySpecTest < RegularTest
11
11
  FILES = [
12
- 'core/basicobject/instance_eval_spec.rb',
13
- 'core/binding/eval_spec.rb',
14
- 'core/kernel/eval_spec.rb',
15
- 'core/kernel/instance_eval_spec.rb',
16
- 'core/module/class_eval_spec.rb',
17
- 'core/module/module_eval_spec.rb',
12
+ "core/basicobject/instance_eval_spec.rb",
13
+ "core/binding/eval_spec.rb",
14
+ "core/kernel/eval_spec.rb",
15
+ "core/kernel/instance_eval_spec.rb",
16
+ "core/module/class_eval_spec.rb",
17
+ "core/module/module_eval_spec.rb"
18
18
  ].freeze
19
19
 
20
20
  def setup
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
5
  class SingletonTest < RegularTest
6
6
  class A
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
5
  class StdlibTest < RegularTest
6
6
  if stdlib_has_source?
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'main'
3
+ require_relative "main"
4
4
 
5
- require 'thread'
5
+ require "thread"
6
6
 
7
7
  class ThreadTest < RegularTest
8
8
  def test_threads
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'main'
3
+ require "main"
4
4
 
5
- require 'live_ast/to_ast'
5
+ require "live_ast/to_ast"
6
6
 
7
7
  class ToASTFeatureTest < BaseTest
8
8
  def test_require
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'main'
3
+ require "main"
4
4
 
5
- require 'live_ast/to_ruby'
5
+ require "live_ast/to_ruby"
6
6
 
7
7
  class ToRubyFeatureTest < BaseTest
8
8
  def test_defines_to_ruby
@@ -1,70 +1,70 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'main'
3
+ require "main"
4
4
 
5
5
  if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
6
- LiveAST.parser::Test.unparser_matches_ruby2ruby?
6
+ LiveAST.parser::Test.unparser_matches_ruby2ruby?
7
7
  class ToRubyTest < RegularTest
8
8
  def setup
9
9
  super
10
- require 'live_ast/to_ruby'
10
+ require "live_ast/to_ruby"
11
11
  end
12
12
 
13
- def test_lambda_0
13
+ def test_lambda_one
14
14
  src = %{lambda { "moo" }}
15
15
  dst = ast_eval(src, binding).to_ruby
16
16
  assert_equal src, dst
17
17
  end
18
18
 
19
- def test_lambda_1
19
+ def test_lambda_two
20
20
  src = %{lambda { |x| (x ** 2) }}
21
21
  dst = ast_eval(src, binding).to_ruby
22
22
  assert_equal src, dst
23
23
  end
24
24
 
25
- def test_lambda_2
25
+ def test_lambda_three
26
26
  src = %{lambda { |x, y| (x + y) }}
27
27
  dst = ast_eval(src, binding).to_ruby
28
28
  assert_equal src, dst
29
29
  end
30
30
 
31
- def test_proc_0
31
+ def test_proc_one
32
32
  src = %{proc { "moo" }}
33
33
  dst = ast_eval(src, binding).to_ruby
34
34
  assert_equal src, dst
35
35
  end
36
36
 
37
- def test_proc_1
37
+ def test_proc_two
38
38
  src = %{proc { |x| (x ** 2) }}
39
39
  dst = ast_eval(src, binding).to_ruby
40
40
  assert_equal src, dst
41
41
  end
42
42
 
43
- def test_proc_2
43
+ def test_proc_three
44
44
  src = %{proc { |x, y| (x * y) }}
45
45
  dst = ast_eval(src, binding).to_ruby
46
46
  assert_equal src, dst
47
47
  end
48
48
 
49
- def test_block_0
49
+ def test_block_one
50
50
  src = %{return_block { "moo" }}
51
51
  dst = ast_eval(src, binding).to_ruby
52
52
  assert_equal src, dst
53
53
  end
54
54
 
55
- def test_block_1
55
+ def test_block_two
56
56
  src = %{return_block { |x| (x ** 2) }}
57
57
  dst = ast_eval(src, binding).to_ruby
58
58
  assert_equal src, dst
59
59
  end
60
60
 
61
- def test_block_2
61
+ def test_block_three
62
62
  src = %{return_block { |x, y| (x - y) }}
63
63
  dst = ast_eval(src, binding).to_ruby
64
64
  assert_equal src, dst
65
65
  end
66
66
 
67
- def test_method_0
67
+ def test_method_one
68
68
  src = %{def f\n "moo"\nend}
69
69
  dst = Class.new do
70
70
  ast_eval(src, binding)
@@ -72,7 +72,7 @@ if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
72
72
  assert_equal src, dst
73
73
  end
74
74
 
75
- def test_method_1
75
+ def test_method_two
76
76
  src = %{def f(x)\n (x ** 2)\nend}
77
77
  dst = Class.new do
78
78
  ast_eval(src, binding)
@@ -80,7 +80,7 @@ if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
80
80
  assert_equal src, dst
81
81
  end
82
82
 
83
- def test_method_2
83
+ def test_method_three
84
84
  src = %{def f(x, y)\n (x / y)\nend}
85
85
  dst = Class.new do
86
86
  ast_eval(src, binding)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mvz-live_ast
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James M. Lawrence
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-28 00:00:00.000000000 Z
12
+ date: 2020-12-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ruby2ruby
@@ -31,84 +31,98 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '3.11'
34
+ version: '3.14'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '3.11'
41
+ version: '3.14'
42
42
  - !ruby/object:Gem::Dependency
43
- name: binding_of_caller
43
+ name: bindings
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 0.8.0
48
+ version: 1.0.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 0.8.0
55
+ version: 1.0.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: bundler
57
+ name: minitest
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '1.3'
62
+ version: '5.0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '1.3'
69
+ version: '5.0'
70
70
  - !ruby/object:Gem::Dependency
71
- name: minitest
71
+ name: rake
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '5.0'
76
+ version: '13.0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '5.0'
83
+ version: '13.0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: rake
85
+ name: rdoc
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ">="
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: '6.2'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ">="
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '0'
97
+ version: '6.2'
98
98
  - !ruby/object:Gem::Dependency
99
- name: rdoc
99
+ name: rubocop
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: 1.6.0
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: 1.6.0
112
+ - !ruby/object:Gem::Dependency
113
+ name: rubocop-performance
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
103
117
  - !ruby/object:Gem::Version
104
- version: '0'
118
+ version: 1.9.1
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
- - - ">="
123
+ - - "~>"
110
124
  - !ruby/object:Gem::Version
111
- version: '0'
125
+ version: 1.9.1
112
126
  description: |2
113
127
  LiveAST enables a program to find the ASTs of objects created by dynamically
114
128
  generated code.
@@ -213,65 +227,65 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
227
  requirements:
214
228
  - - ">="
215
229
  - !ruby/object:Gem::Version
216
- version: 2.3.0
230
+ version: 2.6.0
217
231
  required_rubygems_version: !ruby/object:Gem::Requirement
218
232
  requirements:
219
233
  - - ">="
220
234
  - !ruby/object:Gem::Version
221
235
  version: '0'
222
236
  requirements: []
223
- rubygems_version: 3.0.1
237
+ rubygems_version: 3.2.3
224
238
  signing_key:
225
239
  specification_version: 4
226
240
  summary: Live abstract syntax trees of methods and procs.
227
241
  test_files:
242
+ - test/alias_test.rb
243
+ - test/full/ast_reload_test.rb
244
+ - test/full/replace_eval_test.rb
245
+ - test/eval_test.rb
246
+ - test/load_path_test.rb
228
247
  - test/readme_test.rb
229
- - test/rubyspec_test.rb
230
- - test/lambda_test.rb
231
- - test/redefine_method_test.rb
232
248
  - test/stdlib_test.rb
233
- - test/full/replace_eval_test.rb
234
- - test/full/ast_reload_test.rb
235
- - test/to_ruby/to_ruby_test.rb
236
- - test/to_ruby/to_ruby_feature_test.rb
237
- - test/to_ast/to_ast_feature_test.rb
238
- - test/encoding_test/utf8mac_alt.rb
239
- - test/encoding_test/usascii.rb
240
- - test/encoding_test/default.rb
249
+ - test/encoding_test/koi8_shebang.rb
241
250
  - test/encoding_test/utf8dos.rb
251
+ - test/encoding_test/koi8.rb
242
252
  - test/encoding_test/eucjp.rb
243
- - test/encoding_test/bad.rb
244
- - test/encoding_test/koi8_with_utf8bom.rb
253
+ - test/encoding_test/utf8bom.rb
245
254
  - test/encoding_test/utf8bom_only.rb
246
- - test/encoding_test/koi8_shebang.rb
247
- - test/encoding_test/utf8unix.rb
248
255
  - test/encoding_test/cp932.rb
256
+ - test/encoding_test/usascii.rb
249
257
  - test/encoding_test/utf8.rb
250
- - test/encoding_test/koi8.rb
251
- - test/encoding_test/utf8bom.rb
252
258
  - test/encoding_test/usascii_with_utf8bom.rb
259
+ - test/encoding_test/utf8mac_alt.rb
260
+ - test/encoding_test/default.rb
261
+ - test/encoding_test/koi8_with_utf8bom.rb
262
+ - test/encoding_test/utf8unix.rb
253
263
  - test/encoding_test/utf8mac.rb
254
- - test/encoding_test.rb
255
- - test/alias_test.rb
256
- - test/rubygems_test.rb
264
+ - test/encoding_test/bad.rb
265
+ - test/to_ruby/to_ruby_test.rb
266
+ - test/to_ruby/to_ruby_feature_test.rb
267
+ - test/nested_test.rb
268
+ - test/singleton_test.rb
257
269
  - test/define_singleton_method_test.rb
258
- - test/covert_define_method_test.rb
259
- - test/ast_load/ast_load_test.rb
260
- - test/backtrace_test.rb
270
+ - test/irb_test.rb
271
+ - test/attr_test.rb
272
+ - test/lambda_test.rb
261
273
  - test/load_test.rb
262
- - test/singleton_test.rb
263
- - test/recursive_eval_test.rb
264
- - test/base/reload_test.rb
265
274
  - test/base/noninvasive_test.rb
275
+ - test/base/reload_test.rb
276
+ - test/encoding_test.rb
277
+ - test/rubyspec_test.rb
278
+ - test/main.rb
266
279
  - test/define_method_test.rb
267
- - test/eval_test.rb
268
- - test/attr_test.rb
269
- - test/irb_test.rb
270
- - test/load_path_test.rb
271
- - test/nested_test.rb
272
- - test/def_test.rb
273
- - test/thread_test.rb
274
- - test/flush_cache_test.rb
275
280
  - test/error_test.rb
281
+ - test/rubygems_test.rb
282
+ - test/ast_load/ast_load_test.rb
283
+ - test/def_test.rb
284
+ - test/recursive_eval_test.rb
276
285
  - test/ast_eval/ast_eval_test.rb
277
- - test/main.rb
286
+ - test/flush_cache_test.rb
287
+ - test/thread_test.rb
288
+ - test/redefine_method_test.rb
289
+ - test/backtrace_test.rb
290
+ - test/covert_define_method_test.rb
291
+ - test/to_ast/to_ast_feature_test.rb