Upload
hiromu-shioya
View
3.110
Download
3
Tags:
Embed Size (px)
DESCRIPTION
2011-07-18 RubyKaigi2011 18M09 Lightning Talks 2 pebbles : A namespace for joke gems pebbles: rubygemsにおけるジョークモジュールの名前空間について
Citation preview
pebbles2011-07-18 Lightning Talks 2kwappa (SHIOYA, Hiromu)
A namespace for joke gems
こんばんは!
Good Evening!
kwappa
SHIOYA, Hiromu塩谷 啓 http://www.kwappa.net/
a programmer
a drunk a fond parent
Presented byBorn in the NET,
Connected by the NET
エンジニア募集!
http://info.dwango.co.jp/recruit/
話したいことWhat I want to say
I propose that we use the namespace "pebbles"
for joke gems
ジョークモジュール用名前空間として
"pebbles"を提案します
ある日One day
「全裸」なrubygemを作った
http://twitter.com/zenra_bot
I created a gem called “zenra”
What is “zenra” ?
What is “zenra” ?require 'zenra'
What is “zenra” ?require 'zenra'message = '私はRubyを書きます。'
I write Ruby.
What is “zenra” ?require 'zenra'message = '私はRubyを書きます。'
puts Zenra.new.zenrize message
I write Ruby.
What is “zenra” ?require 'zenra'message = '私はRubyを書きます。'
puts Zenra.new.zenrize message# => "私はRubyを全裸で書きます。"
I write Ruby.
I write Ruby stark-naked.
How to install
% gem install zenra
How to install
% gem install zenra
How to install
deprecated
Why deprecated?
% gem search -r zen
Why deprecated?
% gem search -r zen (snip)zenprofile (1.3.1)zenra (0.1.0)zenslap (0.3.1)
(snip)
Why deprecated?
% gem search -r zen (snip)zenprofile (1.3.1)zenra (0.1.0)zenslap (0.3.1)
(snip)
Why deprecated?
seriousjokeserious
% gem search -r zen (snip)zenprofile (1.3.1)zenra (0.1.0)zenslap (0.3.1)
(snip)
Why deprecated?
how embarassing...
seriousjokeserious
別のある日Another day
http://blog.segment7.net/2010/11/15/how-to-name-gems
“How to Name Gems”
Use underscores•fancy_require•newrelic_rpm•ruby_parser
Use underscores•fancy_require•newrelic_rpm•ruby_parser
% gem install my_gem
Use underscores•fancy_require•newrelic_rpm•ruby_parser
% gem install my_gem
require 'my_gem'
Use dashes for extensions•net-http-persistent•rdoc-chm•autotest-growl
Use dashes for extensions•net-http-persistent•rdoc-chm•autotest-growl
% gem install net-http-persistent
Use dashes for extensions•net-http-persistent•rdoc-chm•autotest-growl
% gem install net-http-persistent
require 'net/http/persistent'
+ひらめいた
A flash of inspiration
Create a namespace for joke gems
http://mrg.bz/uLdp5w
ジョークモジュール用名前空間を作ろう
http://mrg.bz/uLYYgS
pebblesNot Gems, just Pebbles
for example
for example
fizzbuzz
% gem install pebbles-fizzbuzz
for example
fizzbuzz
require 'pebbles/fizzbuzz'
require 'pebbles/fizzbuzz'
(1 .. 15).each do |num| puts fizzbuzz numend
require 'pebbles/fizzbuzz'
(1 .. 15).each do |num| puts fizzbuzz numend
12fizz4buzzfizz78fizzbuzz11fizz1314fizzbuzz
http://gungelads.com/gunging/?p=1683
fizzbuzz/└── lib/ └── pebbles/ └── fizzbuzz.rb
Directory structure
require 'pebbles'
class Pebbles::Fizzbuzz # snipend
Class definition
move “zenra” to ...
% gem install pebbles-zenra
move “zenra” to ...
% gem install pebbles-zenra
move “zenra” to ...
require 'pebbles/zenra’
% gem install pebbles-zenra
move “zenra” to ...
Less embarrassing!require 'pebbles/zenra’
https://rubygems.org/gems/pebbles-fizzbuzz
まとめConclusion
Use namespace "pebbles" when you make joke gems
ジョークモジュールを作るときは
"pebbles"を使ってね!
おまけBonus
I made a mistake
% gem search -r pebbles
I made a mistake
% gem search -r pebbles
pebbles (0.1.0)pebbles-fizzbuzz (0.1.1)pebbles-zenra (0.1.1)pebbles_audio_files (1.0.5)
I made a mistake
% gem search -r pebbles
pebbles (0.1.0)pebbles-fizzbuzz (0.1.1)pebbles-zenra (0.1.1)pebbles_audio_files (1.0.5)
I made a mistake
!
Apologies toRyan Smith andBobby Wilson.
pebblesNot Gems, just Pebbles
pebbles2011-07-18 RubyKaigi2011kwappa (SHIOYA, Hiromu)
Thank you for listening.
Not Gems, just Pebbles