[Backport93 - Backport #5702][Open] backport r33935

Issue #5702 has been reported by Yusuke E…


Backport #5702: backport r33935
http://redmine.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

r33886 $B$r(B ruby_1_9_3 $B$K%P%C%/%]!<%H4uK>$G$9!#(B
([ruby-list:48558] $B$N%P%[email protected](B)
$BC/$+%l%S%e!<Mj$_$^$9!#(B

$B0l=V%l%S%e!<$7$h$&$H;W$C$?$1$I!"$3$l$OL5M}!#$"$-$i$a$?!#(B
$B%3%"$J%3%_%C%?$N9_NW$r4|BT$7$^$9(B

$B$H$3$m$G%P%C%/%]!<%H%A%1%C%[email protected]=q$+$:$K%l%S%e!<%o!<$[$$$[$$(B
$B$7$h$&$H$9$k%i%$%U%O%C%/$O$I$3M3Mh$J$s$G$7$g$&!#@5D>KM$O$"$s$^$j(B
$B$&$l$7$/$J$$$J$"!&!&!&(B

$B$"$+$i$5$^$K4X78$J$$$N$$$$A$$$A%3%%C%H$rC5$7$F4X78L5$$$3$H$r(B

$B3NG’$7$J$$$H$$$1$J$$$+$i(B

$B1sF#$G$9!#(B

2011$BG/(B12$B7n(B4$BF|(B3:19 KOSAKI Motohiro
[email protected]:

r33886 $B$r(B ruby_1_9_3 $B$K%P%C%/%]!<%H4uK>$G$9!#(B
([ruby-list:48558] $B$N%P%[email protected](B)
$BC/$+%l%S%e!<Mj$_$^$9!#(B

$B0l=V%l%S%e!<$7$h$&$H;W$C$?$1$I!"$3$l$OL5M}!#$"$-$i$a$?!#(B
$B%3%"$J%3%_%C%?$N9_NW$r4|BT$7$^$9(B

$B$.$c!<!"(Br33935 $B$N4V0c$$$G$9!#(B($B%?%$%H%k$NJ}$,@5$7$$(B)

$B$H$3$m$G%P%C%/%]!<%H%A%1%C%[email protected]=q$+$:$K%l%S%e!<%o!<$[$$$[$$(B
$B$7$h$&$H$9$k%i%$%U%O%C%/$O$I$3M3Mh$J$s$G$7$g$&!#@5D>KM$O$"$s$^$j(B
$B$&$l$7$/$J$$$J$"!&!&!&(B

$B%F%9%H0J30$O(B 1 $B9T%Q%C%A$J$N$G!"(BML $BHV9f$r=q$$$F$*$1$P(B
$B==J,[email protected]$H;W$C$F$7$^$$$^$7$?!#(B

$B$"[email protected]>$J$H$3$m!"%P%C%/%]!<%H$K4X$7$F$O!"$5$l$J$$$J$i(B
$B$5$l$J$$$GJL$K$$$$$d!"$H$$$&5$;}$A$b$"$j$^$9!#%A%1%C%H(B
$B:n$k$N$bLLE]$G$7$g$&$,$J$+$C$?$N$K$,$s$P$C$?$H$$$&46$8(B
$B$J$N$G!":[email protected]$o$J$$$G$H$$$&$+!"2a>j$K4|BT$7$J$$(B
$B$G$[$7$$!#%A%1%C%H:n$k5$;}$A$9$i$J$/$J$C$A$c$&!#(B

Issue #5702 has been updated by Tomoyuki C…

File backport_5702.patch added

近永です。

そんなにコアじゃないですがレビューしました。

  • continue するよりは NameError 発生を else
    節にしたほうが見通しが良いかと思います。好みの問題のような気もしますけど。
  • また NameError 発生時に、1つ以上の constant の flag を修正済みの場合に
    rb_clear_cache_by_class() が呼ばれていないことに気がつきました
    というわけで追加の変更を添付します。

あと kosaki
さんがおっしゃってたのは、差分の具体的な解説ではなくて(それがあったほうが良いのはもちろんでしょうけど)、「これは○○の件についてのbackport」と一言あると、日常的にチェックしてる人ならだいたいどの修正のことか見当がつくので自分が読めるかどうかすぐ判断ができていいということかなーって思います。この件なら「private
constant のアレ」くらいで充分かと。違ってたらごめんなさい。


Backport #5702: backport r33935
http://redmine.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

Issue #5702 has been updated by Tomoyuki C…

すみません、先程わたしが添付したパッチをあてると、なぜか Syck のテストが1つ Failure
になってしまいました。後程調べるのでとりあえずこのパッチは差し戻させてください。

Backport #5702: backport r33935
http://redmine.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. removed_ema[email protected]

Issue #5702 has been updated by Tomoyuki C…

一度 make clean したら発生しなくなりました。
おさわがせしました。

Backport #5702: backport r33935
http://redmine.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

2011$BG/(B12$B7n(B5$BF|(B12:39 Yusuke E. [email protected]:

[email protected]!"%P%C%/%]!<%H%A%1%C%H$r=q$/?M$K2a>j$J4|BT$r$7$J$$$G$H$$$&5$;}$A(B
$B$K$OJQ$o$j$,$"$j$^$;$s!#$"$kDxEY??LLL$K=q$+$J$$$H$$$1$J$$$H$J$k$H!"(B
$BLLE]$G8e2s$7$K$7$F!"$=$N$^$^K:$l$k$3$H$&$1$"$$$G$9!#(B
$B$G$b!"$$$C$Q$$%l%S%e!<$7$F$/$l$F$k(B ($B$7!"[email protected]$b$7$F$/$l$=$&$J(B)
kosaki $B$5$s$,!"!V2rFIITG=$J%P%C%/%]!<%H0MMj$,Mh$k$H!“B>$N%l%S%e!<$b(B
$B$9$k5$$b$J$/$J$k!W$H$$$&$J$i!”$=$l$O$H$F$b$^$:$$$N$G!"$I$&$7$F$b(B
$B%P%C%/%]!<%H$7$F$[[email protected]$1$r??LLL$K%A%1%C%H2=$9$k$h$&$K$7$^$9!#(B

$B%A%1%C%H:n$k$J$i4JC1$KFbMF$r!A$H$$$&$OF10U$9$k$N$G$9$,!"(B
$B!J$H$$$&$+%3%_%C%H%m%0%3%T%Z$G$$$$$O$:$G$O$"$k!K(B
$B$=$b$=$b%P%C%/%]!<%H%A%1%C%H$C$F<u1W<T$,:n$k$Y$-$J$s$8$c$J$$$+$J$!$H$O;W$C$?$j$b!#(B

$B1sF#$G$9!#(B

$B%l%S%e!<$"$j$,$H$&$4$6$$$^$9!#(B

2011$BG/(B12$B7n(B5$BF|(B10:14 Tomoyuki C.
[email protected]:

$B$=$s$J$K%3%"$8$c$J$$$G$9$,%l%S%e!<$7$^$7$?!#(B

  • continue $B$9$k$h$j$O(B NameError $BH/@8$r(B else
    [email protected]$K$7$?$[$&$,8+DL$7$,NI$$$+$H;W$$$^$9!#9%$_$NLdBj$N$h$&$J5$$b$7$^$9$1$I!#(B

$B$=$&$G$9$M!#L50U<1$K%Q%C%A%5%$%:$r>.$5$/$9$kJ}$rA*$s$G$^$7$?!#(B

  • $B$^$?(B NameError $BH/@8;~$K!"(B1$B$D0J>e$N(B constant $B$N(B flag
    [email protected]:Q$_$N>l9g$K(B rb_clear_cache_by_class()
    $B$,8F$P$l$F$$$J$$$3$H$K5$$,$D$-$^$7$?(B

$B$*$*3N$+$K!#$3$l$O$^$:$$!#$"$j$,$H$&$4$6$$$^$9!#(B
$B$I$&D>$9$+$O!"$$A$$A9M$($^$7$g$&!#(B

$B$"$H(B kosaki
$B$5$s$,$$C$7$c$C$F$?$N$O!":9J,$N6qBNE[email protected]$G$O$J$/$F(B($B$=$l$,$"$C$?$[$&$,NI$$$N$O$b$A$m$s$G$7$g$&$1$I(B)$B!"!V$3$l$O!{!{$N7o$K$D$$$F$N([email protected]$"$k$H!“F|>oE*$K%A%’%C%/[email protected][email protected]$N$3$H$+8+Ev$,$D$/$N$G<+J,$,FI$a$k$+$I$&$+$9$0H=CG$,$G$-$F$$$$$H$$$&$3$H$+$J!<$C$F;W$$$^$9!#$3$N7o$J$i!V(Bprivate
constant $B$N%”%l!W$/$i$$$G=<J,$+$H!#0c$C$F$?$i$4$a$s$J$5$$!#(B

$B$^$:!"(B[ruby-dev:44927]
$B$N%a!<%k$,;I!9$7$/$J$C$F$7$^$C$?$3$H$O$9$_(B
$B$^$;$s$G$7$?!#30=PD>A0$G?dZJ$;$:$K=P$7$?$;$$$G$9$,!"[email protected]$$Lu$K$b$J$j(B
$B$^$;$s!#(B

$B85$N%a!<%k$,$=$C$1$J$+$C$?$N$O!"%P%C%/%]!<%H%A%1%C%H$N%9%?%V$,$o$j(B
$B$K$7$?$N$,(B #5682 [email protected]$C$?$+$i$G$9!#(B(r33886 $B$H(B typo
$B$7$?$N$bF1$8M}M3(B)
#5682 $B$,$=$C$1$J$/$F$b$$$$$N$O(B Yugui $B$5$s$NHwK:[email protected]$+$i$+$J!#(B
1.9.3 $B$N%a%s%F%J$G$b$J$s$G$b$J$$1sF#$,=P$9%P%C%/%]!<%H%A%1%C%H$H$7(B
$B$F5$8/$$$,[email protected]$o$l$l$P!"$=$NDL$j$G$9!"$9$_$^$;$s!#(B

[email protected]!"%P%C%/%]!<%H%A%1%C%H$r=q$/?M$K2a>j$J4|BT$r$7$J$$$G$H$$$&5$;}$A(B
$B$K$OJQ$o$j$,$"$j$^$;$s!#$"$kDxEY??LLL$K=q$+$J$$$H$$$1$J$$$H$J$k$H!"(B
$BLLE]$G8e2s$7$K$7$F!"$=$N$^$^K:$l$k$3$H$&$1$"$$$G$9!#(B
$B$G$b!"$$$C$Q$$%l%S%e!<$7$F$/$l$F$k(B ($B$7!"[email protected]$b$7$F$/$l$=$&$J(B)
kosaki $B$5$s$,!"!V2rFIITG=$J%P%C%/%]!<%H0MMj$,Mh$k$H!“B>$N%l%S%e!<$b(B
$B$9$k5$$b$J$/$J$k!W$H$$$&$J$i!”$=$l$O$H$F$b$^$:$$$N$G!"$I$&$7$F$b(B
$B%P%C%/%]!<%H$7$F$[[email protected]$1$r??LLL$K%A%1%C%H2=$9$k$h$&$K$7$^$9!#(B

[email protected]$$Lu$K$7$+J9$3$($^$;$s$,;d$,K>$s$G$$$k$N$O!V!A$N7o!W$H#19T=q$$$F$[$7$$(B
[email protected]$1$G>:[email protected]@[email protected]$H;W$$$^$9!#$I$&$;$_$s$J(Bcommit log
[email protected]$7!#(B

ChangeLog$B$r%+%C%H!u%Z!<%9%H$H$+$G$b==J,!#$5$9$,$K%j%S%8%g%sHV9f$O0E5-$G$-$J$$(B

$B$+$i$D$i$$$J!<$H$+$=$&$$$&MWK>$G$7$?!#(B

$B=q$$$?8e$K5$$E$$$?$1$I!"$3$N%a!<%kFbMF$,$J$k$;$5$s$N%a!<%k$H$^$k$^[email protected]!#(B
$B$9$$$^$;$s!"GK4~$7$F$/[email protected]$5$$!#L5BL$K%H%i%U%#%C%/A}$d$7$F$9$$$^$;$s(B

On 2011$BG/(B12$B7n(B05$BF|(B 14:25, NARUSE, Yui wrote:

$B!J$H$$$&$+%3%_%C%H%m%0%3%T%Z$G$$$$$O$:$G$O$"$k!K(B

$B$=$b$=$b%P%C%/%]!<%H%A%1%C%H$C$F<u1W<T$,:n$k$Y$-$J$s$8$c$J$$$+$J$!$H$O;W$C$?$j$b!#(B

$B<u1W<T$H$$$&$+(Bfirst
reporter$B$OEvA3%j%j!<%9:Q$_$N(B1.9.3$B$KBP$7$F%l%]!<%H(B
$B$7$F$/$k$o$1$G!"$=$l$r$3$A$i$NET9g$G([email protected]$7$F$*$$$F$+$i$b$&0l2s(B
$B%A%1%C%[email protected]$jD>$;[email protected]$$=P$9$N$O$5$9$,$K0c$&$s$8$c$J$$$G$9$+!#(B

$B$F5$8/$$$,[email protected]$o$l$l$P!"$=$NDL$j$G$9!"$9$_$^$;$s!#(B
[email protected]$,B-$j$J$/$F$9$$$^$;$s$G$7$?!#1sF#[email protected]$a$k0U?^$O$J$/$F!"(B
$B1sF#$5$s$bG’<1$5$l$F$$$k$h$&$KF1%9%?%$%k$N%P%C%/%]!<%H%j%/%(%9%H$,$+$J$j(B
$B9-HO0O$K;H$o$l$F$$$k$N$G!"$J$K$+M3Mh$,$"[email protected]$m$&$+$H$$$&C1=c$J(B
$B5?Ld$G$7$?!#(B

1.9.3$B$N%j%j!<%9D>A0$0$i$$$O%A%1%C%HA4It8+$k3P8g$r7h$a$F$$$?$N$G!"@5D>(B
$BJ8LL$O$$$C$5$$4X78$J$+$C$?$N$G$9$,!"$=$m$=$m$7$s$I$$(B

[email protected]$$Lu$K$7$+J9$3$($^$;$s$,;d$,K>$s$G$$$k$N$O!V!A$N7o!W$H#19T=q$$$F$[$7$$(B
[email protected]$1$G>:[email protected]@[email protected]$H;W$$$^$9!#$I$&$;$_$s$J(Bcommit log
[email protected]$7!#(B
ChangeLog$B$r%+%C%H!u%Z!<%9%H$H$+$G$b==J,!#$5$9$,$K%j%S%8%g%sHV9f$O0E5-$G$-$J$$(B
$B$+$i$D$i$$$J!<$H$+$=$&$$$&MWK>$G$7$?!#(B

[email protected]!"%P%C%/%]!<%H%A%1%C%H$r=q$/?M$K2a>j$J4|BT$r$7$J$$$G$H$$$&5$;}$A(B
$B$K$OJQ$o$j$,$"$j$^$;$s!#$"$kDxEY??LLL$K=q$+$J$$$H$$$1$J$$$H$J$k$H!"(B
$BLLE]$G8e2s$7$K$7$F!"$=$N$^$^K:$l$k$3$H$&$1$"$$$G$9!#(B
$B$G$b!"$$$C$Q$$%l%S%e!<$7$F$/$l$F$k(B ($B$7!"[email protected]$b$7$F$/$l$=$&$J(B)
kosaki $B$5$s$,!"!V2rFIITG=$J%P%C%/%]!<%H0MMj$,Mh$k$H!“B>$N%l%S%e!<$b(B
$B$9$k5$$b$J$/$J$k!W$H$$$&$J$i!”$=$l$O$H$F$b$^$:$$$N$G!"$I$&$7$F$b(B
$B%P%C%/%]!<%H$7$F$[[email protected]$1$r??LLL$K%A%1%C%H2=$9$k$h$&$K$7$^$9!#(B

$B$J$k$;$5$s$b=q$$$F$k$h$&$K!"%P%C%/%]!<%H%j%/%(%9%H=q$/?M$,<u1W<T$8$c$J$$$N$,(B
$B:,K\E*$K$h$m$7$/$J$$$s$8$c$J$$$G$9$+$M!#KM$G$b5AL346$G%A%1%C%H=q$$$F$k;~$O(B
[email protected]@$,$*$C$/$&$K$J$j$,$A$J$N$G!"$H$F$b$h$/$o$+$j$^$9!#(B

ChangeLog$B$N%+%C%H!u%Z!<%9%H$9$i$a$s$I$$%l%Y%[email protected]$H!"$b$&%P%C%/%]!<%H$7$J$/$F$b(B
$B$$$$$s$8$c$J$$$G$7$g$&$+!#$H$$$&[email protected][email protected]$a!)(B
$BK\Ev$KI,MW$J$iC/$+$,%j%/%(%9%H$7$F$/$k$G$7$g$&(B

$B%A%1%C%H:n$k$J$i4JC1$KFbMF$r!A$H$$$&$OF10U$9$k$N$G$9$,!"(B
$B!J$H$$$&$+%3%_%C%H%m%0%3%T%Z$G$$$$$O$:$G$O$"$k!K(B

$B$=$b$=$b%P%C%/%]!<%H%A%1%C%H$C$F<u1W<T$,:n$k$Y$-$J$s$8$c$J$$$+$J$!$H$O;W$C$?$j$b!#(B

$B<u1W<T$H$$$&$+(Bfirst
reporter$B$OEvA3%j%j!<%9:Q$_$N(B1.9.3$B$KBP$7$F%l%]!<%H(B
$B$7$F$/$k$o$1$G!"$=$l$r$3$A$i$NET9g$G([email protected]$7$F$*$$$F$+$i$b$&0l2s(B
$B%A%1%C%[email protected]$jD>$;[email protected]$$=P$9$N$O$5$9$,$K0c$&$s$8$c$J$$$G$9$+!#(B

$B:#2s$N7o$K8B$C$F$$$&$H!"$A$g$C$H$3$N%3%a%s%H$O$O$:$7$F$$$k$h$&$J!#(B
first reporter$B$,%A%1%C%[email protected]$C$F$$$k>l9g$O!"$=$N%A%1%C%H$,$=$N$^$^(B
$B%P%C%/%]!<%H%A%1%C%H$KN.MQ$5$l$k$N$G$I$NOC$+$o$+$i$J$$LdBj$OH/@8$7$F$J$/$F!"(B
$B$3$l$,5/$-$k$N$O85%A%1%C%H$,$J$$$H$-!"$D$^$j(B

$B#1!K(Bfirst reporter$B$,%A%1%C%[email protected]$i$J$+$C$?(B
$B#2!K3+H/<T$,<+J,$G%P%0$r8+$D$1$F!"$$$-$J$j%3%_%C%H$7$?(B

$B$N#2Br$J$N$G$9!#:#2s$N1sF#$5$s$N%1!<%9$O!J#1!K$G$9$M!#(BML$B$G<ALd$,(B
$B$-$F!"%A%1%C%H:[email protected]$r$9$CHt$P$7$F$$$-$J$j%3%_%C%H!#(B

On 2011$BG/(B12$B7n(B05$BF|(B 16:17, KOSAKI Motohiro wrote:

$B:#2s$N7o$K8B$C$F$$$&$H!"$A$g$C$H$3$N%3%a%s%H$O$O$:$7$F$$$k$h$&$J!#(B

$B$=$&$+$b$7$l$^$;$s!#$4$a$s$J$5$$!#;d$,$$$$$?$+$C$?;v$O$^$?JL$N5!2q$K$7$^$9!#(B

$B1sF#$G$9!#(B

$BK\Bj$NJ}!";~4V$,$"$$$F$7$^$C$F$9$_$^$;$s!#(B

2011$BG/(B12$B7n(B5$BF|(B10:14 Tomoyuki C.
[email protected]:

$B$=$s$J$K%3%"$8$c$J$$$G$9$,%l%S%e!<$7$^$7$?!#(B

  • continue $B$9$k$h$j$O(B NameError $BH/@8$r(B else
    [email protected]$K$7$?$[$&$,8+DL$7$,NI$$$+$H;W$$$^$9!#9%$_$NLdBj$N$h$&$J5$$b$7$^$9$1$I!#(B
  • $B$^$?(B NameError $BH/@8;~$K!"(B1$B$D0J>e$N(B constant $B$N(B flag
    [email protected]:Q$_$N>l9g$K(B rb_clear_cache_by_class()
    $B$,8F$P$l$F$$$J$$$3$H$K5$$,$D$-$^$7$?(B
    $B$H$$$&$o$1$GDI2C$NJQ99$rE:IU$7$^$9!#(B

$B:#99$G$9$,%Q%C%A8+$^$7$?!#$$$$$H;W$$$^$9!#(B
make check $B$bLdBj$"$j$^$;$s$G$7$?!#(B
$B%3%_%C%H$r$*4j$$$7$F$b$$$$$G$7$g$&$+!#(B

Issue #5702 has been updated by Tomoyuki C…

ありがとうございます。
テストを追加して r33987 でコミットしました。

Backport #5702: backport r33935
http://redmine.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

Issue #5702 has been updated by Yui NARUSE.

Status changed from Open to Closed

r34538 で backport しました。

Backport #5702: backport r33935, r33987 (fix private constant)
https://bugs.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Closed
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

Issue #5702 has been updated by Yui NARUSE.

Status changed from Closed to Open
Assignee deleted (Yusuke E.)

r34538 でテストに失敗するようになったので revert しました

Backport #5702: backport r33935, r33987 (fix private constant)
https://bugs.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee:
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

Issue #5702 has been updated by Motohiro KOSAKI.

Subject changed from backport r33935 to backport r33935, r33987 (fix
private constant)


Backport #5702: backport r33935, r33987 (fix private constant)
https://bugs.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee: Yusuke E.
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

Issue #5702 has been updated by Tomoyuki C…

File bug5702.patch added

rb_to_id() の引数が trunk で変更されていたので SEGV していました。修正したバックポート用パッチを添付します。

Backport #5702: backport r33935, r33987 (fix private constant)
https://bugs.ruby-lang.org/issues/5702

Author: Yusuke E.
Status: Open
Priority: Normal
Assignee:
Category:
Target version:

r33886 を ruby_1_9_3 にバックポート希望です。
([ruby-list:48558] のバグ修正)
誰かレビュー頼みます。


Yusuke E. [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs