code-ruby 0.10.2 → 0.10.4

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: bfbbb3111cae197c156f2e15075ea87c1a6be9db6c63f11ad351565e63d5f9c4
4
- data.tar.gz: fc3ad04af1f67eccea714ad5330ecb32b7e3d4d61d1997a53ef2fd76e84c40f6
3
+ metadata.gz: 4fb166c32bc6cf7c79dd6e1743329312c9a922efc1cfb111a00cc3d87cac9c41
4
+ data.tar.gz: 284f096cf17419c0688b36d000e77350580fb7f3ce7ad3ad221e6e1589e1ab4c
5
5
  SHA512:
6
- metadata.gz: 585352c2b5e01d1a66fb028e81f7903e6ea0c2a25c44b8f886cb57b601db09191e9cd1cf64be6915f58dbea7fd3b4d12edd179d19b50eea5939934f887edc76f
7
- data.tar.gz: 9239f84f782b9559944ed1907df0fba92b8cef058e38f853bbfc902389998d3a9adffd3633e905dd3a070dc82573b40b87b5f3010c8b3eac9e2cbdc2b81948c1
6
+ metadata.gz: 3d294d5f00bd9f474585eb25392122a355e4202b99a4d62045e5237880c7835d555b8cd43b07c3791d0471c98c32587a7491d05aab14fcbd50daf0cd2268c958
7
+ data.tar.gz: 38785eb41a2a7c28a421e8d0be54bd6cda5bf042503d9b31c2c3141a163877b68433141307520ab4cf666a5762f3c0f2b66d951ba03102374eec51a6531c500b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- code-ruby (0.10.0)
4
+ code-ruby (0.10.3)
5
5
  activesupport (~> 7)
6
6
  bigdecimal (~> 3)
7
7
  json (~> 2)
@@ -26,12 +26,11 @@ GEM
26
26
  concurrent-ruby (1.2.3)
27
27
  connection_pool (2.4.1)
28
28
  diff-lcs (1.5.1)
29
- drb (2.2.0)
30
- ruby2_keywords
29
+ drb (2.2.1)
31
30
  i18n (1.14.1)
32
31
  concurrent-ruby (~> 1.0)
33
32
  json (2.7.1)
34
- language-ruby (0.6.2)
33
+ language-ruby (0.7.0)
35
34
  zeitwerk (~> 2)
36
35
  minitest (5.22.2)
37
36
  mutex_m (0.2.0)
@@ -49,7 +48,6 @@ GEM
49
48
  rspec-support (~> 3.13.0)
50
49
  rspec-support (3.13.1)
51
50
  ruby-prof (1.7.0)
52
- ruby2_keywords (0.0.5)
53
51
  tzinfo (2.0.6)
54
52
  concurrent-ruby (~> 1.0)
55
53
  zeitwerk (2.6.13)
@@ -9,7 +9,9 @@ class Code
9
9
 
10
10
  def initialize(parsed)
11
11
  @operator = parsed.delete(:operator)
12
- @statement = Statement.new(parsed.delete(:statement)) if parsed[:statement]
12
+ @statement = Statement.new(parsed.delete(:statement)) if parsed[
13
+ :statement
14
+ ]
13
15
  @body = Code.new(parsed.delete(:body))
14
16
  super(parsed)
15
17
  end
@@ -12,6 +12,8 @@ class Code
12
12
 
13
13
  exponent = exponent.raw if exponent.is_a?(Number)
14
14
  @raw *= 10**exponent
15
+ rescue FloatDomainError => e
16
+ raise Error, e.message
15
17
  end
16
18
 
17
19
  def self.name
@@ -20,7 +20,7 @@ class Code
20
20
  end
21
21
 
22
22
  def root
23
- present | whitespace?.then { [] }
23
+ present | whitespace?.aka(:whitespace).then { [] }
24
24
  end
25
25
  end
26
26
  end
data/lib/code/version.rb CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require_relative "../code"
4
4
 
5
- Code::Version = Gem::Version.new("0.10.2")
5
+ Code::Version = Gem::Version.new("0.10.4")
data/spec/code_spec.rb CHANGED
@@ -146,10 +146,10 @@ RSpec.describe Code do
146
146
  ["a = 0 [1, 2, 3].each { |i| next if i == 2 a += i } a", "4"],
147
147
  ["[1, 2, 3].map { |i| next if i == 2 i ** 2}", "[1, nothing, 9]"],
148
148
  ["[1, 2, 3].map { |i| next(0) if i.even? i ** 2}", "[1, 0, 9]"],
149
- ["2.days.ago.past?", "true"],
150
- ["2.days.from_now.past?", "false"],
151
- ["2.days.ago.future?", "false"],
152
- ["2.days.from_now.future?", "true"],
149
+ %w[2.days.ago.past? true],
150
+ %w[2.days.from_now.past? false],
151
+ %w[2.days.ago.future? false],
152
+ %w[2.days.from_now.future? true]
153
153
  ].each do |input, expected|
154
154
  it "#{input} == #{expected}" do
155
155
  expect(Code.evaluate(input)).to eq(Code.evaluate(expected))
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.10.2
4
+ version: 0.10.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-01 00:00:00.000000000 Z
11
+ date: 2024-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport