human_time 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: c2a82065b646a888faea7199f766707515a31648
4
- data.tar.gz: 45ae17dff0ba5f66c5d43d21bac6cf31d0bd9119
3
+ metadata.gz: e76c8a096b55e718422e36e0c2b8ded0122fb352
4
+ data.tar.gz: e51307e3dec9173b69327a324be3ec7aa659c6a7
5
5
  SHA512:
6
- metadata.gz: c49360aa332a2519a85668198a0efa237a0fb7d434a6817a5a76785e7128b12f02d09757748640d67da7c693d4970cdd24a3958ed42bfb4c0389f02f25e3bea7
7
- data.tar.gz: 94d4a7ab2514e2a91093fc735bdd19190e1716b9b4fad915afcc02b3a70e11ee13d988d2a6626cc991232110d17dec7672725e4559a870bea6f846461ef41609
6
+ metadata.gz: 46703899e29a8b35ed2c542dda379fcf9064cd41b3e91075caab5639990cd0048098b05a386e15c5e425e693905377f7c5feda2e9898c27fbb8ba6ef19111ff9
7
+ data.tar.gz: b56dee21a8731b58a56a9bc11abb760b4094835d40b880af5d0416a91b918f31f4c6c5ee13d16cc4bb7b4c7f2df319100ae1aea04f8ef70a7bf3219fcf58a1a4
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # human_time
2
2
 
3
- Ruby time and date comparisons for humans. Have you ever struggled to understand what a piece of code like this is trying to say?
3
+ [![Build Status](https://travis-ci.org/allenan/human_time.svg?branch=master)](https://travis-ci.org/allenan/human_time)
4
+ [![Gem Version](https://badge.fury.io/rb/human_time.svg)](https://badge.fury.io/rb/human_time)
5
+
6
+ Have you ever struggled to understand what a piece of code like this is trying to say?
4
7
 
5
8
  ```ruby
6
9
  some_time > another_time
@@ -83,6 +86,30 @@ newer_date.newer_than?(older_date)
83
86
  - `older_than_or_equal_to?`
84
87
  - `before_or_equal_to?`
85
88
 
89
+ ## RSpec Matchers
90
+
91
+ human_time also provides RSpec matchers for more understandable time comparisons in your tests.
92
+
93
+ To use these, include the following in your `spec_helper.rb` file:
94
+
95
+ ```ruby
96
+ require 'human_time/rspec_matchers'
97
+ ```
98
+
99
+ And then you can use the following matchers:
100
+
101
+ ```ruby
102
+ older_date = Date.parse('2016-01-01')
103
+ newer_date = Date.parse('2016-01-02')
104
+
105
+ expect(newer_date).to be_more_recent_than(older_date)
106
+ expect(newer_date).to be_newer_than(older_date)
107
+ expect(newer_date).to be_more_recent_than_or_equal_to(older_date)
108
+ expect(newer_date).to be_newer_than_or_equal_to(newer_date)
109
+ expect(older_date).to be_older_than(newer_date)
110
+ expect(older_date).to be_older_than_or_equal_to(older_date)
111
+ ```
112
+
86
113
  ## Development
87
114
 
88
115
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -91,8 +118,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
91
118
 
92
119
  ## Contributing
93
120
 
94
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/human_time. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
95
-
121
+ Bug reports and pull requests are welcome on GitHub at https://github.com/allenan/human_time. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
96
122
 
97
123
  ## License
98
124
 
@@ -0,0 +1,37 @@
1
+ require 'rspec/expectations'
2
+
3
+ RSpec::Matchers.define :be_more_recent_than do |expected|
4
+ match do |actual|
5
+ actual > expected
6
+ end
7
+ end
8
+
9
+ RSpec::Matchers.define :be_newer_than do |expected|
10
+ match do |actual|
11
+ actual > expected
12
+ end
13
+ end
14
+
15
+ RSpec::Matchers.define :be_more_recent_than_or_equal_to do |expected|
16
+ match do |actual|
17
+ actual >= expected
18
+ end
19
+ end
20
+
21
+ RSpec::Matchers.define :be_newer_than_or_equal_to do |expected|
22
+ match do |actual|
23
+ actual >= expected
24
+ end
25
+ end
26
+
27
+ RSpec::Matchers.define :be_older_than do |expected|
28
+ match do |actual|
29
+ actual < expected
30
+ end
31
+ end
32
+
33
+ RSpec::Matchers.define :be_older_than_or_equal_to do |expected|
34
+ match do |actual|
35
+ actual <= expected
36
+ end
37
+ end
@@ -1,3 +1,3 @@
1
1
  module HumanTime
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: human_time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Allen
@@ -99,6 +99,7 @@ files:
99
99
  - bin/setup
100
100
  - human_time.gemspec
101
101
  - lib/human_time.rb
102
+ - lib/human_time/rspec_matchers.rb
102
103
  - lib/human_time/version.rb
103
104
  homepage: https://github.com/allenan/human_time
104
105
  licenses: