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