20. 20Confidential Crowdworks, Inc. All Rights Reserved.
やばい、削除しちゃいけないやつを
削除しちゃった・・・
“何をするとやらかすか・3つの事例”
2017年4月26日/第2回 人形町Techで騒がNight♥
株式会社クラウドワークス エンジニア
安田篤史
22. 22Confidential Crowdworks, Inc. All Rights Reserved.
class Foo
def bar
do_something
end
end
Foo.new.send(“bar”)
Object.send を使うと
grep できなくなるよ!
23. 23Confidential Crowdworks, Inc. All Rights Reserved.
keys = {foo: :bar, buz: :qux }
keys.each do |key, value|
define_method(“#{key}=“) do |arg|
proxy.send(value, arg)
end
end
いろいろ組み合わせると
カオスだよ!
26. 26Confidential Crowdworks, Inc. All Rights Reserved.
class Foo
def bump!; do_something; end
end
class Bar
def bump!; do_something; end
end
class Baz
def abadakedabura(param)
param.bump! # <- こいつ誰だよ
end
end
29. 29Confidential Crowdworks, Inc. All Rights Reserved.
class Foo
def self.piyo; do_something; end
end
05 1 1 * * cd /path/to/rails;
RAILS_ENV=production bundle exec rails run
‘Foo.piyo’