code-ruby-parser 0.1.4 → 0.1.6

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: e7be9be5426011877d3bcce30e8d1c79910519029c9af78dcb68f693d634aba6
4
- data.tar.gz: 744449bccfc4e058222b17d27d1402f134012dfb87c2a66239c82ee7802c0003
3
+ metadata.gz: 0e1562e25f7726713c82c2338359e0b3df960dd5377d79ce247d3bd44c2e11a9
4
+ data.tar.gz: ccceda81f10d2d073ec1e1a8060f8b4ad8e59307802c42825fa13e25a760922e
5
5
  SHA512:
6
- metadata.gz: 7a6d4f47443b3f99b59b3045c6c375e5013e7b0afc0a7bb1f34d5bf42f668c0830985ee0fe08253691ab09077e035858ae78d21fe46c69489286121731c50402
7
- data.tar.gz: 8a1e76fd57dfad95201f0259b962bdfea907fac4f92704e6af2dc9eee3450d1d0cea35ba55cc348762b91d606152a6fbd1cb30249b31f7993abb5d46eab6aa24
6
+ metadata.gz: 22161b94175251b29784027e1c15e8f5f38d2ddcae5d62e9e2b962254dafe00959c992c91dd830d12dbff9da7291d7f2df7c24c372e35f26cc90a03e0a46bcbc
7
+ data.tar.gz: 9e77b562a8908eaa4801aa27b3d98a43a54e09c1afc6784816a8d2d89157c5d5c16f716c21efad170f2310f65f1a5d5e0b780baa02bd8f2c14f9b08a675e8ff5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 0.1.6 - November 13, 2022
2
+
3
+ - Add missing operator from equal, e.g. a += 1, a = 2
4
+
5
+ ### 0.1.5 - November 13, 2022
6
+
7
+ - Restrict equal to simplify
8
+
1
9
  ### 0.1.4 - November 13, 2022
2
10
 
3
11
  - Fix a || b
File without changes
data/bin/parse-docs ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ for f in docs/*.code
4
+ do
5
+ bin/code-parser -i $f
6
+ done
@@ -2,13 +2,13 @@ class Code
2
2
  class Parser
3
3
  class Equal < ::Code::Parser
4
4
  def parse
5
- left = parse_subclass(::Code::Parser::Rescue)
6
-
7
5
  previous_cursor = cursor
8
6
 
7
+ left = parse_left
8
+
9
9
  comments_before = parse_comments
10
10
 
11
- if operator = match(EQUALS)
11
+ if left && operator = match(EQUALS)
12
12
  comments_after = parse_comments
13
13
 
14
14
  right = parse_subclass(::Code::Parser::Equal)
@@ -16,6 +16,7 @@ class Code
16
16
  if right
17
17
  {
18
18
  equal: {
19
+ operator: operator,
19
20
  left: left,
20
21
  right: right,
21
22
  comments_before: comments_before,
@@ -25,7 +26,36 @@ class Code
25
26
  else
26
27
  @cursor = previous_cursor
27
28
  buffer!
28
- left
29
+ parse_next
30
+ end
31
+ else
32
+ @cursor = previous_cursor
33
+ buffer!
34
+ parse_next
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def parse_next
41
+ parse_subclass(::Code::Parser::Rescue)
42
+ end
43
+
44
+ def parse_left
45
+ left = parse_subclass(::Code::Parser::Name)
46
+ return unless left
47
+
48
+ previous_cursor = cursor
49
+ comments_before = parse_comments
50
+
51
+ if match(DOT) || match(COLON + COLON)
52
+ right = parse_subclass(::Code::Parser::Name)
53
+ if right
54
+ { left: left, right: right }
55
+ else
56
+ @cursor = previous_cursor
57
+ buffer!
58
+ return
29
59
  end
30
60
  else
31
61
  @cursor = previous_cursor
@@ -1,6 +1,6 @@
1
1
  class Template
2
2
  class Parser < ::Code::Parser
3
- Version = Gem::Version.new("0.1.4")
3
+ Version = Gem::Version.new("0.1.6")
4
4
 
5
5
  def parse
6
6
  parts = []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code-ruby-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
@@ -22,8 +22,9 @@ files:
22
22
  - Gemfile
23
23
  - Gemfile.lock
24
24
  - bin/code-parser
25
+ - bin/deploy
25
26
  - bin/format
26
- - bin/push
27
+ - bin/parse-docs
27
28
  - bin/template-parser
28
29
  - code-ruby-parser.gemspec
29
30
  - docs/class.code