yage 0.0.2 → 0.0.3

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
  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: []