Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Problems on migrating from Ruby 1.8 to 1.9
Search
elitau
May 16, 2012
Programming
530
1
Share
Problems on migrating from Ruby 1.8 to 1.9
Problems encountered on migration simfy codebase from ruby 1.8 to 1.9
Talk for @colognerb
elitau
May 16, 2012
More Decks by elitau
See All by elitau
Feature Toggles
elitau
0
490
Testbarkeit (in Ruby)
elitau
0
71
Testing Best Practices
elitau
2
490
Other Decks in Programming
See All in Programming
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
180
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
180
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
10
1.2k
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
260
AIエージェントの隔離技術の徹底比較
kawayu
0
430
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
360
[BalkanRuby 2026] Drop your app/services!
palkan
3
670
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
1
710
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
210
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
140
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
480
Inside Stream API
skrb
1
130
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
280
Odyssey Design
rkendrick25
PRO
2
630
The Pragmatic Product Professional
lauravandoore
37
7.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
エンジニアに許された特別な時間の終わり
watany
107
240k
Side Projects
sachag
455
43k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Building Flexible Design Systems
yeseniaperezcruz
330
40k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Transcript
PROBLEMS ON MIGRATING FROM RUBY 1.8 TO 1.9 SEIT 2012
@hurx github.com/elitau
ENCODING • Each and every String needs an Encoding •
# encoding: UTF-8 • http://stackoverflow.com/questions/3291017/how-can-i-avoid- putting-the-magic-encoding-comment-on-top-of-every-utf-8- file-in • https://github.com/m-ryan/magic_encoding • http://blog.grayproductions.net/articles/ ruby_19s_three_default_encodings
LOAD PATHS • Ruby 1.9 removed “.” from load paths
• It was deemed a "security" risk • File.expand_path(__FILE__) • require_relative • require './filename' • http://stackoverflow.com/questions/2900370/why-does- ruby-1-9-2-remove-from-load-path-and-whats-the-alternative
MD5 • md5 module is gone • instead of MD5
it is now Digest::MD5
DEBUGGER • https://github.com/cldwalker/debugger • works with 1.9.2 and 1.9.3
YAML PARSING • Psych (the new ruby YAML parser) is
stricter with syntax • Fix your YAMLs • Dirty fix: in config/boot.rb require 'yaml' YAML::ENGINE.yamler = 'syck' • http://stackoverflow.com/questions/4980877/rails-error- couldnt-parse-yaml
PARSEDATE • Ruby 1.8 has a Parsedate module, gone in
1.9 • use Date.parse instead • http://stackoverflow.com/questions/4724417/ruby-where-has- parsedate-gone-in-1-9
CASE SYNTAX • Colons do not work in 1.9 anymore
• when ‘foo’ : ‘bar’ • when :foo then :bar
ARRAY.TO_S • ree-1.8.7-2011.03> [1,2,3].to_s => "123" • 1.9.3p125> [1,2,3].to_s =>
"[1, 2, 3]" • Do not use implicit conversions • Better: [1,2,3].join(‘’)
MORE RESOURCES • http://www.rubyinside.com/19walkthrough/ 19$, 3 hours, Screencast • http://www.google.com/search?q=ruby+1.8+1.9+difference