furichan 0.1.2 → 0.1.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 +4 -4
- data/.travis.yml +3 -1
- data/README.md +8 -1
- data/lib/furichan/cli.rb +13 -54
- data/lib/furichan/furichan_util.rb +77 -0
- data/lib/furichan/templates/template.md.erb +5 -0
- data/lib/furichan/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e874b72f85df62026a8e7379eeed26e57401675c
|
4
|
+
data.tar.gz: e6a702e8fa7c7edda6441022556ec025bc08b6da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '091adb876f3e335e9e777aeb92037817da66955ee676d1998402af58c5825d6e781044e8adcb83f0feb05422646b820bc1d2780db2e33dacfca548f7536bf1dd'
|
7
|
+
data.tar.gz: 31fba80bde85e0b06f3f0e803c45bc475dc5faffb8a25000b53dff232eb77d7adebaff0e01044d57132ab505b580992c9ae80bf4cd7e0fe5148556c25c8ba703
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Furichan
|
2
2
|
|
3
|
+
[][gem]
|
4
|
+
[][travis]
|
5
|
+
[](LICENSE)
|
6
|
+
|
7
|
+
[gem]: https://rubygems.org/gems/furichan
|
8
|
+
[travis]: https://travis-ci.org/Asuforce/furichan
|
9
|
+
|
3
10
|
Hi, My name is Furichan. Nice to see you.
|
4
11
|
I can print your GitHub and GH:E achievement on every week.
|
5
12
|
|
@@ -21,7 +28,7 @@ Or install it yourself as:
|
|
21
28
|
|
22
29
|
## Usage
|
23
30
|
|
24
|
-
You can say `$ furichan`.
|
31
|
+
You can say `$ furichan`. You can see your GitHub and GH:E achievement.
|
25
32
|
|
26
33
|
## Development
|
27
34
|
|
data/lib/furichan/cli.rb
CHANGED
@@ -1,73 +1,32 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
require 'thor'
|
4
|
-
require
|
5
|
-
require 'active_support/time'
|
6
|
-
require 'furik/cli'
|
2
|
+
require "furichan/furichan_util"
|
7
3
|
|
8
4
|
module Furichan
|
9
5
|
class CLI < Thor
|
6
|
+
include FurichanUtil
|
7
|
+
|
10
8
|
default_command :furichan
|
11
9
|
|
12
|
-
desc 'furichan',
|
10
|
+
desc 'furichan', "Create file and write about this week's reflection"
|
13
11
|
def furichan
|
14
12
|
invoke :init
|
15
|
-
invoke :
|
13
|
+
invoke :reflection
|
16
14
|
end
|
17
15
|
|
18
16
|
desc 'init', 'initialize of week setting'
|
19
17
|
def init
|
20
|
-
|
21
|
-
|
22
|
-
`mkdir -p #{wmonth}`
|
23
|
-
`cp template.md #{wmonth}/README.md`
|
18
|
+
#init_branch
|
19
|
+
init_file
|
24
20
|
end
|
25
21
|
|
26
|
-
desc '
|
27
|
-
def
|
28
|
-
|
29
|
-
dest = Pathname(wmonth + '/README.md')
|
30
|
-
dest.open('w') { |f| f.puts furik_init }
|
22
|
+
desc 'reflection', "write file about this week's furik"
|
23
|
+
def reflection
|
24
|
+
set_template(create_template)
|
31
25
|
end
|
32
26
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
today = Date.today()
|
37
|
-
beginning_of_month = today.beginning_of_month
|
38
|
-
cweek = today.cweek - beginning_of_month.cweek
|
39
|
-
|
40
|
-
# It should be first week.
|
41
|
-
# Don't add when begining of month is saturday or sunday
|
42
|
-
# ex 2017/07/07(Fri) -> 1
|
43
|
-
unless beginning_of_month.saturday? or beginning_of_month.sunday?
|
44
|
-
cweek += 1
|
45
|
-
end
|
46
|
-
|
47
|
-
cweek.to_s
|
48
|
-
end
|
49
|
-
|
50
|
-
def furik_init
|
51
|
-
week = Date.today.beginning_of_week
|
52
|
-
furik = Furik::Cli.new
|
53
|
-
furik.options = {
|
54
|
-
gh: true,
|
55
|
-
ghe: true,
|
56
|
-
from: week.to_s,
|
57
|
-
to: week.end_of_week.to_s,
|
58
|
-
since: 0,
|
59
|
-
}
|
60
|
-
activity = capture_stdout { furik.activity }
|
61
|
-
activity.gsub!('7days Activities', '## 7days Activity')
|
62
|
-
end
|
63
|
-
|
64
|
-
def capture_stdout
|
65
|
-
out = StringIO.new
|
66
|
-
$stdout = out
|
67
|
-
yield
|
68
|
-
return out.string
|
69
|
-
ensure
|
70
|
-
$stdout = STDOUT
|
27
|
+
desc 'furik', "write stdout this week's furik"
|
28
|
+
def furik
|
29
|
+
init_furik
|
71
30
|
end
|
72
31
|
end
|
73
32
|
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'date'
|
2
|
+
require 'erb'
|
3
|
+
require 'fileutils'
|
4
|
+
require 'furik/cli'
|
5
|
+
require 'active_support/time'
|
6
|
+
|
7
|
+
module FurichanUtil
|
8
|
+
private
|
9
|
+
|
10
|
+
def get_wmonth
|
11
|
+
Time.now().strftime('%Y-%m-') + week_of_month
|
12
|
+
end
|
13
|
+
|
14
|
+
def week_of_month
|
15
|
+
today = Date.today()
|
16
|
+
beginning_of_month = today.beginning_of_month
|
17
|
+
cweek = today.cweek - beginning_of_month.cweek
|
18
|
+
|
19
|
+
# It should be first week.
|
20
|
+
# Don't add when begining of month is saturday or sunday
|
21
|
+
# ex 2017/07/07(Fri) -> 1
|
22
|
+
cweek += 1 unless weekend?(beginning_of_month)
|
23
|
+
|
24
|
+
cweek.to_s
|
25
|
+
end
|
26
|
+
|
27
|
+
def weekend?(day)
|
28
|
+
day.saturday? or day.sunday?
|
29
|
+
end
|
30
|
+
|
31
|
+
def write_reflection
|
32
|
+
activity = capture_stdout { init_furik }
|
33
|
+
activity.gsub!('7days Activities', '## 7days Activity')
|
34
|
+
end
|
35
|
+
|
36
|
+
def init_furik
|
37
|
+
week = Date.today.beginning_of_week
|
38
|
+
furik = Furik::Cli.new
|
39
|
+
furik.options = {
|
40
|
+
gh: true,
|
41
|
+
ghe: true,
|
42
|
+
from: week.to_s,
|
43
|
+
to: week.end_of_week.to_s,
|
44
|
+
since: 0,
|
45
|
+
}
|
46
|
+
furik.activity
|
47
|
+
end
|
48
|
+
|
49
|
+
def capture_stdout
|
50
|
+
out = StringIO.new
|
51
|
+
$stdout = out
|
52
|
+
yield
|
53
|
+
return out.string
|
54
|
+
ensure
|
55
|
+
$stdout = STDOUT
|
56
|
+
end
|
57
|
+
|
58
|
+
def init_branch
|
59
|
+
`git checkout -b #{get_wmonth}`
|
60
|
+
end
|
61
|
+
|
62
|
+
def init_file
|
63
|
+
wmonth = get_wmonth
|
64
|
+
FileUtils.mkdir("#{wmonth}")
|
65
|
+
FileUtils.touch("#{wmonth}/README.md")
|
66
|
+
end
|
67
|
+
|
68
|
+
def create_template
|
69
|
+
template = File.read(File.expand_path('../templates/template.md.erb', __FILE__))
|
70
|
+
ERB.new(template).result(binding)
|
71
|
+
end
|
72
|
+
|
73
|
+
def set_template(result)
|
74
|
+
dest = Pathname("#{get_wmonth}/README.md")
|
75
|
+
dest.open('a') { |f| f.puts result }
|
76
|
+
end
|
77
|
+
end
|
data/lib/furichan/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furichan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- asuforce
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -116,6 +116,8 @@ files:
|
|
116
116
|
- furichan.gemspec
|
117
117
|
- lib/furichan.rb
|
118
118
|
- lib/furichan/cli.rb
|
119
|
+
- lib/furichan/furichan_util.rb
|
120
|
+
- lib/furichan/templates/template.md.erb
|
119
121
|
- lib/furichan/version.rb
|
120
122
|
homepage: https://github.com/Asuforce/furichan
|
121
123
|
licenses:
|