code-ruby 0.10.0 → 0.10.1

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: 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é