sixarm_ruby_date_days 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/CONTRIBUTING.md +28 -0
- data/README.md +86 -0
- data/Rakefile +10 -0
- data/VERSION +1 -0
- data/lib/sixarm_ruby_date_days.rb +44 -0
- data/test/sixarm_ruby_date_days_test.rb +61 -0
- metadata +78 -0
- metadata.gz.sig +1 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cdef2910d727885f238d8273e0a61124ae0f5542
|
4
|
+
data.tar.gz: 84e7e3bae0745f9ac2527db7c8bd32afedbd0f16
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e8c47883284e9a712a0f384e7b0b6d31f53b99a9893c86b9f1b02a758671992964556ddb02c27ce01f0443e81fd29a02c171be8168b257884dee49335a194eb8
|
7
|
+
data.tar.gz: 075cc983a22d74d6c332381c00219d51b0725d1cd49edd996c4569defada58de10df995f9b20223bb30289caead180d8bb1a64ee28608389e451ac320ce7827d
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
Binary file
|
data/.gemtest
ADDED
File without changes
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Contributing
|
2
|
+
|
3
|
+
Thank you for contributing!
|
4
|
+
|
5
|
+
If you would like to contribute a donation, an easy way is to use PayPal to sixarm@sixarm.com.
|
6
|
+
|
7
|
+
If you would like to contribute help, the next section is for you.
|
8
|
+
|
9
|
+
|
10
|
+
## Contributing to the source
|
11
|
+
|
12
|
+
We love pull requests for improvments to the source code and documentation.
|
13
|
+
|
14
|
+
There are three easy steps:
|
15
|
+
|
16
|
+
1. Fork the repo.
|
17
|
+
|
18
|
+
* Before you do any work please run our existing tests to make sure the code runs cleanly.
|
19
|
+
|
20
|
+
2. Work as you like.
|
21
|
+
|
22
|
+
* Please create tests. This helps us know that all your code runs cleanly.
|
23
|
+
|
24
|
+
3. Push to your fork and submit a pull request.
|
25
|
+
|
26
|
+
* We'll take a look as soon as we can; this is typically within a business day.
|
27
|
+
|
28
|
+
Thank you again!
|
data/README.md
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
# SixArm.com » Ruby » <br> Date and Time #rand methods
|
2
|
+
|
3
|
+
[![Code Climate](https://codeclimate.com/github/SixArm/sixarm_ruby_date_days.png)](https://codeclimate.com/github/SixArm/sixarm_ruby_date_days)
|
4
|
+
[![Build Status](https://travis-ci.org/SixArm/sixarm_ruby_date_days.png)](https://travis-ci.org/SixArm/sixarm_ruby_date_days)
|
5
|
+
|
6
|
+
* Doc: <http://sixarm.com/sixarm_ruby_date_days/doc>
|
7
|
+
* Gem: <http://rubygems.org/gems/sixarm_ruby_date_days>
|
8
|
+
* Repo: <http://github.com/sixarm/sixarm_ruby_date_days>
|
9
|
+
* Email: Joel Parker Henderson, <joel@sixarm.com>
|
10
|
+
|
11
|
+
|
12
|
+
## Introduction
|
13
|
+
|
14
|
+
Generate random dates and times:
|
15
|
+
|
16
|
+
DateTime.rand
|
17
|
+
Date.rand
|
18
|
+
Time.rand
|
19
|
+
|
20
|
+
The random range is +/- 10000 days.
|
21
|
+
|
22
|
+
For docs go to <http://sixarm.com/sixarm_ruby_date_days/doc>
|
23
|
+
|
24
|
+
Want to help? We're happy to get pull requests.
|
25
|
+
|
26
|
+
|
27
|
+
## Install quickstart
|
28
|
+
|
29
|
+
Install:
|
30
|
+
|
31
|
+
gem install sixarm_ruby_date_days
|
32
|
+
|
33
|
+
Bundler:
|
34
|
+
|
35
|
+
gem "sixarm_ruby_date_days", "~>2.0.0"
|
36
|
+
|
37
|
+
Require:
|
38
|
+
|
39
|
+
require "sixarm_ruby_date_days"
|
40
|
+
|
41
|
+
|
42
|
+
## Install with security (optional)
|
43
|
+
|
44
|
+
To enable high security for all our gems:
|
45
|
+
|
46
|
+
wget http://sixarm.com/sixarm.pem
|
47
|
+
gem cert --add sixarm.pem
|
48
|
+
gem sources --add http://sixarm.com
|
49
|
+
|
50
|
+
To install with high security:
|
51
|
+
|
52
|
+
gem install sixarm_ruby_date_days --test --trust-policy HighSecurity
|
53
|
+
|
54
|
+
|
55
|
+
## Changes
|
56
|
+
|
57
|
+
* 2014-03-26 2.0.0 Publish
|
58
|
+
|
59
|
+
|
60
|
+
## License
|
61
|
+
|
62
|
+
You may choose any of these open source licenses:
|
63
|
+
|
64
|
+
* Apache License
|
65
|
+
* BSD License
|
66
|
+
* CreativeCommons License, Non-commercial Share Alike
|
67
|
+
* GNU General Public License Version 2 (GPL 2)
|
68
|
+
* GNU Lesser General Public License (LGPL)
|
69
|
+
* MIT License
|
70
|
+
* Perl Artistic License
|
71
|
+
* Ruby License
|
72
|
+
|
73
|
+
The software is provided "as is", without warranty of any kind,
|
74
|
+
express or implied, including but not limited to the warranties of
|
75
|
+
merchantability, fitness for a particular purpose and noninfringement.
|
76
|
+
|
77
|
+
In no event shall the authors or copyright holders be liable for any
|
78
|
+
claim, damages or other liability, whether in an action of contract,
|
79
|
+
tort or otherwise, arising from, out of or in connection with the
|
80
|
+
software or the use or other dealings in the software.
|
81
|
+
|
82
|
+
This license is for the included software that is created by SixArm;
|
83
|
+
some of the included software may have its own licenses, copyrights,
|
84
|
+
authors, etc. and these do take precedence over the SixArm license.
|
85
|
+
|
86
|
+
Copyright (c) 2005-2012 Joel Parker Henderson
|
data/Rakefile
ADDED
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin rdoc
|
3
|
+
Please see README
|
4
|
+
=end
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
class Date
|
9
|
+
|
10
|
+
WDAYS = [0, 1, 2, 3, 4, 5, 6]
|
11
|
+
|
12
|
+
WEEKEND_WDAYS = [0, 6]
|
13
|
+
WEEKEND_DAYNAMES = DAYNAMES.values_at(*WEEKEND_WDAYS)
|
14
|
+
WEEKEND_ABBR_DAYNAMES = ABBR_DAYNAMES.values_at(*WEEKEND_WDAYS)
|
15
|
+
|
16
|
+
WORKWEEK_WDAYS = [1, 2, 3, 4, 5]
|
17
|
+
WORKWEEK_DAYNAMES = DAYNAMES.values_at(*WORKWEEK_WDAYS)
|
18
|
+
WORKWEEK_ABBR_DAYNAMES = ABBR_DAYNAMES.values_at(*WORKWEEK_WDAYS)
|
19
|
+
|
20
|
+
# @return [Boolean] true if the date is a workweek day: Mon, Tue, Wed, Thu, Fri
|
21
|
+
#
|
22
|
+
# @example
|
23
|
+
# d = Date.parse('2008-01-01')
|
24
|
+
# d.wday => 2
|
25
|
+
# d.weekday? => true
|
26
|
+
|
27
|
+
def workweek?
|
28
|
+
WORKWEEK_WDAYS.include? wday
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
# @return [Boolean] true if the date is a weekend day: Sat, Sun
|
33
|
+
#
|
34
|
+
# @example
|
35
|
+
# d = Date.parse('2008-01-05')
|
36
|
+
# d.wday => 6
|
37
|
+
# d.weekend? => true
|
38
|
+
|
39
|
+
def weekend?
|
40
|
+
WEEKEND_WDAYS.include? wday
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start
|
5
|
+
require 'sixarm_ruby_date_days'
|
6
|
+
|
7
|
+
class DateTest < Minitest::Test
|
8
|
+
|
9
|
+
def test_wdays
|
10
|
+
assert_equal([0,1, 2, 3, 4, 5, 6], Date::WDAYS)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_weekend_wdays
|
14
|
+
assert_equal([0, 6], Date::WEEKEND_WDAYS)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_weekend_daynames
|
18
|
+
assert_equal(["Sunday", "Saturday"], Date::WEEKEND_DAYNAMES)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_weekend_abbr_daynames
|
22
|
+
assert_equal(["Sun", "Sat"], Date::WEEKEND_ABBR_DAYNAMES)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_workweek_wdays
|
26
|
+
assert_equal([1, 2, 3, 4, 5], Date::WORKWEEK_WDAYS)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_workweek_daynames
|
30
|
+
assert_equal(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], Date::WORKWEEK_DAYNAMES)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_workweek_abbr_daynames
|
34
|
+
assert_equal(["Mon", "Tue", "Wed", "Thu", "Fri"], Date::WORKWEEK_ABBR_DAYNAMES)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_workweek
|
38
|
+
# Start on Monday, January 1, 2007
|
39
|
+
assert( Date.new(2007,1,1).workweek?)
|
40
|
+
assert( Date.new(2007,1,2).workweek?)
|
41
|
+
assert( Date.new(2007,1,3).workweek?)
|
42
|
+
assert( Date.new(2007,1,4).workweek?)
|
43
|
+
assert( Date.new(2007,1,5).workweek?)
|
44
|
+
assert(!Date.new(2007,1,6).workweek?)
|
45
|
+
assert(!Date.new(2007,1,7).workweek?)
|
46
|
+
assert( Date.new(2007,1,8).workweek?)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_weekend
|
50
|
+
# Start on Monday, January 1, 2007
|
51
|
+
assert(!Date.new(2007,1,1).weekend?)
|
52
|
+
assert(!Date.new(2007,1,2).weekend?)
|
53
|
+
assert(!Date.new(2007,1,3).weekend?)
|
54
|
+
assert(!Date.new(2007,1,4).weekend?)
|
55
|
+
assert(!Date.new(2007,1,5).weekend?)
|
56
|
+
assert( Date.new(2007,1,6).weekend?)
|
57
|
+
assert( Date.new(2007,1,7).weekend?)
|
58
|
+
assert(!Date.new(2007,1,8).weekend?)
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sixarm_ruby_date_days
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- SixArm
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQ8wDQYDVQQDDAZzaXhh
|
14
|
+
cm0xFjAUBgoJkiaJk/IsZAEZFgZzaXhhcm0xEzARBgoJkiaJk/IsZAEZFgNjb20w
|
15
|
+
HhcNMTQwMzEzMDQyMjE4WhcNMTUwMzEzMDQyMjE4WjA+MQ8wDQYDVQQDDAZzaXhh
|
16
|
+
cm0xFjAUBgoJkiaJk/IsZAEZFgZzaXhhcm0xEzARBgoJkiaJk/IsZAEZFgNjb20w
|
17
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5MZYB72Amo9DyeqBdJeEx
|
18
|
+
r4togM0+diNuL1nCH2FSO/+LX5L9mTPEEW5gexYCasmlOfmk5255EToJNtu1JUM/
|
19
|
+
dMqUbNS5LZ1srFVcyDzIe/wQ9f2OSmb+lAGmlnFLfYSpduMv9fPNISlcs5nFYSR9
|
20
|
+
mpS0kTWcXQPLNDl2cfnkYYjDsuyJ8FmDyG7TTF0c4OWJNLxNDE8To2n8GmmDSwr3
|
21
|
+
0K71F278CJlFoIaSSjnhKxkH8/l+z/Vs58KkjX/7M6nwNgNZMQaFBIO02UDtCi2F
|
22
|
+
ICVtDuWdK0YLv3JnIzvSQPQsfArrw2s8RVKjXlelPMeHJIcCEZcS4K6HIg7vQCkP
|
23
|
+
AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQrbLvF
|
24
|
+
TNv9r72z+hpCl3BkTPbzwTAcBgNVHREEFTATgRFzaXhhcm1Ac2l4YXJtLmNvbTAc
|
25
|
+
BgNVHRIEFTATgRFzaXhhcm1Ac2l4YXJtLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEA
|
26
|
+
H08J7cTJyfm4mXpdM0FFr/f/syQSl2ymJWtcosuKA79A/vYMZ+n9B1gpuJmegjNt
|
27
|
+
lmYByeU50jJJ7JNdkvkTagHCZaxtzclWx6AR5gTd8V/sBKbTWtHe72pOWz/stQs2
|
28
|
+
xD8tQZvdAuBtRXx4ys6e3vigvYjdmTHUR9tT/NGCwmWj7KTk3mwNKBmuQGWTVWrV
|
29
|
+
h6r4cFMt3X5Zu+euYxHqDuwWyub9hp4s30/ea38CoYNdIZcSFtpGuvhwVDU0x5dg
|
30
|
+
sWRVEyjnjnNuAeLP9zv43IDXjS22L2efhap7IOinYjcecpfXJgQaU+6BFAY4sdkQ
|
31
|
+
S1STYSfs3qySBxxAeEyZTw==
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2014-03-26 00:00:00.000000000 Z
|
34
|
+
dependencies: []
|
35
|
+
description: Adds extensions and constants for days of the week
|
36
|
+
email: sixarm@sixarm.com
|
37
|
+
executables: []
|
38
|
+
extensions: []
|
39
|
+
extra_rdoc_files: []
|
40
|
+
files:
|
41
|
+
- ".gemtest"
|
42
|
+
- CONTRIBUTING.md
|
43
|
+
- README.md
|
44
|
+
- Rakefile
|
45
|
+
- VERSION
|
46
|
+
- lib/sixarm_ruby_date_days.rb
|
47
|
+
- test/sixarm_ruby_date_days_test.rb
|
48
|
+
homepage: http://sixarm.com/
|
49
|
+
licenses:
|
50
|
+
- BSD
|
51
|
+
- GPL
|
52
|
+
- MIT
|
53
|
+
- PAL
|
54
|
+
- Various
|
55
|
+
metadata: {}
|
56
|
+
post_install_message:
|
57
|
+
rdoc_options: []
|
58
|
+
require_paths:
|
59
|
+
- lib
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
requirements: []
|
71
|
+
rubyforge_project:
|
72
|
+
rubygems_version: 2.2.0
|
73
|
+
signing_key:
|
74
|
+
specification_version: 4
|
75
|
+
summary: SixArm.com » Ruby » Date extensions for days
|
76
|
+
test_files:
|
77
|
+
- test/sixarm_ruby_date_days_test.rb
|
78
|
+
has_rdoc: true
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
e�����W<����u(���7KO��5Q�hT�q�j��`�F�9݀�>rO�pfH�Y�/��@d��}��tY3u�"�~D�w�Y_D*"��E�5ָ�r�������
|