SlideShare a Scribd company logo
Tupper
 ware
Tupper, Rubygems, and Social Coding
                          2012-07-26 dwango mobile
                         @kwappa / SHIOYA, Hiromu
塩谷Hiromu
           SHIOYA,
                   啓

kwappa   http://www.kwappa.net/
提供
Born in the net, Connected by the net.
http://networkingstar.com/news/tupperware-named-one-of-most-admired-companies-in-the-world/
Tupper
Tupper is a helper for
 processing uploaded
  file via web form.
https://rubygems.org/gems/tupper
https://github.com/kwappa/tupper
usage

 RTFM
view
<form method="POST" action="/upload"
      enctype="multipart/form-data">
  <input type="file" name="dummy_file">
  <input type="submit" value="upload">
</form>
controller
post '/upload' do
  tupper = Tupper.new session
  tupper.upload params[:dummy_file]
  redirect '/', 302
end
controller
get '/show_size' do
  tupper = Tupper.new session
  unless tupper.has_uploaded_file?
     redirect '/', 302
  end
  "uploaded file is [#{tupper.uploaded_file}]
    (size:#{File.size(tupper.uploaded_file)})"
end
https://rubygems.org/gems/tupper
https://github.com/kwappa/tupper
Rubygems
    An easy way
to publish your code
  to rubygems.org
bundle gem
% bundle gem tupper
      create tupper/Gemfile
      create tupper/Rakefile
      create tupper/LICENSE
      create tupper/README.md
      create tupper/.gitignore
      create tupper/tupper.gemspec
      create tupper/lib/tupper.rb
      create tupper/lib/tupper/version.rb
Initializating git repo in /path/to/current_dir/tupper
rake build
% rake build
tupper 1.0.3 built to pkg/tupper-1.0.3.gem
rake install
% rake install
tupper 1.0.3 built to pkg/tupper-1.0.3.gem
tupper (1.0.3) installed
rake release
% rake   release
tupper   1.0.3 built to pkg/tupper-1.0.3.gem
Tagged   v1.0.3
Pushed   git commits and tags
Pushed   tupper 1.0.3 to rubygems.org
http://randd.kwappa.net/2012/07/09/450
Opensource
    Social coding
makes your code more
 clean and readable
https://rubygems.org/gems/tupper
https://github.com/kwappa/tupper
Conclusion
 Create libraries.
 Bundler is nice.
Publish your code.
            Thank you for listening.
Links
tupper ¦ RubyGems.org ¦ your community gem host
  https://rubygems.org/gems/tupper
kwappa/tupper
  https://github.com/kwappa/tupper
bundlerを使ってrubygem「Tupper」を作る ¦ Kwappa研究開発室
  http://randd.kwappa.net/2012/07/09/450
僕が社内ライブラリを OSS 化すべきだと思う3つの理由 - 宇宙線
  http://rosylilly.hatenablog.com/entry/2012/06/20/002022
Rubyのライブラリをrubygemsとして公開するには? - QA@IT
  http://qa.atmarkit.co.jp/q/54

More Related Content

KEY
earthquake.gem
PDF
Let's break apache spark workshop
KEY
gunicorn introduction
PDF
Puppet and Openshift
PPTX
CouchDB Day NYC 2017: Mango
PPTX
CouchDB Day NYC 2017: JSON Documents
PDF
Prototyping in the cloud
PDF
Analysing Github events with Neo4j
earthquake.gem
Let's break apache spark workshop
gunicorn introduction
Puppet and Openshift
CouchDB Day NYC 2017: Mango
CouchDB Day NYC 2017: JSON Documents
Prototyping in the cloud
Analysing Github events with Neo4j

What's hot (20)

PDF
Rubyistが歩むべき道への道
PPTX
CouchDB Day NYC 2017: Replication
PPTX
CouchDB Day NYC 2017: MapReduce Views
PDF
Capistrano Rails
PDF
Puppet Data Mining
PPTX
CouchDB Day NYC 2017: Introduction to CouchDB 2.0
PDF
Modern Perl Toolchain
PDF
Quick and Dirty Python Deployments with Heroku
PDF
Using docker for data science - part 2
PDF
Using python and docker for data science
PDF
Puppet without Root - PuppetConf 2013
PDF
PPTX
2012 coscup - Build your PHP application on Heroku
KEY
Clojure + MongoDB on Heroku
PDF
Puppet camp Portland 2015: -windows (1)
DOCX
Git setuplinux
PPT
AsyncIO To Speed Up Your Crawler
PPTX
CouchDB Day NYC 2017: Full Text Search
PDF
Getting Started with Puppet on Windows - PuppetConf 2014
PDF
GoLang & GoatCore
Rubyistが歩むべき道への道
CouchDB Day NYC 2017: Replication
CouchDB Day NYC 2017: MapReduce Views
Capistrano Rails
Puppet Data Mining
CouchDB Day NYC 2017: Introduction to CouchDB 2.0
Modern Perl Toolchain
Quick and Dirty Python Deployments with Heroku
Using docker for data science - part 2
Using python and docker for data science
Puppet without Root - PuppetConf 2013
2012 coscup - Build your PHP application on Heroku
Clojure + MongoDB on Heroku
Puppet camp Portland 2015: -windows (1)
Git setuplinux
AsyncIO To Speed Up Your Crawler
CouchDB Day NYC 2017: Full Text Search
Getting Started with Puppet on Windows - PuppetConf 2014
GoLang & GoatCore
Ad

More from Hiromu Shioya (20)

PDF
不惑の生存戦略
PDF
勉強会なう
PDF
LTの技術
PDF
珍獣 素人 そして くのいち
PDF
自宅で本気を出さされた
PDF
クマとデバッグを
PDF
クマとジャーニーマンとステマ
PDF
お前の本気を見せてみろ!
PDF
Git道場を開催してきた
PDF
三周まわったおれたちのアジャイル
PDF
俺たちの目指すモバイルの新たな地平
PDF
2011年の漢字
PDF
ベジェ曲線を書いてみた
PDF
オススメの技術書
PDF
はじめて学ぶバージョン管理とGit
PDF
肉とRubyとわたし
PDF
KEY
魅せる! How to fascinate audiences by your Lightning Talk
PDF
LT戦略 きっと何者にもなれない俺のための5分
不惑の生存戦略
勉強会なう
LTの技術
珍獣 素人 そして くのいち
自宅で本気を出さされた
クマとデバッグを
クマとジャーニーマンとステマ
お前の本気を見せてみろ!
Git道場を開催してきた
三周まわったおれたちのアジャイル
俺たちの目指すモバイルの新たな地平
2011年の漢字
ベジェ曲線を書いてみた
オススメの技術書
はじめて学ぶバージョン管理とGit
肉とRubyとわたし
魅せる! How to fascinate audiences by your Lightning Talk
LT戦略 きっと何者にもなれない俺のための5分
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
A Presentation on Artificial Intelligence
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
A Presentation on Artificial Intelligence
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
MYSQL Presentation for SQL database connectivity
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx

Tupperware