template-ruby 0.5.1 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cherry.js +21 -0
- data/bin/publish +1 -1
- data/language-ruby.gemspec +17 -0
- data/lib/code/object/string.rb +7 -0
- data/lib/code/ruby.rb +3 -3
- data/lib/template/version.rb +1 -1
- data/spec/code/string_spec.rb +2 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2f9d139eea7ab816480641fed6463276e96626401204b5bb11c8a59934abe93
|
4
|
+
data.tar.gz: f571be9f8bc7b9c4187b300e3f4d446deb4e4b427ed1c23b75c0a22ae7d6783b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2840d50f18f3ed0d0ec502c21631a38f0e972ad33979bb7cbc00d63e605532d75eafd48a86e52c93e1206c5ef9b35790608a4479ea76567ad2c5a7796f6e7da9
|
7
|
+
data.tar.gz: d4b6c4bdcced35050f08c6f4095074298751db0bf654b1b799b0b9815583a5d88ccfc66c6ecc996a51cee297a3c051754dc5845dce4f3c38eb8f71a1dbf63368
|
data/.cherry.js
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
module.exports = {
|
2
|
+
project_name: 'dorianmariefr/template-ruby',
|
3
|
+
metrics: [
|
4
|
+
{
|
5
|
+
name: 'todo',
|
6
|
+
pattern: /TODO:/i,
|
7
|
+
},
|
8
|
+
{
|
9
|
+
name: 'fixme',
|
10
|
+
pattern: /FIXME:/i,
|
11
|
+
},
|
12
|
+
{
|
13
|
+
name: 'rubocop',
|
14
|
+
pattern: /rubocop:disable/,
|
15
|
+
},
|
16
|
+
{
|
17
|
+
name: 'eslint',
|
18
|
+
pattern: /eslint-disable/,
|
19
|
+
},
|
20
|
+
],
|
21
|
+
}
|
data/bin/publish
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative "lib/template/version"
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = "language-ruby"
|
5
|
+
s.version = ::Template::Version
|
6
|
+
s.summary = "A Parsing Expression Grammar (PEG) for making parsers"
|
7
|
+
s.description = s.summary
|
8
|
+
s.authors = ["Dorian Marié"]
|
9
|
+
s.email = "dorian@dorianmarie.fr"
|
10
|
+
s.files = `git ls-files`.split($/)
|
11
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
12
|
+
s.require_paths = ["lib"]
|
13
|
+
s.homepage = "https://github.com/dorianmariefr/template-ruby"
|
14
|
+
s.license = "MIT"
|
15
|
+
|
16
|
+
s.add_dependency "zeitwerk", "~> 2"
|
17
|
+
end
|
data/lib/code/object/string.rb
CHANGED
@@ -25,6 +25,9 @@ class Code
|
|
25
25
|
elsif operator == "reverse"
|
26
26
|
sig(arguments)
|
27
27
|
reverse
|
28
|
+
elsif operator == "include?"
|
29
|
+
sig(arguments) { ::Code::Object::String }
|
30
|
+
include?(value)
|
28
31
|
else
|
29
32
|
super
|
30
33
|
end
|
@@ -83,6 +86,10 @@ class Code
|
|
83
86
|
def reverse
|
84
87
|
::Code::Object::String.new(raw.reverse)
|
85
88
|
end
|
89
|
+
|
90
|
+
def include?(value)
|
91
|
+
::Code::Object::Boolean.new(raw.include?(value.raw))
|
92
|
+
end
|
86
93
|
end
|
87
94
|
end
|
88
95
|
end
|
data/lib/code/ruby.rb
CHANGED
@@ -39,7 +39,7 @@ class Code
|
|
39
39
|
)
|
40
40
|
elsif array?
|
41
41
|
::Code::Object::List.new(
|
42
|
-
raw.map { |element| ::Code::Ruby.to_code(
|
42
|
+
raw.map { |element| ::Code::Ruby.to_code(element) }
|
43
43
|
)
|
44
44
|
elsif proc?
|
45
45
|
::Code::Object::RubyFunction.new(raw)
|
@@ -66,11 +66,11 @@ class Code
|
|
66
66
|
raw
|
67
67
|
.raw
|
68
68
|
.map do |key, value|
|
69
|
-
[::Code::Ruby.
|
69
|
+
[::Code::Ruby.from_code(key), ::Code::Ruby.from_code(value)]
|
70
70
|
end
|
71
71
|
.to_h
|
72
72
|
elsif code_list?
|
73
|
-
raw.raw.map { |element| ::Code::Ruby.
|
73
|
+
raw.raw.map { |element| ::Code::Ruby.from_code(element) }
|
74
74
|
else
|
75
75
|
raise "Unsupported class #{raw.class} for Code to Ruby conversion"
|
76
76
|
end
|
data/lib/template/version.rb
CHANGED
data/spec/code/string_spec.rb
CHANGED
@@ -15,7 +15,8 @@ RSpec.describe "string" do
|
|
15
15
|
["'Hello \\{name}'", "Hello {name}"],
|
16
16
|
['"Hello \\{name}"', "Hello {name}"],
|
17
17
|
["'Hello {1}'", "Hello 1"],
|
18
|
-
['"Hello {1}"', "Hello 1"]
|
18
|
+
['"Hello {1}"', "Hello 1"],
|
19
|
+
['"Hello".include?("H")', "true"]
|
19
20
|
].each do |input, output|
|
20
21
|
context input do
|
21
22
|
let(:input) { input }
|
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.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dorian Marié
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zeitwerk
|
@@ -32,6 +32,7 @@ executables:
|
|
32
32
|
extensions: []
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
+
- ".cherry.js"
|
35
36
|
- ".editorconfig"
|
36
37
|
- ".github/workflows/rspec.yml"
|
37
38
|
- ".gitignore"
|
@@ -62,6 +63,7 @@ files:
|
|
62
63
|
- docs/slack.code
|
63
64
|
- docs/stripe.code
|
64
65
|
- docs/twitter.code
|
66
|
+
- language-ruby.gemspec
|
65
67
|
- lib/code-ruby.rb
|
66
68
|
- lib/code.rb
|
67
69
|
- lib/code/error.rb
|