yage 0.0.1 → 0.0.2

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