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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee60c4a6c17c27de6ff2db2f25e086b987edc556490bb60857f68f53d7474da3
4
- data.tar.gz: 127208f794ad4d16ac0babc7e9e46ed9e7ed69c97479debdbe39369d36c4c591
3
+ metadata.gz: c2f9d139eea7ab816480641fed6463276e96626401204b5bb11c8a59934abe93
4
+ data.tar.gz: f571be9f8bc7b9c4187b300e3f4d446deb4e4b427ed1c23b75c0a22ae7d6783b
5
5
  SHA512:
6
- metadata.gz: 88ae90e5850638a87caea5099e3608d80aea063ce24aca182a4695efaacd8f21c902e2798e29d7e9cd6b84d053348de85d72162dce2f81e3452d000d82412c4f
7
- data.tar.gz: d40544c7e4cee5cb540bba56e7ebe77754bd6ae9616534f7cca5e2832ae20d0a1b7898c430dd3c2d40fa4f986b3a196da0e9825942f289467d6ae4e2e7c8ced8
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  set -e
4
4
 
5
- rm *.gem
5
+ rm -f *.gem
6
6
  git pull
7
7
  git push
8
8
 
@@ -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
@@ -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(key) }
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.to_code(key), ::Code::Ruby.to_code(value)]
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.to_code(element) }
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
@@ -1,3 +1,3 @@
1
1
  require_relative "../template"
2
2
 
3
- Template::Version = Gem::Version.new("0.5.1")
3
+ Template::Version = Gem::Version.new("0.5.3")
@@ -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.1
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-06 00:00:00.000000000 Z
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