code-ruby 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af513b1ba26657cd202191bd69f97e6018c0bdc42ca5b518bc2f1de4800d9cf1
4
- data.tar.gz: 73f15cd6414c7908118c0f78e5f18f6407f5e6f947fa470110f5d7777f3ebc83
3
+ metadata.gz: 69504978bef3bec13e0dce8bf3a66612b9571585666e0fd81599cad8eda0140e
4
+ data.tar.gz: 2d5cf454505090411132f29b65845aa7c4e47de55e20b0666b87e7b20fd0b6c2
5
5
  SHA512:
6
- metadata.gz: 88094db69266fed8e2a9ff8f435406ebb623e815dfb85de6087a95ad3352da6dfd53162a3f457773a62247199a38b4ffdede637741d8dcc2e29707c6a5070ff4
7
- data.tar.gz: 3568647377cc4049c042aee130e6d409e1d4cfa6d556ba3179696bbab7d71a70744ce2e50cb5104dfd564b4bbb417154a22ae08c4e52aba4f797e11cecf67a22
6
+ metadata.gz: 7192675e6d24c2e4d577ac64f8f8cd456e077a8b1ebdc673a71d9f58649f25865199ea2d65fd5fb92ec0a154a9efccf2ae90fed1ae37f796f97710473d49146e
7
+ data.tar.gz: 86334c8c18b2c51d4a7aafa64220bbed47b99e008a2b9ce522d4ec2f840ce145a29e4440a7f725af6fc36da4ba6c28b0255a3ba2b6b350681d9a0eb06a21e8f0
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
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.1")
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,7 +1,7 @@
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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié