template-ruby 0.2.0 → 0.2.1

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: f42cd4f03c1c1bacdfdcc9e454cdc19411220aa407698bc63024f59311d0a23f
4
- data.tar.gz: 59da1aed5e7e8e729c1c4a44c36c62fcaacc47780229e61b8606708e1414e4c4
3
+ metadata.gz: fc096165f8db9f20877bbd67a8d326ecdcaa546bcf9fda19479a267d9e559504
4
+ data.tar.gz: ae616ed093aded9378204f0231c2b4be787c3d62d0f9859d8971ea01c4fc8a8f
5
5
  SHA512:
6
- metadata.gz: 4e56e63c45fce924c3b62571a58be48846be2a0348565713a2e5de6f6a33f07d15ce4e37fc0d48a3ef964ff3d8cb8810bff55ae6f2cc5bba184df2b14182d85c
7
- data.tar.gz: 26ba43eea5b6d61a99fd358bdcded3bfcc52e0b0b57910c62f0773380f3777a4b29b8ff355937c0d716cdd5f4e7d29561d17c642de1476a06a32fdd798c3d6ad
6
+ metadata.gz: 317b2f1d710abef57552f540fe756fcd7d8761d485d93332f091672b354cc9339d6f3ce1d2da009807ef0093944fa1ed41b4f4cdce3e666730d1632b88d056dc
7
+ data.tar.gz: ffa81e7c9700f6dd30a9d09f18cfc17769446770364ab8dddfdcc8f90fd4ffd9caf35d5c0402106d45af3e9531a0d487a8d9b35a62f3c0f5abf26f290c24df7b
data/CHANGELOG.md CHANGED
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 0.2.1 / 2022-08-31
9
+
10
+ - Fix error on empty code like `Hello {`
11
+
8
12
  ## 0.2.0 / 2022-08-30
9
13
 
10
14
  - Programming language capable of solving the first 5 Project Euler problems
@@ -9,7 +9,7 @@ class Code
9
9
  rule(:whitespace?) { whitespace.maybe }
10
10
 
11
11
  rule(:code) do
12
- (whitespace? >> statement >> whitespace?).repeat(1) | whitespace?
12
+ (whitespace?.ignore >> statement >> whitespace?.ignore).repeat(1) | whitespace?.ignore
13
13
  end
14
14
 
15
15
  root(:code)
@@ -15,7 +15,7 @@ class Template
15
15
  end
16
16
 
17
17
  rule(:code_part) do
18
- left_curly_bracket >> code >> (right_curly_bracket | any.absent?)
18
+ left_curly_bracket.ignore >> code >> (right_curly_bracket.ignore | any.absent?)
19
19
  end
20
20
 
21
21
  rule(:template) { (text_part.as(:text) | code_part.as(:code)).repeat(1) }
data/lib/template.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class Template
2
- VERSION = Gem::Version.new("0.2.0")
2
+ VERSION = Gem::Version.new("0.2.1")
3
3
 
4
4
  def initialize(input, io: StringIO.new)
5
5
  @input = input
@@ -12,10 +12,8 @@ RSpec.describe Template do
12
12
  '{ user: { first_name: "Dorian" } }',
13
13
  "Hello Dorian",
14
14
  ],
15
- [<<~TEMPLATE, "", ""]
16
- {
17
- until true
18
- end
15
+ [<<~TEMPLATE, "", "Hello "]
16
+ Hello {
19
17
  TEMPLATE
20
18
  ].each do |(input, input_context, expected)|
21
19
  context "#{input.inspect} #{input_context.inspect}" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: template-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-30 00:00:00.000000000 Z
11
+ date: 2022-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport