rabbit-slide-kunitoo-oedo04 1.0.0
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 +7 -0
- data/.rabbit +1 -0
- data/README.md +24 -0
- data/Rakefile +17 -0
- data/config.yaml +19 -0
- data/oedo04.md +217 -0
- data/pdf/oedo04-one-gem-one-year.pdf +0 -0
- data/rgitlog.png +0 -0
- data/rubygems.png +0 -0
- metadata +66 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 487562fe634a9fe85cca3baea8104578422a36f3
|
4
|
+
data.tar.gz: c30fed2314a397d161739315730731323198eb8a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e453d2b6e2be53b879c334fd363efbfe97285d5fae0771a47e5fce800e8c7cb2b025148238146fc832c204197c48e30bdb053453f347596eac069c61152d10b8
|
7
|
+
data.tar.gz: ee32f19dc68336a053d5a067a56f4d54a90c82cf9ae5523be0d3d66c62ce10630abed422973e806f3bc778998d14767231214f3f50f3de828d482b783230e9dd
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
oedo04.md
|
data/README.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# 1年かけて1つのgemを作りました
|
2
|
+
|
3
|
+
2014/04/19 に行われた大江戸Ruby会議04で"1年かけて1つのgemを作りました"というタイトルで発表した資料です。rgitlog の話をしました。
|
4
|
+
|
5
|
+
## For author
|
6
|
+
|
7
|
+
### Show
|
8
|
+
|
9
|
+
rake
|
10
|
+
|
11
|
+
### Publish
|
12
|
+
|
13
|
+
rake publish
|
14
|
+
|
15
|
+
## For viewers
|
16
|
+
|
17
|
+
### Install
|
18
|
+
|
19
|
+
gem install rabbit-slide-kunitoo-oedo04
|
20
|
+
|
21
|
+
### Show
|
22
|
+
|
23
|
+
rabbit rabbit-slide-kunitoo-oedo04.gem
|
24
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# task.spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# task.spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
# task.spec.add_runtime_dependency("YOUR THEME")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/config.yaml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
id: oedo04
|
3
|
+
base_name: one-gem-one-year
|
4
|
+
tags: []
|
5
|
+
presentation_date: 2014/04/19
|
6
|
+
version: 1.0.0
|
7
|
+
licenses: []
|
8
|
+
slideshare_id:
|
9
|
+
speaker_deck_id:
|
10
|
+
ustream_id:
|
11
|
+
vimeo_id:
|
12
|
+
youtube_id:
|
13
|
+
author:
|
14
|
+
markup_language: :markdown
|
15
|
+
name: Kunihiko Ito
|
16
|
+
email: kuni.110.92@gmail.com
|
17
|
+
rubygems_user: kunitoo
|
18
|
+
slideshare_user: kunitoo
|
19
|
+
speaker_deck_user: kunitoo
|
data/oedo04.md
ADDED
@@ -0,0 +1,217 @@
|
|
1
|
+
# 大江戸Ruby会議04
|
2
|
+
|
3
|
+
subtitle
|
4
|
+
: 1年かけて1つのgemを作りました
|
5
|
+
|
6
|
+
author
|
7
|
+
: 伊藤 邦彦
|
8
|
+
|
9
|
+
presentation-date
|
10
|
+
: 2014/04/19
|
11
|
+
|
12
|
+
institution
|
13
|
+
: 永和システムマネジメント
|
14
|
+
|
15
|
+
allotted-time
|
16
|
+
: 20m
|
17
|
+
|
18
|
+
# はじめに
|
19
|
+
|
20
|
+
発表する機会をいただき
|
21
|
+
ありがとうございます
|
22
|
+
|
23
|
+
# 自己紹介
|
24
|
+
|
25
|
+
* Kunihiko Ito
|
26
|
+
* @kunitoo
|
27
|
+
* Asakusa.rb歴: 約1年半
|
28
|
+
* rgitlog を作ってます
|
29
|
+
|
30
|
+
# 今日話すこと
|
31
|
+
|
32
|
+
* Asakusa.rb でやっていること
|
33
|
+
* 作ったgemのこと
|
34
|
+
|
35
|
+
# Asakusa.rb でやっていること
|
36
|
+
|
37
|
+
* 上野会場のドアを開けたり
|
38
|
+
* 他の人の話を聞いたり
|
39
|
+
* 写経したり
|
40
|
+
* gem を作ったり
|
41
|
+
|
42
|
+
# 上野で会場のドアを開けたり
|
43
|
+
|
44
|
+
ドア番をお願いされたのが Meet up に参加するきっかけ
|
45
|
+
|
46
|
+
# 他の人の話を聞いたり
|
47
|
+
|
48
|
+
* 会話の単語が分からない
|
49
|
+
* 調べながら会話を聞く
|
50
|
+
* 少しずつ慣れて話が分かるようになった
|
51
|
+
|
52
|
+
# 写経したり
|
53
|
+
|
54
|
+
* Rails Tutorial
|
55
|
+
* Rails Guides
|
56
|
+
* RubyGems Guides
|
57
|
+
|
58
|
+
# gem を作ったり
|
59
|
+
|
60
|
+
* 自己紹介するときに話せる代表作がほしい
|
61
|
+
* なにを作るか考えるところから始めた
|
62
|
+
|
63
|
+
# 作ったgem
|
64
|
+
|
65
|
+
{:relative_height="100"}
|
66
|
+
|
67
|
+
# rgitlog
|
68
|
+
|
69
|
+
* rails アプリの git log をブラウザで見ることができます
|
70
|
+
|
71
|
+
# Insatall
|
72
|
+
|
73
|
+
以下を変更するだけ
|
74
|
+
|
75
|
+
* Gemfile
|
76
|
+
* config/routes.rb
|
77
|
+
|
78
|
+
# Gemfile
|
79
|
+
|
80
|
+
gem 'rgitlog'
|
81
|
+
|
82
|
+
次に
|
83
|
+
|
84
|
+
% bundle
|
85
|
+
|
86
|
+
# config/routes.rb
|
87
|
+
|
88
|
+
mount Rgitlog::Engine, at: '/rgitlog'
|
89
|
+
|
90
|
+
# Usage
|
91
|
+
|
92
|
+
{:relative_height="100"}
|
93
|
+
|
94
|
+
|
95
|
+
# rgitlogができるまで
|
96
|
+
|
97
|
+
* やりたいこと探し
|
98
|
+
* gitを扱うライブラリ探し
|
99
|
+
|
100
|
+
# rgitlogができるまで
|
101
|
+
|
102
|
+
* *やりたいこと探し*
|
103
|
+
* gitを扱うライブラリ探し
|
104
|
+
|
105
|
+
# やりたいこと
|
106
|
+
|
107
|
+
* 開発中に以前のバージョンの見た目が気になることがあった
|
108
|
+
* 動作確認中はブラウザだけで完結したい
|
109
|
+
* git checkout したくない
|
110
|
+
|
111
|
+
# これからやりたいこと
|
112
|
+
|
113
|
+
* ブランチを選択して checkout したい
|
114
|
+
* diff を見れるようにしたい
|
115
|
+
* 見た目をかっこよくしたい
|
116
|
+
|
117
|
+
# rgitlogができるまで
|
118
|
+
|
119
|
+
* やりたいこと探し
|
120
|
+
* *gitを扱うライブラリ探し*
|
121
|
+
|
122
|
+
# 最初のバージョン
|
123
|
+
|
124
|
+
- mojombo/grit
|
125
|
+
- mojombo/grit はRuby 2.0で動かなかった
|
126
|
+
- gitlabhq/grit フォークを使用
|
127
|
+
|
128
|
+
# grit での git log 取得
|
129
|
+
|
130
|
+
Repo.new('path/to/my/repository').commits
|
131
|
+
|
132
|
+
# watchしていたらある日
|
133
|
+
|
134
|
+
*"Grit is no longer maintained. Check out rugged"*
|
135
|
+
|
136
|
+
Pull Request が 118 close された
|
137
|
+
|
138
|
+
# rugged での git log 取得
|
139
|
+
|
140
|
+
Rugged::Repository.new('path/to/my/repository').head.log
|
141
|
+
|
142
|
+
# rugged での git log 取得
|
143
|
+
|
144
|
+
Rugged::Repository.new('path/to/my/repository').head.log
|
145
|
+
|
146
|
+
*reflog 取得されます*
|
147
|
+
|
148
|
+
# 正解
|
149
|
+
|
150
|
+
repo = Rugged::Repository.new('path/to/my/repository')
|
151
|
+
repo.walk(repo.last_commit)
|
152
|
+
|
153
|
+
気付くのに数ヶ月かかりました orz
|
154
|
+
|
155
|
+
# rgitlog リリースまで
|
156
|
+
|
157
|
+
* 作りたいと思ってから約1年
|
158
|
+
* 実はとっても簡単に作れます
|
159
|
+
|
160
|
+
# rgitlogの作り方
|
161
|
+
|
162
|
+
*今から作ります!*
|
163
|
+
|
164
|
+
時間ありますよね?
|
165
|
+
|
166
|
+
# rails plugin new
|
167
|
+
|
168
|
+
$ rails plugin new rgitlog --mountable -O -B
|
169
|
+
$ cd rgitlog
|
170
|
+
$ bundle --local
|
171
|
+
|
172
|
+
# Add rugged
|
173
|
+
|
174
|
+
rgitlog.gemspec
|
175
|
+
|
176
|
+
s.add_dependency "rugged"
|
177
|
+
|
178
|
+
# generate controller
|
179
|
+
|
180
|
+
$ rails g controller rgitlog index
|
181
|
+
|
182
|
+
# Controller
|
183
|
+
|
184
|
+
require_dependency "rgitlog/application_controller"
|
185
|
+
require 'rugged'
|
186
|
+
|
187
|
+
module Rgitlog
|
188
|
+
class RgitlogController < ApplicationController
|
189
|
+
def index
|
190
|
+
path = Rugged::Repository.discover(Dir.pwd)
|
191
|
+
repo = Rugged::Repository.new(path)
|
192
|
+
@commits = repo.walk(repo.last_commit).to_a
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
# View
|
198
|
+
|
199
|
+
<h1>commits</h1>
|
200
|
+
<ul>
|
201
|
+
<% @commits.each do |commit| %>
|
202
|
+
<li><%= commit.message %></li>
|
203
|
+
<% end %>
|
204
|
+
</ul>
|
205
|
+
|
206
|
+
# Routes
|
207
|
+
|
208
|
+
root to: 'rgitlog#index'
|
209
|
+
|
210
|
+
# 完成
|
211
|
+
|
212
|
+
慣れると10分くらいで作れるようになる
|
213
|
+
|
214
|
+
# まとめ
|
215
|
+
|
216
|
+
Asakusa.rbに通いこつこつと続けていれば、
|
217
|
+
1年かかったことが20分でできるようになります
|
Binary file
|
data/rgitlog.png
ADDED
Binary file
|
data/rubygems.png
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kunitoo-oedo04
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kunihiko Ito
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
description: 2014/04/19 に行われた大江戸Ruby会議04で"1年かけて1つのgemを作りました"というタイトルで発表した資料です。rgitlog
|
28
|
+
の話をしました。
|
29
|
+
email:
|
30
|
+
- kuni.110.92@gmail.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- ".rabbit"
|
36
|
+
- README.md
|
37
|
+
- Rakefile
|
38
|
+
- config.yaml
|
39
|
+
- oedo04.md
|
40
|
+
- pdf/oedo04-one-gem-one-year.pdf
|
41
|
+
- rgitlog.png
|
42
|
+
- rubygems.png
|
43
|
+
homepage: http://slide.rabbit-shocker.org/authors/kunitoo/oedo04/
|
44
|
+
licenses: []
|
45
|
+
metadata: {}
|
46
|
+
post_install_message:
|
47
|
+
rdoc_options: []
|
48
|
+
require_paths:
|
49
|
+
- lib
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
requirements: []
|
61
|
+
rubyforge_project:
|
62
|
+
rubygems_version: 2.4.2
|
63
|
+
signing_key:
|
64
|
+
specification_version: 4
|
65
|
+
summary: 1年かけて1つのgemを作りました
|
66
|
+
test_files: []
|