a14z6ch_elapsed_days 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: edd355cc6bfb54b7b5155083bcd925d239b1f351
4
- data.tar.gz: 1211773295c5ffcfa1391c2810bb2880b00a60f7
3
+ metadata.gz: 143919a4b6769d26931ca963c901d8e75ebc8166
4
+ data.tar.gz: b3d6534e7202595cf43716bf3200b183c6e392f7
5
5
  SHA512:
6
- metadata.gz: b513f0bf7b5dd35c38ebe38c25010c4fed977814a7edbdc874b30833fd4ff20a165e9577da86d0f386304c81705984a9e9de0dbeaf5b5dd1369b58ae39f72605
7
- data.tar.gz: 154548d722c20d9613e1866ab17f1a4d03492ed476eb1beec2affdff1e6f6efb21ac01601b4d08e1ea71888ff015729089ecf873c94e8b922aceef3efd352234
6
+ metadata.gz: a3608797315e1950168ea26b23d2e4daebc3d63c9749228fc11b29b84ac0b09783739d19ca1ce9deb14b916dc3741eb0a8f5787ce0dd90ce6785e50eb77e7f3e
7
+ data.tar.gz: 2ffb426000575f9749894894fe08f5cf70868e8cec222291ef08885322b3925f6f259f4fe9b67f252a6e2f135ad429dbaf568b3c87c139c242b32e10136b5f18
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ElapsedDays
2
2
 
3
- TODO: Write a gem description
3
+ This gem is to calculate elapsed days from one day to another day.
4
4
 
5
5
  ## Installation
6
6
 
@@ -20,11 +20,19 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- TODO: Write usage instructions here
23
+ calculate elapsed days from DATE to NOW.
24
+ ```
25
+ a14z6ch_elapsed_days from DATE
26
+ ```
27
+
28
+ calculate elapsed days from FROM_DATE to TO_DATE.
29
+ ```
30
+ a14z6ch_elapsed_days between FROM_DATE TO_DATE.
31
+ ```
24
32
 
25
33
  ## Contributing
26
34
 
27
- 1. Fork it ( https://github.com/[my-github-username]/a14z6ch_elapsed_days/fork )
35
+ 1. Fork it ( https://github.com/chrhsmt/a14z6ch_elapsed_days/fork )
28
36
  2. Create your feature branch (`git checkout -b my-new-feature`)
29
37
  3. Commit your changes (`git commit -am 'Add some feature'`)
30
38
  4. Push to the branch (`git push origin my-new-feature`)
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_runtime_dependency "activesupport"
22
22
  spec.add_runtime_dependency "colorize"
23
+ spec.add_runtime_dependency "thor"
23
24
  # spec.add_development_dependency "activesupport"
24
25
  spec.add_development_dependency "bundler", "~> 1.7"
25
26
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,13 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'active_support'
4
- require 'active_support/core_ext'
5
- require 'active_support/number_helper'
6
3
  require 'a14z6ch_elapsed_days'
7
- require 'colorize'
8
4
 
9
- if ARGV[0].nil?
10
- puts "please type valid date for arguments.".colorize(:light_blue)
11
- else
12
- puts "#{A14z6chElapsedDays::Base.calc(ARGV[0]).to_s(:delimited)} days elapsed from the day \"#{ARGV[0]}\"".colorize(:light_magenta)
13
- end
5
+ A14z6chElapsedDays.start(ARGV)
@@ -3,28 +3,55 @@ require 'active_support'
3
3
  require 'active_support/core_ext'
4
4
  require 'time'
5
5
  require 'colorize'
6
+ require 'thor'
6
7
 
7
8
  I18n.enforce_available_locales = false
8
9
 
9
10
  #
10
11
  # To calculate elapsed days.
11
12
  #
12
- module A14z6chElapsedDays
13
- class Base
14
- class << self
13
+ class A14z6chElapsedDays < Thor
15
14
 
16
- #
17
- # calculating method
18
- # @param from date
19
- #
20
- def calc(date)
21
- begin
22
- elapsed_seconds = Time.now - Time.parse(date)
23
- (elapsed_seconds / 60 / 60 / 24).to_i
24
- rescue ArgumentError => e
25
- puts "given date is not valid.".colorize(:light_blue)
26
- end
15
+ desc "from DATE", "calculate elapsed days from target date."
16
+ #
17
+ # calculating method
18
+ # @param from date
19
+ #
20
+ def from(date)
21
+ begin
22
+ puts "#{calc(date, Time.now.to_s).to_s(:delimited)} days elapsed from the day \"#{date}\" to NOW.".colorize(:light_magenta)
23
+ rescue ArgumentError => e
24
+ if e.message.nil?
25
+ puts "given date is not valid.".colorize(:light_blue)
26
+ else
27
+ puts e.message.colorize(:light_blue)
27
28
  end
28
29
  end
29
30
  end
31
+
32
+ desc "between FROM_DATE and TO_DATE", "calculate elapsed days from FROM date to TO date"
33
+ #
34
+ #
35
+ #
36
+ def between(from, to)
37
+ begin
38
+ puts "#{calc(from, to).to_s(:delimited)} days elapsed from the day \"#{from}\" to \"#{to}\".".colorize(:light_magenta)
39
+ rescue ArgumentError => e
40
+ if e.message.nil?
41
+ puts "given date is not valid.".colorize(:light_blue)
42
+ else
43
+ puts e.message.colorize(:light_blue)
44
+ end
45
+ end
46
+ end
47
+
48
+ private
49
+ def calc(from, to)
50
+ elapsed_seconds = Time.parse(to) - Time.parse(from)
51
+ if elapsed_seconds < 0
52
+ raise ArgumentError.new("TO DATE must be later than FROM DATE")
53
+ else
54
+ (elapsed_seconds / 60 / 60 / 24).to_i
55
+ end
56
+ end
30
57
  end
@@ -1,3 +1,3 @@
1
1
  module ElapsedDays
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: a14z6ch_elapsed_days
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chihiro Hashimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-30 00:00:00.000000000 Z
11
+ date: 2014-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: thor
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement