code-ruby 0.10.0 → 0.10.2

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: af513b1ba26657cd202191bd69f97e6018c0bdc42ca5b518bc2f1de4800d9cf1
4
- data.tar.gz: 73f15cd6414c7908118c0f78e5f18f6407f5e6f947fa470110f5d7777f3ebc83
3
+ metadata.gz: bfbbb3111cae197c156f2e15075ea87c1a6be9db6c63f11ad351565e63d5f9c4
4
+ data.tar.gz: fc3ad04af1f67eccea714ad5330ecb32b7e3d4d61d1997a53ef2fd76e84c40f6
5
5
  SHA512:
6
- metadata.gz: 88094db69266fed8e2a9ff8f435406ebb623e815dfb85de6087a95ad3352da6dfd53162a3f457773a62247199a38b4ffdede637741d8dcc2e29707c6a5070ff4
7
- data.tar.gz: 3568647377cc4049c042aee130e6d409e1d4cfa6d556ba3179696bbab7d71a70744ce2e50cb5104dfd564b4bbb417154a22ae08c4e52aba4f797e11cecf67a22
6
+ metadata.gz: 585352c2b5e01d1a66fb028e81f7903e6ea0c2a25c44b8f886cb57b601db09191e9cd1cf64be6915f58dbea7fd3b4d12edd179d19b50eea5939934f887edc76f
7
+ data.tar.gz: 9239f84f782b9559944ed1907df0fba92b8cef058e38f853bbfc902389998d3a9adffd3633e905dd3a070dc82573b40b87b5f3010c8b3eac9e2cbdc2b81948c1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- code-ruby (0.9.3)
4
+ code-ruby (0.10.0)
5
5
  activesupport (~> 7)
6
6
  bigdecimal (~> 3)
7
7
  json (~> 2)
@@ -55,21 +55,35 @@ class Code
55
55
  when "before?"
56
56
  sig(args) { Time.maybe }
57
57
  code_before?(value)
58
+ when "past?"
59
+ sig(args)
60
+ code_past?
61
+ when "future?"
62
+ sig(args)
63
+ code_future?
58
64
  else
59
65
  super
60
66
  end
61
67
  end
62
68
 
63
- def code_after?(other)
69
+ def code_after?(other = nil)
64
70
  other ||= Time.code_now
65
71
  Boolean.new(raw.after?(other.raw))
66
72
  end
67
73
 
68
- def code_before?(other)
74
+ def code_before?(other = nil)
69
75
  other ||= Time.code_now
70
76
  Boolean.new(raw.before?(other.raw))
71
77
  end
72
78
 
79
+ def code_past?
80
+ code_before?
81
+ end
82
+
83
+ def code_future?
84
+ code_after?
85
+ end
86
+
73
87
  def inspect
74
88
  to_s
75
89
  end
@@ -44,7 +44,7 @@ class Code
44
44
  (
45
45
  space | newline | hash_comment | double_slash_comment |
46
46
  multi_line_comment
47
- ).repeat(1)
47
+ ).repeat(1) | any.absent
48
48
  end
49
49
  end
50
50
  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.0")
5
+ Code::Version = Gem::Version.new("0.10.2")
data/spec/code_spec.rb CHANGED
@@ -145,13 +145,14 @@ RSpec.describe Code do
145
145
  ["a = 0 loop a += 1 break end a", "1"],
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
- ["[1, 2, 3].map { |i| next(0) if i.even? i ** 2}", "[1, 0, 9]"]
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
153
  ].each do |input, expected|
150
154
  it "#{input} == #{expected}" do
151
155
  expect(Code.evaluate(input)).to eq(Code.evaluate(expected))
152
- end
153
-
154
- it "#{input} converts to json like #{expected}" do
155
156
  expect(Code.evaluate(input).to_json).to eq(
156
157
  Code.evaluate(expected).to_json
157
158
  )
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.0
4
+ version: 0.10.2
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-02-28 00:00:00.000000000 Z
11
+ date: 2024-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport