rabbit-slide-kunitoo-oedo04 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ ![](rubygems.png){: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
+ ![](rgitlog.png){: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: []