yage 0.0.1 → 0.0.2

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: d4fa9963970f6b311491515d1bc46992f6def2c0a6358b63854746d35d274599
4
- data.tar.gz: d611b438089ecce0a29e1f056bb010c3c8b5999c7a7e3ec620ba3a9341fc9153
3
+ metadata.gz: e46c34bcfb77981665edb40c7fbda7261ddd47b31cf81032ed6022466a2bdc04
4
+ data.tar.gz: 3cdfffe71e33b5500e386fc8ea444c56f0f0ed969d5478730838b8ad0a2d11e0
5
5
  SHA512:
6
- metadata.gz: '0492186cb76c4b3bce8c2aadad5d2baf8919c4f64518c40e539d131e66d522b4590a6241b018a359d3dba0880bfa0ab30eb7c707f386e24fc52a232893c2d986'
7
- data.tar.gz: 6157561ddf1aa32c106de5853e043599cce7dfaeedf2120067958f282852099fc31a2c7299d0c012094a2b481958eef80d4438036472a675467ee84ac065e448
6
+ metadata.gz: fb55d0b34cb6a162bb6ee203bc0468f6e3048726bc10b9963856d86a3284a457a4f1e75565c3f1c73cf0000d17dc73277c1ee93d4469b5124a8b5b8620f813fb
7
+ data.tar.gz: db7711c5c58a0127d8e1d0b72217ffcf22035cb00498e937cedef5f91b2a8ffa31e2662eb066f3070a1c349203e98b1575af1d35b5a0c1f6ef19269c970acbba
@@ -0,0 +1,41 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - release
7
+
8
+ jobs:
9
+ build:
10
+ name: Build + Publish
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@master
15
+ - name: Set up Ruby 2.6
16
+ uses: actions/setup-ruby@v1
17
+ with:
18
+ version: 2.6.x
19
+
20
+ - name: Publish to GPR
21
+ run: |
22
+ mkdir -p $HOME/.gem
23
+ touch $HOME/.gem/credentials
24
+ chmod 0600 $HOME/.gem/credentials
25
+ printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
26
+ gem build *.gemspec
27
+ gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
28
+ env:
29
+ GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
30
+ OWNER: yasuhiroki
31
+
32
+ - name: Publish to RubyGems
33
+ run: |
34
+ mkdir -p $HOME/.gem
35
+ touch $HOME/.gem/credentials
36
+ chmod 0600 $HOME/.gem/credentials
37
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
38
+ gem build *.gemspec
39
+ gem push *.gem
40
+ env:
41
+ GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
@@ -0,0 +1,20 @@
1
+ name: Ruby
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v1
12
+ - name: Set up Ruby 2.6
13
+ uses: actions/setup-ruby@v1
14
+ with:
15
+ ruby-version: 2.6.x
16
+ - name: Build and test with Rake
17
+ run: |
18
+ gem install bundler
19
+ bundle install --jobs 4 --retry 3
20
+ bundle exec rake
data/.gitignore CHANGED
@@ -42,9 +42,9 @@ build-iPhoneSimulator/
42
42
 
43
43
  # for a library or gem, you might want to ignore these files since the code is
44
44
  # intended to run in multiple environments; otherwise, check them in:
45
- # Gemfile.lock
46
- # .ruby-version
47
- # .ruby-gemset
45
+ Gemfile.lock
46
+ .ruby-version
47
+ .ruby-gemset
48
48
 
49
49
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50
50
  .rvmrc
data/README.md CHANGED
@@ -33,7 +33,7 @@ $ yage '2018/01/01' '2020/01/01'
33
33
  2 years
34
34
  ```
35
35
 
36
- Format alike semver
36
+ semver format
37
37
 
38
38
  ```sh
39
39
  $ yage --semver '2018/01/01' '2018/01/02'
@@ -46,6 +46,26 @@ $ yage --semver '2018/01/01' '2020/02/03'
46
46
  v2.1.2
47
47
  ```
48
48
 
49
+ year and yday (day of year) format
50
+
51
+ ```sh
52
+ $ yage --age_yday '2018/01/01' '2018/01/02'
53
+ v0.1
54
+
55
+ $ yage --age_yday '2018/01/01' '2019/01/01'
56
+ v1.0
57
+
58
+ $ yage --age_yday '2018/01/01' '2019/02/03'
59
+ v1.33
60
+ ```
61
+
62
+ custom format (support %year, %month, %mday and %yday)
63
+
64
+ ```sh
65
+ $ yage --format "%year years %month month %mday days" '2018/01/01' '2023/04/15'
66
+ 5 years 3 month 14 days
67
+ ```
68
+
49
69
  ## Development
50
70
 
51
71
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/exe/yage CHANGED
@@ -4,6 +4,8 @@ require "yage"
4
4
  require "date"
5
5
  require "optparse"
6
6
 
7
+ Version = Yage::VERSION
8
+
7
9
  opts = ARGV.getopts(nil, "semver", "age_yday", "format:")
8
10
 
9
11
  yd = Yage::Diff.new(Date.parse(ARGV[0]))
data/lib/yage/data.rb ADDED
@@ -0,0 +1,29 @@
1
+ module Yage
2
+ Data = Struct.new(:base, :dist, :year, :month, :mday, :yday) do
3
+ def to_s
4
+ "#{year} year#{year > 1 ? "s" : ""}"
5
+ end
6
+
7
+ # format by following variable
8
+ # - %year
9
+ # - %month
10
+ # - %mday
11
+ # - %yday
12
+ # ex) format("v%year.%month.%mday")
13
+ def format(str, *args)
14
+ str.gsub!(/%year/, year.to_s)
15
+ str.gsub!(/%month/, month.to_s)
16
+ str.gsub!(/%mday/, mday.to_s)
17
+ str.gsub!(/%yday/, yday.to_s)
18
+ sprintf str, *args
19
+ end
20
+
21
+ def semver
22
+ format("v%year.%month.%mday")
23
+ end
24
+
25
+ def age_yday
26
+ format("v%year.%yday")
27
+ end
28
+ end
29
+ end
data/lib/yage/diff.rb CHANGED
@@ -1,33 +1,5 @@
1
1
  module Yage
2
2
  class Diff
3
- Data = Struct.new(:base, :dist, :year, :month, :mday, :yday) do
4
- def to_s
5
- "#{year} year#{year > 1 ? "s" : ""}"
6
- end
7
-
8
- # format by following variable
9
- # - %year
10
- # - %month
11
- # - %mday
12
- # - %yday
13
- # ex) format("v%year.%month.%mday")
14
- def format(str, *args)
15
- str.gsub!(/%year/, year.to_s)
16
- str.gsub!(/%month/, month.to_s)
17
- str.gsub!(/%mday/, mday.to_s)
18
- str.gsub!(/%yday/, yday.to_s)
19
- sprintf str, *args
20
- end
21
-
22
- def semver
23
- format("v%year.%month.%mday")
24
- end
25
-
26
- def age_yday
27
- format("v%year.%yday")
28
- end
29
- end
30
-
31
3
  def initialize(date = Date.today)
32
4
  @base = date
33
5
  end
@@ -86,7 +58,8 @@ module Yage
86
58
  end
87
59
 
88
60
  def end_of_last_month(d2)
89
- Date.new(d2.year, d2.month - 1, -1)
61
+ last_month = ([12] + (1..11).to_a)[d2.month - 1]
62
+ Date.new(d2.year, last_month, -1)
90
63
  end
91
64
  end
92
65
  end
data/lib/yage/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yage
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/yage.rb CHANGED
@@ -1,2 +1,3 @@
1
+ require "yage/data"
1
2
  require "yage/diff"
2
3
  require "yage/version"
data/yage.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.add_development_dependency "bundler", "~> 2.1.a"
29
+ spec.add_development_dependency "bundler", "~> 2.0"
30
30
  spec.add_development_dependency "rake", "~> 12.0"
31
31
  spec.add_development_dependency "minitest", "~> 5.0"
32
32
  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.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - yasuhiroki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2020-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.a
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.a
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -60,6 +60,8 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - ".github/workflows/gempush.yml"
64
+ - ".github/workflows/ruby.yml"
63
65
  - ".gitignore"
64
66
  - CHANGELOG.md
65
67
  - CODE_OF_CONDUCT.md
@@ -71,6 +73,7 @@ files:
71
73
  - bin/setup
72
74
  - exe/yage
73
75
  - lib/yage.rb
76
+ - lib/yage/data.rb
74
77
  - lib/yage/diff.rb
75
78
  - lib/yage/version.rb
76
79
  - yage.gemspec
@@ -96,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
99
  - !ruby/object:Gem::Version
97
100
  version: '0'
98
101
  requirements: []
99
- rubygems_version: 3.1.0.pre1
102
+ rubygems_version: 3.1.2
100
103
  signing_key:
101
104
  specification_version: 4
102
105
  summary: A gem calculate age by some format