yage 0.0.2 → 0.0.3

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: e46c34bcfb77981665edb40c7fbda7261ddd47b31cf81032ed6022466a2bdc04
4
- data.tar.gz: 3cdfffe71e33b5500e386fc8ea444c56f0f0ed969d5478730838b8ad0a2d11e0
3
+ metadata.gz: cf85fc5726b10a9c485d4a930a0099804290856fda6b8250419ec90290b20bb7
4
+ data.tar.gz: 506424cd272129b0b8d95a7ab0096dba3952b968a09987b6118976ee25bd345a
5
5
  SHA512:
6
- metadata.gz: fb55d0b34cb6a162bb6ee203bc0468f6e3048726bc10b9963856d86a3284a457a4f1e75565c3f1c73cf0000d17dc73277c1ee93d4469b5124a8b5b8620f813fb
7
- data.tar.gz: db7711c5c58a0127d8e1d0b72217ffcf22035cb00498e937cedef5f91b2a8ffa31e2662eb066f3070a1c349203e98b1575af1d35b5a0c1f6ef19269c970acbba
6
+ metadata.gz: 26732e03721be59cd4f238b4ed72e8c54058503054530ec4b9377d456c715b23fbf239cac90c9956f128aae554e3a74d132c74d66ff2f15ebdd274336a06f5c1
7
+ data.tar.gz: 3c3b3fe3536cdd2aad42876691308ae654c9df8002aea16e944449687c793ee58d4b28f481e30325e23e66b15cd05c3113a06dba6a7257f21b2b2a5f98221f81
data/README.md CHANGED
@@ -50,13 +50,13 @@ year and yday (day of year) format
50
50
 
51
51
  ```sh
52
52
  $ yage --age_yday '2018/01/01' '2018/01/02'
53
- v0.1
53
+ v0.001
54
54
 
55
55
  $ yage --age_yday '2018/01/01' '2019/01/01'
56
- v1.0
56
+ v1.000
57
57
 
58
58
  $ yage --age_yday '2018/01/01' '2019/02/03'
59
- v1.33
59
+ v1.033
60
60
  ```
61
61
 
62
62
  custom format (support %year, %month, %mday and %yday)
data/exe/yage CHANGED
@@ -1,17 +1,48 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "yage"
4
- require "date"
5
- require "optparse"
3
+ require 'yage'
4
+ require 'date'
5
+ require 'optparse'
6
6
 
7
7
  Version = Yage::VERSION
8
8
 
9
- opts = ARGV.getopts(nil, "semver", "age_yday", "format:")
9
+ opts = {}
10
+ op = OptionParser.new do |opt|
11
+ opt.banner += ' SRC_DATE [DST_DATE]'
12
+ opt.on('--semver', 'Print like semver (ex. v2.3.12)') { opts[:semver] = 1 }
13
+ opt.on('--age_yday', 'Print year and days (ex. v2.102)') { opts[:age_yday] = 1 }
14
+ opt.on('--format VAL',
15
+ 'Custom format',
16
+ ' %year: Diff year value',
17
+ ' %month: Diff month value',
18
+ ' %mday: Diff month day value',
19
+ ' %yday: Diff year day value',
20
+ 'ex) --format "He is %year years old" => He is 2 years old') do |v|
21
+ opts[:format] = v
22
+ end
23
+ opt.parse!(ARGV)
24
+ end
10
25
 
11
- yd = Yage::Diff.new(Date.parse(ARGV[0]))
12
- res = yd.diff(ARGV[1].nil? ? Date.today : Date.parse(ARGV[1]))
26
+ def error_exit(msg)
27
+ puts msg
28
+ exit 1
29
+ end
13
30
 
14
- puts res.semver if opts["semver"]
15
- puts res.age_yday if opts["age_yday"]
16
- puts res.format(opts["format"]) if opts["format"]
17
- puts res.to_s unless opts.values.any?
31
+ def parse(val)
32
+ error_exit('nil value') if val.nil?
33
+ Date.parse(val)
34
+ rescue Date::Error => e
35
+ error_exit(e.message)
36
+ end
37
+
38
+ def run(argv)
39
+ yd = Yage::Diff.new(parse(argv[0]))
40
+ yd.diff(argv[1].nil? ? Date.today : parse(argv[1]))
41
+ end
42
+
43
+ res = run(ARGV)
44
+
45
+ puts res.semver if opts[:semver]
46
+ puts res.age_yday if opts[:age_yday]
47
+ puts res.format(opts[:format]) if opts[:format]
48
+ puts res.to_s unless opts.values.any?
data/lib/yage/data.rb CHANGED
@@ -23,7 +23,7 @@ module Yage
23
23
  end
24
24
 
25
25
  def age_yday
26
- format("v%year.%yday")
26
+ format("v%d.%03d", year, yday)
27
27
  end
28
28
  end
29
29
  end
data/lib/yage/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yage
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - yasuhiroki
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-13 00:00:00.000000000 Z
11
+ date: 2021-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,7 +84,7 @@ metadata:
84
84
  homepage_uri: https://github.com/yasuhiroki/yage-gem
85
85
  source_code_uri: https://github.com/yasuhiroki/yage-gem
86
86
  changelog_uri: https://github.com/yasuhiroki/yage-gem/CHANGELOG.md
87
- post_install_message:
87
+ post_install_message:
88
88
  rdoc_options: []
89
89
  require_paths:
90
90
  - lib
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  requirements: []
102
102
  rubygems_version: 3.1.2
103
- signing_key:
103
+ signing_key:
104
104
  specification_version: 4
105
105
  summary: A gem calculate age by some format
106
106
  test_files: []