code-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: 63d6ed5d4847ed126900596ec75678d40676de5a0a5736891a2ba4947f83add0
4
- data.tar.gz: 127208f794ad4d16ac0babc7e9e46ed9e7ed69c97479debdbe39369d36c4c591
3
+ metadata.gz: abf1a1657a2333a0ebacfaef8714b4704dc19927d3c8a66ef94a23b8ab526c1e
4
+ data.tar.gz: 2b5f1a517e49e30f4f3a9c8d52faba2ddedad5a567473863fd3006e790b8018c
5
5
  SHA512:
6
- metadata.gz: 3fc6e846dc74be5775d9b4a5fbd948fc62e933b4b9f043fb9a3ee0dafd19a6e2cad36213208e7094fa56bede0e101dbc03213acbf653eb573ac36eecd72b1225
7
- data.tar.gz: d40544c7e4cee5cb540bba56e7ebe77754bd6ae9616534f7cca5e2832ae20d0a1b7898c430dd3c2d40fa4f986b3a196da0e9825942f289467d6ae4e2e7c8ced8
6
+ metadata.gz: fc1e6ec8ad7829a3ff9681fe0549cbcef10551fd3ab449bcf0187586a0d523004d3191288227b7009b4ed2279f057e4179394c1e2c2e9e41923669e544192191
7
+ data.tar.gz: 2db666b26767609eaa6793341d8f87ce426a5ec0ea42daa8fc59bf2d2c05ba8316d8c79ca31260c59bf021e22f8101493a3fbd9dfd21bcdb290b28e34b27db2e
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: code-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
@@ -30,6 +30,7 @@ executables: []
30
30
  extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
+ - ".cherry.js"
33
34
  - ".editorconfig"
34
35
  - ".github/workflows/rspec.yml"
35
36
  - ".gitignore"
@@ -60,6 +61,7 @@ files:
60
61
  - docs/slack.code
61
62
  - docs/stripe.code
62
63
  - docs/twitter.code
64
+ - language-ruby.gemspec
63
65
  - lib/code-ruby.rb
64
66
  - lib/code.rb
65
67
  - lib/code/error.rb