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
1
440
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
Tweet
Share
More Decks by elitau
See All by elitau
Feature Toggles
elitau
0
360
Testbarkeit (in Ruby)
elitau
0
58
Testing Best Practices
elitau
2
400
Other Decks in Programming
See All in Programming
Ruby Parser progress report 2024
yui_knk
2
190
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
4
8.6k
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
540
dotfiles について話したい #湘なんか
stefafafan
2
290
XStateでReactに秩序を与えたい
gizm000
0
520
Amebaチョイス立ち上げの裏側 ~依存システムとの闘い~
daichi_igarashi
0
220
ESLint Rule により事業, 技術ドメインに沿った制約と誓約を敷衍させるアプローチのすゝめ
shinyaigeek
1
2.9k
マイグレーションコード自作して File-Based Routing に自動移行!! ~250 ページの歴史的経緯を添えて~
cut0
1
250
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
360
BasicBasic認証
sadnessojisan
5
3.1k
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
630
New Order in Cascade Sorting Order
mugi_uno
3
2.6k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
How to name files
jennybc
75
98k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
47
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
88
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
How to Think Like a Performance Engineer
csswizardry
16
930
Speed Design
sergeychernyshev
19
410
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Ruby is Unlike a Banana
tanoku
96
11k
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