template-ruby-parser 0.1.4 → 0.1.6

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: 3652d9bb92099379a929df14b999cd8508f3be60c5ceb884f062453c921e7b09
4
- data.tar.gz: 744449bccfc4e058222b17d27d1402f134012dfb87c2a66239c82ee7802c0003
3
+ metadata.gz: 1930e12f26e42bbe9273ce7f922adfff84931da89fa381cb9df9a9f2572da140
4
+ data.tar.gz: ccceda81f10d2d073ec1e1a8060f8b4ad8e59307802c42825fa13e25a760922e
5
5
  SHA512:
6
- metadata.gz: ffbfc9e64b65b7bb9ba68917ca9340a9904b25b871ef0630bf9d4cd4a87189bd0b34889b1fbea7231c50ba2726a15ebd524d7886a2655acdd0f71bf815fb297c
7
- data.tar.gz: 8a1e76fd57dfad95201f0259b962bdfea907fac4f92704e6af2dc9eee3450d1d0cea35ba55cc348762b91d606152a6fbd1cb30249b31f7993abb5d46eab6aa24
6
+ metadata.gz: 29a6f68418e579de7fd8949be837e84c56f2364ab099943ea128b29c5ce69aa999b71479710d6cbb2d7f61d0be27017308c71bd0accb33cefae84a6471d956dc
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: template-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