ranger 1.0.0 → 1.1.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 +4 -4
- data/README.md +4 -0
- data/lib/ranger.rb +14 -1
- data/lib/ranger/version.rb +1 -1
- data/ranger.gemspec +2 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b699902c9e098061f0ac396a25ef5ad58e84edbd
|
4
|
+
data.tar.gz: a8b54ae39eb56abd1fac7da08ccc1d35d4343ec1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 190653dec66f77f170f24977e96753472c1d8cbb70eca9a228ae2a20122fa4017199beb1586d68993ffbb34939ba59aeb524ea376b598a10f11558b88f3bb870
|
7
|
+
data.tar.gz: 3c64494bf804e2e3a0ab35f68305ee5fccbb47851897c16394a411bcfcee592e5b392b9437e95b38891182c33e64ca53b8c1d76d29c0f178ee85ca1d0d7363b4
|
data/README.md
CHANGED
@@ -16,11 +16,15 @@ Or install it yourself as:
|
|
16
16
|
|
17
17
|
## Usage
|
18
18
|
|
19
|
+
As of 1.1.0 works for string form integer __and__ date ranges
|
20
|
+
|
19
21
|
```ruby
|
20
22
|
"1..3".to_range
|
21
23
|
#=> 1..3 # a range object
|
22
24
|
"1...3".to_range #
|
23
25
|
#=> 1...3
|
26
|
+
"01-01-2015..02-02-2015".to_range
|
27
|
+
#=> Thu, 01 Jan 2015 00:00:00 +0000..Mon, 02 Feb 2015 23:59:59 +0000
|
24
28
|
```
|
25
29
|
|
26
30
|
### TODO
|
data/lib/ranger.rb
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
require "ranger/version"
|
2
|
+
require 'active_support/all'
|
2
3
|
|
3
4
|
class String
|
4
5
|
def to_range
|
5
|
-
if self.match(/\A\d
|
6
|
+
if self.match(/\A\d+\.{2,3}\d+\z/)
|
6
7
|
if self.include?("...")
|
7
8
|
return rangeify("...")
|
8
9
|
else
|
9
10
|
return rangeify("..")
|
10
11
|
end
|
12
|
+
elsif self.match(DATE_MATCH_REGEX)
|
13
|
+
if self.include?("...")
|
14
|
+
return d_rangeify("...")
|
15
|
+
else
|
16
|
+
return d_rangeify("..")
|
17
|
+
end
|
11
18
|
else
|
12
19
|
raise ArgumentError, "Given string does not match /\A\d+...?\d+\z/"
|
13
20
|
end
|
@@ -18,4 +25,10 @@ class String
|
|
18
25
|
two_range_integers = self.split(type)
|
19
26
|
return eval(%Q|#{two_range_integers[0]}#{type}#{two_range_integers[1]}|)
|
20
27
|
end
|
28
|
+
def d_rangeify type
|
29
|
+
two_range_dates = self.split(type)
|
30
|
+
return two_range_dates[0].to_datetime.beginning_of_day..two_range_dates[1].to_datetime.end_of_day
|
31
|
+
end
|
32
|
+
DATE_REGEX = /\d{1,2}-\d{1,2}-\d{4}/
|
33
|
+
DATE_MATCH_REGEX = /\A#{DATE_REGEX}\.{2,3}#{DATE_REGEX}\z/
|
21
34
|
end
|
data/lib/ranger/version.rb
CHANGED
data/ranger.gemspec
CHANGED
@@ -17,6 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
+
spec.add_dependency 'activesupport'
|
21
|
+
|
20
22
|
spec.add_development_dependency "bundler", "~> 1.8"
|
21
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
24
|
spec.add_development_dependency "rspec"
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ranger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Epigene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|