ืฆืื ืืจืืช ืืกืคืงื โโืืจืืื ืืื ืฉื Ruby ืืชืืืืกืื ืืืชืจ ืืืืชืจ ืื ืืชืื ืกืืื ืืื ืื ืื ืื ืฉืืืจืช ืกืฃ ืืื ืืื ืืืช ืืืืืช ืคืกืืื. ืืกืืืืืช ืืื ืชืคืืงืช CI ืืืืืื ืืฉืืจืืช ืืช ืืืกืคืงื โโืืขืกืงืืช, ืื ืื ืชื ื ืืกืฃ ืืืืื ืก ืืฆืื ืืจ ืืฆืื ืืฉืืืื, ืืฆืื ืืฉื ืืฆืืืื ืชืคืขืืื. ืืืื ืืืืฆืืข ืืืื ืื ืฉื Ruby ืืขืฆืื ืืชื ืื, ืฉืื ืืืื ืกืืืืื ืืืืืื ืืืกืืง ืืชื ืืืืช ืขื ืคื ื ืืื-ืชืื ืืช, ืืืืื ืืืืกืก ืืืกืืืืช ืืชืฆืืจืช ืืื ืจืืฆื ืฉืืขืืื ืื ืชืืื ื ื ืืืืืืืช ืืืื ืงืืืคืืืฆืื.
ืืืชืืจ ืืืจืืืืงืืื ื ืืืจืืื ืืื ื ืืืืง ืืืืื ืืฉืืขืฆืื, ืืื ืืืฉืืจ ืกืืืื ืื ืืื ืฉืืื ืืฆืื ืืจ. ืืืง ืืืื ืชืืื ืืืชืืืื ืืืฉืื ืืืืจ ืืืืจืืื ืืกืื ืฉืืืื ืืืกืื ืืืืื ืืืืืืื, ืืขืื ืฉืืืจืื ืืืจืฉืื ืืืืื ืืงืฉืจื ืขืืืง ืืืชืจ ืฉืืืคื ืืืชื ืืื ืืชืืืืื ื-gating ืืชืืืจืืช ืืืืื. ืืืฉืจ ืืืื ืืื ืืืืฉืืื ืืฆืืจื ืฉืืืื, ืืจืืื ืื ืืืืื ืื ืฆืื ืืจืืช ืฉืืืจืื ืฉืืคืชืืื ืืืืืื ืืขืงืืฃ, ืื ืฉืขืจืื ืืชืืจืื ืืืืคืฉืจืื ืืคืืืื ืืขืื ืืฉืคืขื ืืืืื ืืืชืคืฉื ืืขื ืคื ืฉืืจืืจ, ืื ืฉืืืืื ืืช ืขืืืช ืืชืืงืื ืืืืจื ืืืจื.
ืกืืืื ื ืืชืื ืงืืจืืฆืื
Smart TS XL ืืฉืืฉ ืืคืืืคืืจืืช ืชืืื ืืช ืฉืืืคืืช ื ืชืื ื ื ืืชืื ืกืืื ืฉื Ruby ืืืื ื ืืจืืืืงืืื ืืช ืืขืฉืืช.
ืืื ืขืืฉืืืืงื ื ืืืื ืืืื, ืืฉืืื ืืฉืืืจืช ืกืฃ ืฉื CI ื ืืจืืื ืืขืืชืื ืจืืืงืืช ืขืงื ืืืืื ืืกืจืื; ืื ื ืืืขืื ืืืคืืคื ืื ืื ืืืืช ืฉื ืืืชืืช ืืกืืืคื ืฉื ืืืืื. ืืืฆืื Lint, ืืคืจืืช ืกืื ืืืชืจืืืช ืืืืื ืืชืืจืื ืืขืชืื ืงืจืืืืช ืขื ืชืฉืืืช ืื ืืื ืืืื ืกืืจ ืขืืืคืืืืช ืืฉืืชืฃ, ืื ืฉืืืืื ืืืืืคื ืื ืขืงืืืช ืืื ืฆืืืชืื ืืืืืจืื. ืขื ืืืื, ืื ืืืฆืจ ืจืืืื ืกืืืื ืื ื ืกืชืจ ืืืืืืืื ืืขืื ืฉืื ืืืื ืืืืืื, ืืืืืื ืืืื ืืืืืื ืฉืขืืืจืื ืฉืืคืืฅ ืืฆืืืจ ืื ืืืืืฅ ืฉืืจืืชืื, ืืคืืก ืืงืฉืืจ ืงืฉืจ ืืืืง ื... ืกืืืื ื ืืืืจื ืืืฆืื ืฉื ืืืฉืืืื.
ืืงืจืช ืกืืืื ืื ืชืืืื ืื ืืืืคื ืฉืื ืืืฆืื ื ืืชืื ืกืืื ืืชืืืืื ืืืฆืืืืช ืืืืฆืืข. ืืืฉืืื Ruby ื ืืฉืืื ืืขืชืื ืงืจืืืืช ืืืืฆืืจ ืขืงื ื ืชืืื ืืงืจื ืืืชื ืฆืคืืืื, ืชืืืืืช ืืจืืืืืช ืื ืืชื ืืืืช ืืื ืขืช-ืืกืืจืช ืฉืืืื ืกืืืืื ืืืืื ืจืง ืืืืคื ืืืงื. ืืื ืฉืืืื ืืืืฉืืข ืืืจืืืืช ืขืืืื ืฉื CI ืืฉืืจืืจ, ื ืืชืื ืกืืื ืืืคื ืืืืืจ ืชืืืืืช ืืื ืืืงืจื ืืื ืขืช, ืื ืฉืืืืืฉ ืืช ืชืคืงืืื ืื ืืืื ืกืืืื ื ืืกืคืงื โโโโืืืื ืื ืืืจืืืื ืืืชืคืชืืื ืฉื Ruby, ืืคื ืฉืืฉืชืงืฃ ืืืืื ืื ืืชืืฉืืื ืกืืื... ืคืืืคืืจืืืช ืืื ื ืชืืื ืชืืช.
Smart TS XL ืืฉืืืช ืฉืืืจืช ืกืฃ ืืงืืจืืฆืื ืฉื ืกืืืื ืื ื-CI ืขืืืจ ื ืืชืื ืกืืื ืฉื Ruby
ื ืืชืื ืกืืื ืืฆืื ืืจืืช CI ืืืืกืกื Ruby ื ืืฉื ืืขืืชืื ืจืืืงืืช ืขืงื ืืืื ืืกืจืื; ืืื ื ืืฉื ืืฉืื ืฉืืืชืืชืื ื ืฉืืจืื ืืงืืืขืื ืขื ืคื ื ืืขืจืืืช ืชืงืฉืืจืช (linters), ืกืืจืงื ืืืืื ืืืืืงื ืกืืืื. ืื ืืื ืืขืจืื ืกืืืื ืื ืืืืื ืืืืฆืืข ืืฆืจ ืฉืื, ืืืืืฆืจ ืืืฆืืื ืืขืื ืชืงืคืืช ืืงืืืืช ืื ืืืงืืื ืืืืคื ืืืืืื. ืืกืืืืืช ืืกืคืงื โโืืจืืื ืืืช, ืคืืฆืื ืื ืคืืืข ืืืืืืืช ืฉืืืจืช ืกืฃ, ืืฉืื ืฉืชืืฆืืืช ืืฆืื ืืจืืช ืชืืืืืช ืืืืฉืืจ ืืื ืชืคืืกืืช ืกืืชืจืืช ืฉื ืืืืจื, ืืืงืฃ ืืืฉืคืขื ืชืืช ืืืฅ ืืื.
Smart TS XL ืขืื ื ืขื ืคืขืจ ืื ืขื ืืื ืคืขืืื ืืขื ืื ืชืื Ruby ืืืืืื, ืชืื ืืชืืงืืืช ืื ืจืืืช ืืชื ืืืืชืืช, ืืื ื ืชืืืช ืืจืืืื ืืืืช ืืืฆืืข ืืืงืื ืืืืืคืช ืืืืื. ืขืืืจ ืืืืืื ืคืืืคืืจืื ืืืืจืืืื ืืืืจื ืืืฆืื, ืืขืจื ืืคืื ืงืฆืืื ืื ืฉืื ืืืื ืืืืจืช ืืืฆืืื ืกืืืืื ืืืงืฉืจ ืืืจืืืื ืฉื ืืชื ืืืฉืชืืฉ ืื ืืื ืืงืื ืืืืืืช ืืื ืชืืืช ืื ืืืข ื-CI gating, ืฉืืจืืจ ืืชืืงืื. ืืืงืื ืืฉืืื ืืื ืขืืืจื ืกืคืฆืืคืืช ืฉื RuboCop ืื ืืืืจืช Brakeman ืฆืจืืืืช ืืืกืื ืืืืื, ืืคืืืคืืจืื ืืืคืฉืจืช ืืฆืืืชืื ืืืขืจืื ืืืฆื ืฉืื ืื ืืชืคืฉื ืืืขืจืืช, ืืืื ืจืืืืื ืืืืืจืื ืืช ืืกืืืื, ืืืืื ืืืืื ืื ืกืืืคื ืืืฆืจืื ืืฉืืคื ืืขืจืืชืืช.
ืืืงืื ืื ืืืืฉืจ ืืช Smart TS XL ืคืืืช ืขื ืืื ืคืืชืื ืืืืชืจ ืขื ืืงืจืช ืกืืืื ื ืืกืคืงื, ืืืืืื ืืกืืืืืช ืืื ืืืฉืืื Ruby ืืชืงืืืืื ืืืงืืื ืืฉืคืืช ืืืจืืช, ืฉืืจืืชืื ืืฉืืชืคืื ืืจืืืืื ืืืืจ ืงืืื ืืจืืื ืืืื. ืืจืืืื ืืืืช ืฉืื ืืืืจืช ืืื ืฉืฆื ืจืช CI ืขืืืจืช ืืืืืงืืช ืคืฉืืืืช ืฉื ืืขืืจ ืื ืืืฉืืื ืืฉืขืจืื ืืืืื ืื ืืืืืกืกืื ืขื ืืฉืคืขื, ืืขืืืช ืืงืจืืืืืช ืืืฆืืข.
ื ืจืืืช ืชืืืช ืืื-ืืืืื ืืขืืจ ืื ืชืื Ruby ืืืืืืื
ืืื ื ืืชืื ืกืืื ืฉื Ruby ืคืืขืืื ืืืจื ืืื ืืชืื ืืืืืืช ืืืืจ ืื ืืกืืจืช. RuboCop ืืขืจืื ืงืืฆืื ืื ืคืจื, Brakeman ืืืื ืืจืืืืช ืกืคืฆืืคืืืช ื-Rails, ื-Sorbet ืื Steep ืืืืคืื ืืืื ืกืื ืืืฉืจ ืงืืืืื ืื ืืืฆืืืช. ืืฃ ืืื ืืืืืื ืืืื ืืื ื ืืืืขื ืืขื ืืช ืขื ืฉืืืืช ืจืืืืืืช ืืืื ืืืื ืืืืืืื ืฉื Ruby ื ืืฆืืื ืื ืชืืื ืืืฆืืข ืงืจืืืืื, ืืืื ืฉืืจืืชืื ืชืืืืื ืืกืคืจืืืช ืืฉืืชืคืืช, ืื ืืืฆื ืฉืื ืื ืืจืืื ืืจืื ื ืืืื ืืฉืคืืข ืขื ืืกืคืจ ืฆืื ืืจืืช.
Smart TS XL ืืกืคืง ืชืฆืืื ืืืืงืืช ืชืืืช ืืฉืจ ืฆืืืจืช ืืืืข ืืื ื ืขื ืคื ื ืืกืืก ืืงืื, ืืืืคืฉืจืช ืืคืจืฉ ืืืฆืืื ืกืืืืื ืืจื ืขืืฉืช ืืืคืืืืืืืช ืืืขืจืืช. ืขืืืจ ืงืืืื ืืจืืื ืืื, ืืืืืช ืื ืชืืืืช ืืฉืืจืืช ืืงืืืขืช ืกืืจื ืขืืืคืืืืช ืืืืกืกื ืกืืืื ืื.
ืืืืืื ืคืื ืงืฆืืื ืืืื ืืจืืืืื ืืืืืื:
- ืืืืื ืจืืืื fan-in ื-fan-out ืืืืืื ืฉืืื ืืืฆืืื ืกืืืืื ืืืืฆืืื ืกืืืื ืืกืคืงื โโืืืืืจ.
- ืืืืืืืืืฆืื ืฉื ืฉืจืฉืจืืืช ืชืืืช ืืืงืฉืจืืช ืฉืืืืช ืืืฉืื Ruby ืืฉืืจืืชืื ืืืฆืื ืืื, ืกืคืจืืืช ืืฉืืชืคืืช ืื ืขืืืกื ืขืืืื ืฉื ืืฆืืื.
- ืืชืื ืฉื ืืขืืืช ืกืืืืืช ืขื ื ืชืืืื ืงืจืืืืื ืืืืฆืืข, ืชืื ืืืืฉืช ืืืื ืฉืื ืื ืืืื ื-Ruby ืืืื ืืืฉืคืืข ืขื ืืกืคืจ ืฆืจืื ืื ืืืืจื ืืืจื.
ืื ืงืืืช ืืื ืฉื ืฉืืืจืช ืกืฃ ืฉื CI, ืื ืืืคืฉืจ ืืืจืืื ืื ืืืชืจืืง ืืืืืคื ืืืืื. ืืืฆืืื ืืืืืจืื ืืขืื ืืฉืคืขื ื ืืืื ื ืืชื ืื ืืืืคืื ืืกืื ืืจืื ื, ืืขืื ืฉืืขืืืช ืืจืืืืื ืงืจืืืืื ืืืืื ื ืืื ืืช ืืฆืืืงืืช ืฉืืืจืช ืกืฃ ืืืืืจื ืืืชืจ. ืืืฉื ืื ืืคืืืชื ืืช ืืืืืื ืืฆื ืจืช ืืืื ืืืืืืฉ ืืช ืืงืจืืช ืืกืืืื ืื ืืืฉืืืื ืืช ืืคืจืงืืืงืืช ืืงืืืืืช ืืืชืืืจืืช ื- ืคืืืคืืจืืืช ืืื ื ืชืืื ืชืืช.
ื ืืชืื ืืฉืคืขื ืืืืข ืืืืฆืืข ืขืืืจ ืืืืืืช ืืืืื ืืฉืืจืืจ
ืืื ืืืฆืื ืืืฉื ืืืงืจืื ืืืืชืจ ืืืกืคืงืช Ruby ืืจืืื ืืช ืืื ืืืฉืืจ ืฉืื ืืืื ืฉื ืจืืื ืืืืืื ืืคื ื ืขืฆืื ืื ืืืจืืื ืืืฉืืื ืขืงื ื ืชืืื ืืืฆืืข ืื ืืขืืฆืืื. ืื ื ืคืืฅ ืืืืื ืฉืืคืืฅ, ืฉืืจืืื Gem ืื ืคืืจืืง ืืฆืืืจ ืฉื ืืื ืืืืืื ืฉื Rails, ืฉืืื ืฆืืืื ืืจืืื ืืืืืื ืืืืกืก ืืืกืืืืช ืืกืชืืจืื ืืช ืืชื ืืืืช ืืื ืืจืืฆื ืืืืืชืืช.
Smart TS XL ืืืืืฉ ื ืืชืื ืืฉืคืขื ืืืืข ืืืืฆืืข, ืืืชืจืื ืืื ื ืกืืื ืืชืืื ืืช ืืขืฉืืืช ืขืืืจ ื ืืืื ืืืืื ืืฉืืจืืจ. ืืืงืื ืืืชืืืืก ืื ืืชืื ืกืืื ืืื ืืืช ืืื ืืจื, ืืื ืืืคืฉืจ ืืขืจืื ืฉื ืืืืคื ืฉืื ืฉืื ืืืื ืืืฆืขืื ืืงืืืืื ืืื ืืจืืงืฆืื ืขื ืืจืืืืช ืืืฆืืข ืงืืืืืช.
ืืชืจืื ืืช ืคืื ืงืฆืืื ืืืื ืขืืืจ ืงืื ืืืขื ืืืืืื:
- ืืืคืื ืฉืื ืืื ืงืื Ruby ืื ืชืืื ืืืฆืืข ืืืฉืคืขืื, ืืืื ืชืืืืืช ืขืงืืคืืช ืืืจื ืืืืืืืืช.
- ืืืืื ืืืงืื ืฉื ืฉืื ืืืื ืืืฉื ืื ืืช ืืจืืืช ืืืงืจื ืืืจืืื ืฉืืื ืืื ืืืืงืช ืกืืืื ืื ืืื ืืืืงืช ืกืืืื ืกืืืืื ืืื ื ืืืืืื ืืืืื ืืืืืื.
- ืชืืืื ืืืกืืจืืืืืช ืคืจืืกื ืืงืืืืืช ืืคืจืืกื ืืืจืืชืืช ืขื ืืื ืืืืจืช ืืืื ืจืืืืื ืืฉ ืืืืช ืืื.
ืขืืืจ ืืขืื CI, ืืืืืช ืื ืืคืืืชื ืืช ืืืกืชืืืืช ืขื ืืืื ืืืฉื ืฉืืจื ืืื ืืื ืืฉืจ ืืืืื ืืช ืืืกืคืงื. ืขืืืจ ืืขืื ืขื ืืื ืืชืืื ืืกืืืื ืื ืืืชืืืืืช, ืืื ืืกืคืงืช ืืืืืช ืืขืงื ืืื ืฉืื ืืื ืงืื, ืืชื ืืืืช ืืืฆืืข ืืืืืืืช ืฉืืจืืจ, ืืืืืงืช ืืช ืืืืืช ืืืื ื ืขื ืืืืงืืจืช ืืืื ืืืืกืืฃ ืฉืืื ืกืงืืจื ืืื ืืื.
ื ืืจืืืืืฆืื ืืชืขืืืฃ ืืืชืืช ืขื ืคื ื ืฉืืื CI
ืืจืืื ืื ืืขืืชืื ืจืืืงืืช ืกืืืืื ืืืขื ืืื ื ืชืื ื ื ืืชืื ืกืืืืื; ืื ืกืืืืื ืืืืืช ืืืืื ืืื ืฉื ืืืชืืช ืื ืืืื ืื. ืฆืื ืืจืืช Ruby ืืฉืืืื ืืขืชืื ืงืจืืืืช ืขืืืื ื ืชืื ืื, ืกืจืืงืช ืืืืื, ืืืืงืืช ืชืืืช ืืืืืืช ืกืืืื, ืืืฉืจ ืื ืืื ืืื ืืืืฆืจ ืคืืืื ืืคืืจืืืื ืืืกืืืืืช ืืืืจื ืฉืื ืื. ืืื ื ืืจืืืืืฆืื, ืฆืืืชืื ืคืื ืื ืืืืืื ืื-ืืืง ืืืืืคื ืื ืขืงืืืช, ืื ืฉืืืืื ืืขืืืคืืช ืืชืจืขื ืืื ืงืืืืช ืืชืืช.
Smart TS XL ืชืืจื ืืื ืฉืืื ืืฉืืฉ ืืฉืืืช ื ืืจืืืืืฆืื ืฉืืืงืืช ืืืฆืืื ืกืืืืื ืืืงืฉืจ ืขื ืกืื ืชืคืงืื ืืืจืืืื ืืืฉืคืขืช ืืืฆืืข ืืืงืื ื ืืงืื ืกืคืฆืืคื ืืืื. ืื ืื ืืืืืฃ ืืช ืืื ืชืืื ืืงืืืืื; ืืื ืืืกืืจ ืืืืฉ ืืช ืืชืคืืงื ืฉืืื ืืื ืืชืืื ืืงืืืช ืืืืืืช ืงืืืจื ืืืช.
ืืืืืืช ืืคืชื ืืืืืืช:
- ืฆืืืจื ืฉื ืืืฆืืื ืืืื ื ืืชืื ืกืืื ืืจืืืื ืฉื Ruby ืืืงืฉืจ ืืื ื ืืืืื.
- ืงืืืขืช ืกืืจื ืขืืืคืืืืช ืฉื ืืขืืืช ืขื ืกืื ืงืจืืืืืช ืืจืืื ืืืืงืื ืืชืืืช ืฉืื ืืื ืขื ืกืื ืืืืจืช ืืืื ืืืืืื.
- ืชืืืื ืืืืืจืช ืืืื ืืืช CI ืืืืื ืช, ืืืื ืืืฉื ืืืืืจื ืืฉืืจืืชื ืืืื ืืืืืื ืืืืขืฅ ืืจืืืืื ืืืงืคืืื.
ืืืฉื ืื ืืืืฉืจืช ื ืืชืื ืกืืื ืขื ืืฆืืืืช ืืกืคืงื โโืืจืืื ืืช, ืฉืื ืื ืื ืืืคืจืืช ื ืืฉืืืช ืกืืืื ืฉืืื. ืืื ืื ืืคืืืชื ืกืืฃ ืืืืื ืขื ืืื ืืืืจืช ืืชื ืืฆืืืจืื ืืืฆืืื ืฉืืชืขืืืื ืืื ืืืืืจืื ืจืืืฉืื ืืืืื ื ืืื ืืช, ืืคืืก ืฉื ืฆืคื ืืขืชืื ืงืจืืืืช ืืืืื ืืืืืืช ืฉืืคืืฅ ืืืืืจื ืืืฆืื ืืงื ื ืืืื ืืืื ืืงืฉืืจืืช ื- ืกืืืื ื ืืืืจื ืืืฆืื ืฉื ืืืฉืืืื.
ืืืคืฉืจืื ืืคืขืืื ืืคืขืืื ืืืืกืกืช ืกืืืื ืขืืืจ ืืขืื ืขื ืืื ืืืจืืื
ืขืืืจ ืื ืืื ืืื ืืืืืืืช ืจืืฉืืืช (CTO), ืืืืืื ืคืืืคืืจืืืช ืืืืจืืืื ืืืืจื ืืืฆืื, ืืืืืื ืืืืฉืื ืืืขืกืืง ืืคืจืืืงืืื ืชืืืื ืืฉืืื ืืื ืืคืืืคืืจืื ืืคืืืชื ืืช ืื ืืืืืืืช ืืืื ืืืืกืืฃ ืชืงืืจื ืชืคืขืืืืช. ืืจืืืื ืืืืช ืฉื Smart TS XL ืื ืืชืื ืกืืื ืฉื Ruby ืืืื ื ืืืืืืชื ืืืขืืืช ืืช ืืฉืืืืช ืืืฆื ืฉื ืขืืืื ืืืืืื ืื ืืืื ืกืืืื ื ืืกืคืงื.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, ืื ืืชืืจืื ื:
- ื ืืกืื ืืจืืจ ืฉื ืืืื ื ืืชืื ืกืืื ืฉื Ruby ืฆืจืื ืืืกืื, ืืืืืืจ ืื ืืืืืข, ืืืชืืกืก ืขื ืืืฉืคืขื ืืืจืืืืงืืื ืืช.
- ืฉืืคืืจ ืืืชืืื ืืื ืฆืืืชื ืคืืชืื, ืืขืื ืืคืืืคืืจืื ืืคืื ืงืฆืืืช ืกืืืื ืืืืฆืขืืช ื ืจืืืช ืืฉืืชืคืช.
- ืชืืืช ืืืคืืชืช ืืกืงืืจืืช ืืื ืืืช ืืืืืข ืฉืืื ืืืืื ืฉืืจืืจืื ืืกืืืื ืืืื.
ืืชืจืื ืืช ืืื ืชืืืืื ืืฉืืจืืช ืืงืจืืืืช ืืคืขืืื ืืืชืืงืืืช ืืชืืื ืืช, ืืืฆื ืืืงืจื ืืืงืื ืืืืืคืช ืืืื. ืขืืืจ ืืจืืื ืื ืืืชืืืืืื ืขื ืฆืื ืืจืืช CI ืจืืขืฉืื, ืฉืขืจืื ืฉืืืจืื ืื ืจืืืื ืกืืืื ืื ืืืื, Smart TS XL ืืฆืืข ืืจื ืืืคืื ืืช ืืืฉืงืขืืช ืืงืืืืืช ืื ืืชืื ืกืืื ืฉื Ruby ืืืขืืืืช ืืืชืจ ืืืืคื ืืืืชื ืขื ืืื ืืืกืืกื ืืืฆืืืืช ืืืืฆืืข ืืืชืืืช.
ืืฉืืืื ืืื ืืื ื ืืชืื ืกืืืืื ืฉื Ruby ืขืืืจ ืฉืืืจืช ืกืฃ ืฉื CI ืืืงืจืช ืกืืืื ืื
ืืืืจืช ืืื ื ืืชืื ืกืืืืื ืขืืืจ Ruby ืืกืืืืืช CI ืืจืืื ืืืช ืขืืกืงืช ืคืืืช ืืฉืืืืช ืืชืืื ืืช ืืืืชืจ ืืืชืืื ืืืขืื ืืกืคืงื โโืืกืืืื ืกืคืฆืืคืืื. ืืืื ื ืืืืื ืืืืคื ืืฉืืขืืชื ืืืืคื ืฉืื ืื ืืชื ืืืื ืชืืช ืืืฅ ืืฆื ืจืช, ืืืืคื ืฉืื ืื ืืฆืืืื ืืืฆืืื, ืืืืืื ืืืื ืื ืืฉืชืืืื ืืืจืืืืช ืขืืืื ืฉื ืืืฉื ืืืืื. ืืฉืืืื ืฉืืชืขืืืช ืืืืคืืื ื ืืืฆืืข, ืืชื ืืืืช ืงื ื ืืืื ืืืชืืืช ืืืืคื ืืืืืื ืืขืชืื ืงืจืืืืช ืืฉืขืจืื ืฉืืืจืื ืื ืืืฆืืืจืืช ืกืืืื ืื ืืืชื ืืืืงืจืช.
ืกืขืืฃ ืื ืืืกืืจ ืืช ืืืฉืืืื ืกืืื ืืขืืื ืชืคืขืืืืื ืงืื ืงืจืืืื ืืื ืืขื ืืช ืืืืืช ืื ืจืืืช. ืื ืงืืืืจืืืช ืืืื ืฉื ืืืจื ืืฉืงืคืช ืชืคืงืื ืืืืืื ืืฉืืืจืช ืกืฃ ืฉื ืืขืจืืืช ืืืืข ืืื ืืืงืืืืืืืช (CI), ืืื ืืืืืคื ืืืืจื ืืคื ื ืืืืื ืืขื ืืกืจืืงื ืกืื ืืืช ืขืืืงื ืืชืืืื ืืืืืจื ืืืฆืื. ืืืืื ื ืืื ืืืฆืืจ ืืืคืื ืืจืืจ ืืื ืืขืื ืืืจืืื ืืืื ืืืืื ืื ืืืจืื ืืชืืืจืืช ืืืืืื ืืืืชืจ ืืชืืืื ืืื, ืืคื ื ืืืื ืช ืื ืืคืฉืจืืช ืืคืืจืื.
ืืืืจ ืืืืื ืืืืืื ืืืืชืจ ืืคื ืืืจืช ืืืจืืื ืืขืืงืจืืช
- ืฉืขืจ ืืจืื-ืืืืื ืืืืจ ืืืืจืืื ืืกืื: ืจืืืืงืืค, ืกืื ืืจืRB
- ืืืืื ืคืืืขืืืืช ืืืืื ืกืคืฆืืคืืืช ืืจืืืืช: ืืื
- ืืืืคืช ืืืื ืืืช ืืจืืื ืืช ืืืืืจืื ืฉืื ืื: Semgrep, CodeQL
- ืืงืจืช ืกืืฃ ืืืฉืง ืืืืื ืฉืืคืืฅ: ืกืืจืื, ืชืืื
- ืชืืืืงื ืืขืืืื ืืืืฉ ืฉื ืืืืื ื ืงืืืืช ืืืืช: ืจืืง, ืจืืื ืงืจืืืืง
- ื ืืชืื ืืืืื ืกืื ืื ืืจืืื ืืงื ื ืืืื ืืืื: CodeQL
- ืืืืื ืื ืจืืืช ืืืืืช ืขืืืจ ืื ืืืืืช: ืจืืื ืงืจืืืืง
ืจืืืืงืืค
ืืชืจ ืจืฉืื: ืจืืืืงืืค
RuboCop ืคืืขื ืืื ืืข ื ืืชืื ืกืืื ืืื ืื-ืืืืื, ืืืชืืงื ืืืืืคืช ืกืื ืื Ruby, ืขืงืืืืช ืืื ืืช ืืชืช-ืงืืืฆื ืืืืืจืช ืฉื ืชืื ืืืช ืืงืฉืืจืืช ืื ืืื ืืช. ืืกืืืืืช CI ืืจืืื ืืืช, ืชืคืงืืื ืืืจืืืืงืืื ื ืืขืืงืจื ืืื ืฉืืืจืช ืกืฃ ืืืจืืื ืืกืืืช: ืืขืจืืช ืฉืื ืืื ืงืื ืืืืืจืืช ืืืฆืืจื ืฆืคืืื ืืื ืืื ืืข ืชืื ืืืช ืื ืชืืืืืช ืืืืื ืก ืืขื ืคืื ืืฉืืชืคืื. ืืืื ืืืืฆืืข ืฉืื ืืืืงื ืงืืฆืื ืืชืืืืจื, ืื ืฉืืืคื ืืช ืืชื ืืืืช ืืื ืืจืืฆื ืืืืชื ืชืืืื ืืืืื ืจืื ืืืืื ืืืืฉืื, ืืืจืืืืช ืืืกืืจืช ืื ืืืคืืืืืืืช ืืคืจืืกื.
ืื ืงืืืช ืืื ืคืื ืงืฆืืื ืืืช, RuboCop ืื ืชื ืืช ืงืื ืืืงืืจ ืฉื Ruby ืืื ืงืืืฆื ื ืืชื ืช ืืืืืจื ืฉื "ืฉืืืจืื", ืฉืื ืืื ืืื ืืืืฆื ืงืืืืจืืืช ืืืืื ืกืคืฆืืคืืช ืืืื ืคืจืืกื, ืฉืืืช, ืืืืื ืื ืืืืงืืช lint. ืืจืืื ืื ืืืจื ืืื ืืจืืืงืื ืืขืืจ ืืชืฆืืจืืช ืืจืืจืช ืืืื ืืื ืืงืืื ืกืื ืืจืืื ืคื ืืืืื ืืืืืฆืืื ืืช ืืืืฆื ืืขืืืื ืืืืฉ ืืืคืืืชืื ืืช ืืฉืื ืืช ืืื ืฆืืืชืื. ืืืืืช ืชืฆืืจื ืื ืืืคืฉืจืช ื-RuboCop ืืคืขืื ืืฉืืืช ืืืืคืช ืืืื ืืืช, ืืขืืื ืืืืืื ืืืืืจืื ืืืืืื ืฉืืื ืืืืืืช ืืฉืคืืขื ืืฉืืจืืช ืขื ืืืืจืืช ืืกืงืืจื ืืืืืืืช ืืืืืื.
ืืืคืืื ื ืืชืืืืจ ืคืฉืืืื ืืฉืื ืฉ-RuboCop ืืื ืงืื ืคืชืื. ืขื ืืืช, ืขืืืช ืืืจืืื ื ืืืขืช ืืขืจืืฆืื ืขืงืืคืื ืืื ืืขืจืืฆืื ืฉื ืจืืฉืื. ืืื ืืืืืื ื ืืืื ืชืฆืืจื, ืืฆืืจืช ืืกืืกืื ืขืืืจ ืืกืืกื ืงืื ืืืืจ ืงืืื, ืืืขืืืืืช ืืชืคืขืืืืืช ืฉื ื ืืืื ืืชืคืชืืืช ืืืืื ืขื ืคื ื ืืกืคืจ ืจื ืฉื ืฆืื ืืจืืช. ืืจืืื ืื ืขื ืขืฉืจืืช ืฉืืจืืชื Ruby ืืจืืืื ืืขืชืื ืงืจืืืืช ืืช ืชืฆืืจืืช RuboCop ืืื ืืื ืืข ืกืืืื, ืื ืฉืืื ืืก ืืืจืืืช ืืขืืืช ืขื ืืคืืืคืืจืื ืืืงืื ืืืืื ืืืื ืฉื ืื ืฆืืืช.
ืืืืฆืืข CI, ืคืจืืคืื ืืืืฆืืขืื ืฉื RuboCop ืืชืืื ืืืื ื-gating ืืชืืืจืืช ืืืืื. ืืื ืชืืื ืืืืฆืืข ืืงืืื ืืืกืจืืงื ืืฆืืืจืช, ืื ืฉืืืคืฉืจ ืื ืืืชืจืื ืขื ืคื ื ืืืฉืืื monorepos ืืืืฉืืื Rails ืืืืืื ืืืื ืืืื ืืก ืืฉืืืื ืืฉืืขืืชืืช. ืืืืืช ืืืืื ืื ืืืคืืช ืืืชื ืืืืืจื ื ืคืืฆื ืขืืืจ ืืืืงืืช ืืจืื-ืืืืื ืืืื, ืฉืืื ืืชื ืืืืช ืืืฉื ืืืืืช ืืืืืช ืขืงืืืช ืืื ืืฉืืืจ ืขื ืืืื ืืืคืชืืื ืืืืืื ืข ืืืคืืกื ืขืงืืคื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืฆืฆื ืืืฉืจ ืจืืืืงืืค ื ืืืงืช ืืขืืจ ืืชืคืงืืื ืืืืืขื. ืคืจืืืจืื ืืืืกืกื ืืืืื, ืืืื ืกืคื ืืืจืืืืช ืื ืืืจื, ืขืืืืื ืืืฆืืจ ืจืขืฉ ืืชืืฉื ืืืขืจืืืช ืืืืืช ืืืืจ ืงืืื, ืื ืฉืืืืื ืืืืืื ื ืจืื. ืืื ืืืฉื ืืืืฉืืข, ืงืืฆื ืืืืื ืืืืื ืืืจ ืืืชืจ ืืืืืืช ืืชืืงืื, ืืืืฆืจืื ื ืงืืืืช ืขืืืืจืืช ืืืขืจืขืจืืช ืืช ืืืื ืช ืืงืจืช ืืกืืืื ืื ืืืงืืจืืช. ืืื ืืืงื ืื ื ืฆืคืืช ืืขืชืื ืงืจืืืืช ืืกืืืืืช ืฉืืืจ ืืชืืืืืืช ืขื ืืชืืจืื ืจืืืื ืืืชืจ. ืืืจืืืืช ื ืืืื ืชืืื ื.
ืืืืืืช ืืื ืืืช ื ืืืขืืช ืืืืกืจ ืืืืืขืืช ืฉื RuboCop ืืชืืื ืืช ืืืื ืืืืจืืืช ื ืชืื ืื. ืืื ืืื ื ืืืื ื ืชืืื ืืืฆืืข ืกืคืฆืืคืืื ืืืกืืจืช, ืชืืืืืช ืืื ืฉืืจืืชืื ืื ืืชื ืืืืช ืืืื ืจืืฆื. ืืชืืฆืื ืืื, ืืื ืืื ื ืืืื ืืืืืช ืคืืืขืืืืช ืืืืื ืืืืืกืกืืช ืขื ืืื ืืจืืงืฆืืืช ืฉื ืืจืืืช ืืงืจื ืื ืืืืช ืืช ืืฉืคืขืช ืืฉืื ืืืื ืขื ื ืชืืืื ืงืจืืืืื ืืืืฆืืข. RuboCop ืืขืื ืืืืชืจ ืืืฉืจ ืืื ืืืืคื ืืื ืื ืื ืืืืคื ืืืืจ ืืืืื ืืืืืฆื ืืช ืฆืืจืช ืืงืื ืืืคืืืช ืืช ืืฉืื ืืช, ืืื ืืืื ื ืืชืื ืกืืืื ืื ืืงืืฃ. ืืืฉืจ ืืื ืืืืงื ืืชืื ืืืื ืื, ืืื ืืกืคืง ืขืจื ืืืื ืืฉืขืจ CI ืืกืืกื ืชืื ืืฉืืจืช ืืขืจืืช ืกืืืื ืื ืืขืืืงื ืืืชืจ ืืื ืชืืื ืืฉืืืืื ืืืฉืืืืช ื ืจืืืช ืืืจืืืืืืช.
ืกืื ืืจืืRB
ืืชืจ ืจืฉืื: ืกืื ืืจืืRB
StandardRB ืืืฆืืช ืืช ืขืฆืื ืืืื ื ืืชืื ืืขืืฆืื ืกืืื ืฉื Ruby, ืฉื ืืขื ืืื ืืข ืืฉื ืืืชื ืขื ืชืฆืืจื ืืคืจืืกื ืฉื ืืืืื. ืืกืืืืืช CI ืืจืืื ืืืช, ืชืคืงืืื ืืืจืืืืงืืื ื ืฉืื ื ืืืืคื ืืืืชื ืืืื ืชืงืฉืืจืช ืชืงืฉืืจืช ืื ืืชื ืื ืืืืืจื ืืืืื: ืืืงืื ืืฉืืฉ ืืื ืืข ืืืื ืืืช ืื ืืชื ืืืชืืื ืืืฉืืช, StandardRB ืืืืฃ ืืขืจื ืืืืื ืงืืืข ืืืืืืจ ืขื ืืื ืืงืืืื, ืืืืืืฉ ืขืงืืืืช ืืืืืืช ืืืืื ืืื ืฆืืืชืื ืืืืืจืื. ืืืืจืช ืขืืฆืื ืื ืืฉืคืืขื ืืฉืืจืืช ืขื ืืืืคื ืฉืื ืืื ืืืืืฆืช, ื ืฉืืืช ืืืกืคืงืช ืืืื ืืงื ื ืืืื ืืืื.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, StandardRB ืืฉืื ืชืืืืืื ืฉื linting ืืขืืฆืื ืื ืชืื ืืืฆืืข ืืืื, ืืืืืฆืจ ืชืืฆืืืช ืืืจืืื ืืกืืืืช ืขื ืืื ืืืื ืืืืจืืช. ืืืขืืจ ืืฉืื ืชืฆืืจื ืืืื ืืคืืืช ืืช ืืกืืืื ืืกืืืืช ืืื ืฉืืจืืชืื ืืืืืื ืืช ืชืงืืจืช ืืืืฉื ืืงืฉืืจื ืืืจื ืืื ืืชืืืืงืช ืืืจืจืืืืช ืืืืื ืืืชืืืืช ืืืฉืืช. ืืืจืืื ืื ืขื ืฆืืืชื Ruby ืจืืื, ืืืืจ ืืืื ืืืคืืืช ืืืืคื ืืืืชื ืืช ืืืืืื ืืืืื ืงืืืื, ืืืืืืื ืฉื ืืืืจืื ืื ืืืืืืช ืกืื ืืจืืืืฆืื ืฉื ืคืืืคืืจืืืช, ืืืืืื ืฉืืคืชืืื ื ืชืงืืื ืืืืชื ืืชื ืืืืช ืืืืคื ืืื ืงืฉืจ ืืืงืฉืจ ืฉื ืืคืจืืืงื.
ืืืคืืื ื ืืชืืืืจ ืคืฉืืืื, ืืืืืื ืฉ-StandardRB ืืื ืงืื ืคืชืื. ืขืืืช ืืืจืืื ืืชืืืืช ืฉืื ืืขืงืืคืื, ืื ืืฆืืจื ืฉืื ื ืืืฉืจ ืืืืื ืื ืืชื ืื ืืืืืจื ืืืืื. ืืืงืื ืืืฉืงืืข ืืื ืืืืื ืื ืืืืื, ืืจืืื ืื ืืฉืงืืขืื ืื ืืืื ืืจืืืื. ืืกืืกื ืงืื ืืืืจ ืงืืื ืืืจืฉืื ืืขืชืื ืงืจืืืืช ืืฉืืชืืช ืกืืงืืืืืืช ืื ืืกืืจืืืืืช ืคืจืืกื ืืืจืืชืืืช ืืื ืืื ืืข ืืกืืืช ืืกืืจื. ืืขืื ืฉืืืืขืช ืืจืื ืืืืืืช ืฉื ืืชืฆืืจื ื ืืชืจื ืงืื ื, ืืจืืืื ืื ืื ืืืืื ืขืืืื ืืืืืื ืืืฆืืืจ ืืืฉ ืืืชืืืืก ืืืืื ืืื ืืจืืืคืงืืื ื ืฉืืืื ืืื ืืคืชืจืื ืืช ืขืืงืคืื ืื-ืืืง ืฉื ืืคืชืืื.
ืืืืฆืืข CI, StandardRB ืืชืคืงื ืืืื ืืฉืขืจ ืืืืจ. ืืชื ืืืืช ืืื ืืจืืฆื ืฉืื ืืืื ื-RuboCop ืืืฉืจ ืืฉืชืืฉืื ืื ืืืฉืจ ืขืืฆืื ืืืืืืื ืืืฉืืช ืขืืืจ ืชืจืืืฉื ืฉืขืจ. ืืืืืื ืฉืืืืืื ืงืืืขืื, ืชืืฆืืืช ืืกืจืืงื ืืฆืืืืช ืืืืจื ืืื ืืกืืืืืช, ืื ืฉืืคืืืช ืืช ืืกืืืจืืช ืืืฉืืื ืืืชื ืฆืคืืืื ืืฆืื ืืจ ืืืืจ ืฉืืจืืื ืืืื. ืืฆืืืืช ืื ืืฉืืื ืืืืืื ืืกืืืืืช ืืืกืืจืืช ืื ืืขืืืช ืืืื ืืช ืืืืื ืฉืืื ืืืจืืื ืืื ืฉื CI ืืื ืชื ืื ืืืจืื ืืืืื ืืืืืคื ืืืืืืืืช.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืืืฉื ืื ื ืงืืืืช ืืืืง ืืื ืืืืืฆืื. StandardRB ืืชืจืื ืืืขืืืืช ืขื ืคื ื ืืกืืกื ืงืื ืืืืืื ืืืื ืืจืคื ืืฉื ืืืงืฃ ืื ืืชืื ืืืืืื ืฉืื ืืคืจืืคืื ืืืืฆืืขืื ืืฆืคืื ืฉืื. ืขื ืืืช, ืืืคืื ืืืขืชื ื ืืืื ืืืคืื ืืืืืืฅ ืืืฉืจ ืืืกืืืืช ืกืคืฆืืคืืืช ืืืจืืื, ืชืื ืืืช ืืื ืืืช-ืชืืื ืื ืืจืืืืช framework ืกืืืืช ืืืืื ืืจืืจืช ืืืืื. ืืืงืจืื ืืืื, ืฆืืืชืื ืืืืืื ืืืืืจ ืืื ืืจืืืื ืืงืืืืื ืืงืืื ืจืืื ืืืชืจ ืฉื ืชืื ืืืช ืฉืขืฉืืืืช ืฉืื ืืืชืืื ืืืืคื ืืืฉืื ืืกืื ืืจืืื ืืืจืืืืงืืื ืืื ืืคื ืืืืื.
ืืืืืืช ืืื ืืืช ื ืืืขืืช ืืืืชื ืขืงืจืื ืืช ืฉืืืคืืื ืืช StandardRB ืืืืจืงืืืื. ืืื ืืื ื ืื ืกื ื ืืชืื ืกืื ืื ืืขืืืง, ืืืืื ืกืคืฆืืคื ืืืกืืจืช ืื ืื ืืงื ืฉื ืืจืืืช ื ืชืื ืื. ืืชืืฆืื ืืื, ืืื ืืื ื ืืกืคืง ืชืืื ื ืืฉืืจื ืืืื ืืชื ืืืืช ืืืฆืืข, ืืฉืืคื ืืืืืื ืื ืืฉืคืขื ืืื-ืืืืืืืช. ืขืจืื ืืืื ืืืืืคืช ืฆืืจืช ืงืื ืืืืื ืืืืคืืชืช ืฉืื ืืช ืกืื ืื ืืช, ืื ืฉืชืืื ืืขืงืืคืื ืืฉืืคืืฅ ืืืื ืืืชืจ ืืืืืชืืช ืกืงืืจื ืืจืืจืื ืืืชืจ. ืืืฉืจ ืืฉืชืืฉืื ืื ืืชืื ืืืื ืื, StandardRB ืืฉืืฉ ืืฉืขืจ CI ืืขื ืืืืื ื ืืื ืืืืื ืืช ืืืืื, ืืืฉืืื ืื ืชืืื ืืืืืืื ืืืชืจ ืืืืคืืื ืื ืืื ืืช, ืืืืื ืืกืืืื ืืืจืืืื.
ืืื
ืืชืจ ืจืฉืื: ืืื
Brakeman ืืื ืืื ื ืืชืื ืืืืื ืกืืื ืฉื ืื ื ืืืืืื ืขืืืจ ืืืฉืืื Ruby on Rails, ืขื ืืืื ืืืฆืืข ืืืืืืฉ ืืืืขืืช ืืืกืืจืช ืขื ืคื ื ืืชืืืช ืชืื ืืืช ืื ืจืืืช. ืืฆืื ืืจืืช CI ืืจืืื ืืื, ืชืคืงืืื ืืืจืืืืงืืื ื ืืื ืืืืื ืืืืืื ืืืืจืืจ: ืืืืื ืืืืงืืช ืคืืืขืืืืช ืกืคืฆืืคืืืช ื-Rails ืืฉืืจืืช ืืงืื ืืืงืืจ ืืืื ืืืจืืฉ ืืืฉืื ืคืืขื, ืืกื ื ืชืื ืื ืื ืืงืฉืจ ืคืจืืกื ืืื. ืืืคืืื ืื ืืืคื ืืช Brakeman ืืืชืืื ืืืืืื ืืกืจืืงืช ืืืืื ืฆืคืืื ืืืืืจืช ืืกืืืืืช ืื ืืื.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, Brakeman ืื ืชื ืืืฉืืื Rails ืขื ืืื ืคืืจืืฉ ืืงืจืื, ืืืืืื, ืชืฆืืืืช, ื ืชืืืื ืืงืืฆื ืชืฆืืจื ืืื ืืืืืช ืืจืืืืช ื ืชืื ืื ืื ืืืืืืืืช ืืฉืืืืฉ ืืกืืื ืืืกืืจืช. ืืืืืงืช ืืืืืื ืฉืื ืืชืืงืืช ืื ืืฉืืื ืืืื ืคืืืขืืืืช ืืืจืงื, ืืืคืื ืืคืจืืืจืื ืื ืืืืืื, ืืฉืืคืช ืืงืฆืื ืืืื ืืช, ืืืืฉืืช ืืืืืช ืืืงืจืืช ืืืืื ืฉืืืืืช. ืืืืืื ืฉืืืฆืืื ืืื ืืืืกืกืื ืขื ืืืกืืืืช ืฉื Rails, ืื ืืจืื ื ืืฉืืื ืืืืืช ืืืช ืืืืื ืืืชืจ ืืืฉืจ ืกืืจืงืื ืื ืจืืื ืืืฉืจ ืื ืืืืฉืืื ืขื ืืจืืืืงืืืจืืช Rails ืงืื ืื ืฆืืื ืืืืช.
ืืืคืืื ื ืืชืืืืจ ืคืฉืืืื, ืืืืืื ืฉ-Brakeman ืืื ืงืื ืคืชืื. ืขืืืืืช ืืจืืื ืืืช ืืชืืืืืช ืืืื ืืืจืฆืื ืืื ืืืื ืืจืืืช ืขืืืื ืืื ืืจืืฉืื. ืืจืืื ืื ืืืืืื ืืืฉืงืืข ืืงืืืืช ืืืืืช, ืืืคืื ืืขืืืช ืืืขืงื ืืืจ ืชืืงืื ืื ืืื ืืื ืืข ืืืชืืฆืืืช ืืืคืื ืืืืฆืื ืืืืื ืืืืืืื. ืืกืืืืืช ืืืกืืจืืช, ืื ืืืื ืืขืชืื ืงืจืืืืช ืืชืืืช ืคืื Brakeman ืืชืืืืื ื ืืืื ืคืืืขืืืืช ืืืืืื ืชืืืืืช.
ืืืืฆืืข CI, ืืชื ืืืืชื ืฉื Brakeman ืืื ืืืจื ืืื ืืฆืืื ืืืืจืืื ืืกืืืช. ืื ืืชืื ืืกืืื ืฉืื, ืืืืืกืก ืขื ืืงืืจ ืืืื, ืืื ืข ืชืืืช ืืชืฉืชืืช ืืจืขืืช, ืื ืฉืืคืืืช ืืช ืืจืืืฉืืช ืืื ืขื ืคืื ืืกืืืืืช. ืกืจืืงืช ืกืืืืืช ืืื ืขื ืืืื ืืืืจืืืืช ืืืคืืืงืฆืื, ืืืืืื ืืืื ืืืืืื ืืืืืื ืฉื Rails ืขื ืืื-ืชืื ืืช ื ืจืื ืื DSLs ืืืชืืืื ืืืฉืืช. ืืื ืฉืืืฉืืืื ืืืืื, ืืจืืื ืื ืืขืืืจืื ืืขืชืื ืงืจืืืืช ืืช Brakeman ืืฉืขืจื ืืจืื-ืืืืื ืืืื ืืกืจืืงืืช ืืชืืืื ืืช ืื ืกืจืืงืืช ืฉืืจืืจ-ืขื ืฃ ืืื ืืืื ืืช ืืชืคืืงื ืืืืืกืื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืืืฉื ืื ื ืงืืืืช ืืืืง ืืื ืืืืืืช. Brakeman ืืกืคืงืช ื ืจืืืช ืขืืืงื ืืกืืืื ืื ืกืคืฆืืคืืื ื-Rails, ืื ืืืงืคื ืืฆืืืฆื ืืืืืื. ืืื ืืื ื ืื ืชืืช ื ืชืืื ืงืื Ruby ืฉืืื ื ืฉื Rails, ืกืคืจืืืช ืืฉืืชืคืืช ืืืฉืืฉืืช ืืืืฅ ื-Rails, ืื ืืื ืืจืืงืฆืืืช ืืื ืฉืืจืืชืื. ืืืืืจ ืืขืืจื, ืืืืจ ืืืืื ืืืื ืืฉืืืืื ืืื ืืืืื ืข ืื ืงืืืืช ืขืืืืจืืช, ืืืืืื ืืืฉืจ ืฉืืจืืชื Ruby ืืงืืืืื ืืื ืืจืืงืฆืื ืขื ืฉืคืืช ืืืจืืช ืื ืืขืจืืืช ืืืืจ ืงืืื, ืืคืืก ื ืคืืฅ ืืืืื ืืืืฆื ืืืืจื ืืืฆืื ืืฆืืืจืื ืื ืืื ืื ืืคืืจืืืื ืจืืืื ืืืชืจ. ืกืืืื ื ืืืืจื ืืืฆืื ืฉื ืืืฉืืืื.
ืืืืืืช ืืื ืืืช ืฆืฆืืช ืื ืืกืืืืืช ืขื ืืชืืื ืืืฉืืช ืจืื. ืืื-ืชืื ืืช ืืชืงืื, ืืฆืืจืช ืืกืืืืื ืืื ืืืช ืื ืฉืืืืฉ ืื ืงืื ืื ืฆืืื ืื ืืืกืืจืช ืืืืืื ืืืคืืืช ืืช ื ืืื ืืช ืืืืืื ืื ืืืืืื ืืช ืืืืื ืืฉืืืืืช. ืืขืื ืฉ-Brakeman ืชืืื ืืงืืฆื ืืชืขืืืืช ืืืืืื ืื ืืืืืื, ืืืืื ืื ืื ืืื ืืืื ืืฉืืืง ืืช ื ืจืืืช ืืกืืืื ืื ืืืืื ืืจืื ืื ืื ื ืฉืื.
Brakeman ืืขืื ืืืืชืจ ืืืฉืจ ืืื ืืืืงื ืืืืช ืืืืื ืกืคืฆืืคื ื-Rails ืืชืื ืืกืืจืืืืืช ื ืืชืื ืฉืืืชืืช. ืืื ืืกืคืง ืืืืื ืคืืืขืืืืช ืืขื ืขืจื ืืืื ืืืงืืืืช ืืื ืืืกืืืืช Rails ืฉืืืืืช, ืื ืืื ืืืชืืืืก ืืืื ืืื ืคืชืจืื ืืืืื ืืงืืฃ. ืืฆืื ืืจืืช CI ืืจืืื ืืื, ืขืจืื ืืืืข ืืฉืื ืืืฉืจ ืืืฆืืื ืืืืงืืื ืืืงืฉืจ ืืฆื ืชืืื ืืช ืจืืืืช ืืืชืจ ืฉื ืชืืืช, ืืืฆืืข ืืืืจืืืืืช, ืืืงืื ื ืืืฃ ืืฉืขืจ ืืื ืืจื ืืืืื.
Semgrep
ืืชืจ ืจืฉืื: Semgrep
Semgrep ืืื ืื ืืข ื ืืชืื ืกืืื ืืื ืื-ืืืืื ืฉื ืืขื ืืืืืฃ ืืืื ืืืช ืืืืื ืืชืืืืืช ืืืืฆืขืืช ืืชืืืช ืชืื ืืืช ืืืฉืชืจืขืช ืขื ืคื ื ืืกืคืจ ืฉืคืืช, ืืืื Ruby. ืืกืืืืืช CI ืืจืืื ืืืช, ืชืคืงืืื ืืืจืืืืงืืื ื ืืชืืงื ืืงืืืื ืืืื ืืืช ืืื ืืืืืื ืืกืืจืืช. Semgrep ืืืฆื ืืืจื ืืื ืืืฉืจ ืืจืืื ืื ืืงืืงืื ืืืืืคื ืขืงืืืช ืฉื ืืืื ืืืืื, ืืืื ืืช ืื ืชืืืืืช ืขื ืคื ื ืืืืจืื, ืฆืืืชืื ืืฆื ืจืช ืืกืคืงื โโืจืืื, ืืืื ืืืืจืื ืืขืืจืืื ืฉื ืฉืคืืช.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, Semgrep ืคืืขื ืขื ืืื ืืืฉืื ืืืืื ืืฆืืจืชืืื ืืืชืืจืื ืืคืืกื ืงืื ืืืืืื ืื ืืืกืืจ. ืขืืืจ Ruby, ืื ืืืื ืืืืื ืฉืืืืฉ ืื ืืืืืื ื-API, ืืคืืกื ืืืคืื ืื ืชืื ืื ืื ืืืืืื, ืืชืื ืืืช ืื ืื-ืืคืืก ืกืคืฆืืคืืืช ืืืจืืื ืฉืืื ื ืืืืกืืช ืขื ืืื ืกืืจืงื framework ืื linters ืืืืืืจืื ืืืจืืจืช ืืืื. ืืืืืื ืฉืืืืืื ืืคืืจืฉืื ืืงืจืืืื ืขื ืืื ืื ื ืืื, ืฆืืืชื ืืืืื ืืคืืืคืืจืื ืืืืืื ืืงืืื ืกืื ืืจืืื ืคื ืืืืื ืืฉืืจืืช ืืฉืืืช ืืกืจืืงื, ืชืื ืืืฉืืจ ืคืื ืื ืืชืื ืืกืืื ืขื ืืขืื ืืืืฉื ืืคื ืืืืื ืืืงืื ืืืกืชืื ืื ืืจืง ืขื ืืืืจืืกืืืงืืช ืืืืืืจืืช ืขื ืืื ืืกืคืง.
ืืืคืืื ื ืืชืืืืจ ืชืืืืื ืืจืืช ืืคืจืืกื. ืืืืืจืช ืืงืืืื ืืื ืืงืื ืคืชืื ืืืชืืืื ืืกืจืืงื ืืงืืืืช ืืืืื ืืืจืฆืื ืืกืืกืืช ืฉื CI. ืจืืืช ืืจืืื ืืืช ืืฆืืืืช ื ืืืื ืืืืื ืืจืืื, ืืืืื ืืืื ืืืจืฆืืืช ืืจืืืช ืขืืืื ืื ืืจืฉืืช ืืขืชืื ืงืจืืืืช ืืกืืืืืช ืืืกืืจืืช. ืืคืฉืจื ืืืืืืืช ืืื ืคืืืช ืจืืฉืื ืืืืชืจ ื ืืืื ืืืืืจ ืืื ืืืืื, ืืืื ืขืจืืื, ืืืืืช, ื ืืืื ืืจืกืืืช ืืคืจืืฉื. ืืื ืืขืืืช ืืืืฉืืขืช, ืงืืืฆืืช ืืืืื ืืืืืืช ืืืืื ืืืืืจืืช ืืืืื ืืก ืจืขืฉ ืฉืคืืืข ืืืืื ืืชืืฆืืืช ืืกืจืืงื.
ืืืืฆืืข CI, Semgrep ืืื ืืืจื ืืื ืืขืื ืื ืืชื ืืืกืืจ ืืงืืืื, ืื ืฉืืืคื ืืืชื ืืจ ืืืฆืืข ืื ืืืืืงืืช ืืจืื-ืืืืื ืืื ืืกืจืืงืืช ืขืืืงืืช ืืชืืืื ืืช. ืืชื ืืืืช ืืื ืืจืืฆื ืฉืื ืืืฉืคืขืช ืืืืจืืืืช ืืืืืื ืื ืคืื ืืื ืืืืื ืืืืืจ ืืืื. ืืจืืื ืื ืืคืจืืืื ืืขืชืื ืงืจืืืืช "ืืืืื ืืืืจืื" ืขืืืจ ืืืฉื (gateing) ืืืืืื ืืงืจืื ืืืชืจ ืื ื ืืกืืื ืืื ืืคืืขืืื ืืืืคื ืืกืื ืืจืื ื, ืชืื ืฉืืืจื ืขื ืชืคืืงื ืชืื ืฉืืืจื ืขื ืืืกืื ืจืื ืืืชืจ. ืืชื ืืืืช ืืฉื ืืื ืืืจืืื ืืกืืืช, ืืชืืืืช ืืชืืฆืืืช ืฆืื ืืจ ืฆืคืืืืช ืืืฉืจ ืืื ืืืืืจืช ืืจืืื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืฉืคืช ืืืืืฆืื ืืฉืืืื. ืืขืืืืชื ืฉื Semgrep ืชืืืื ืืืืื ืจืื ืืืืืืช ืืืืืื ืืืืงืจืช ืืืืงืฃ. ืืืืื ืฉื ืืชืื ืืฆืืจื ืืจืืขื ืืืืืื ืืืืฆืจ ืืืืืืช ืืืืืืช ืฉื ืืืฆืืื ืืขืื ืขืจื ื ืืื, ืืืืืื ืืืกืืกื ืงืื ืืื ืืืื ืฉื Ruby ืฉืืื ืืคืืกืื ืืืืืืืืืื ืืฉืชื ืื ืืื ืฆืืืชืื. ืื ืืกืฃ, ืืืง ืืื ืืชืืืื ืืืชืงืืืื ืืืืืขืื ืืืกืืจืช ืืื ื ืืืื ืื ืืื ืืจืืืช, ืื ืฉืขืืื ืืืฆืืจ ืืืกืื ืื ืขืงืื ืื ืกืจืืงืืช ืืคืชืืื ืืงืืืืืช ืฉืื ืืช ืืืืืคื ืืจืืืืช ืฉื CI.
ืืืืืืช ืืื ืืืช ื ืืืขืืช ืืืืื ืื ืืชืื ืืืืกืก ืืชืื ืืืช. ืืขืื ืฉ-Semgrep ืืืื ืืงืจื ืชืจืืืฉืื ืืกืืืืื ืฉื ืืจืืืช ื ืชืื ืื, ืืื ืืื ื ืืกืคืง ืืื ื ืกืื ืืืช ืฉื ืืชืืื ืืช ืืืื ืื ืืืืื ืฉื ื ืชืื ืืืืฆืืข. ืืชืืฆืื ืืื, ืืื ืืชืืื ืืืืชืจ ืืืืืคืช ืืืื ืืืช ืืคืืจืฉืช ืืืคืืกื ืกืืืื ืืืืขืื ืืืงืื ืืืืื ืืชื ืืืืช ืืชืคืชืืช. ืืืจืืืืงืืืจืืช ืืจืืื ืืืช, Semgrep ืืชืคืงื ืืฆืืจื ืืืืื ืืืืชืจ ืืืฉืจ ืืื ืืฉืืื ืขื ื ืืชืื ืกืื ืื ืื ื ืืชืื ืืืืข ืืชืืืช ืืขืืืง ืืืชืจ ืืืืืกืก ืขื ืืื ื ืืจืืจื ืฉื... ืืกืืืืช ืื ืืชืื ืืกืืื, ืชืื ืืืืื ืฉืืืืคืช ืืคืืกืื ืืฉืืืื ืืื ืืืืืคื ื ืจืืืช ืจืืื ืืืชืจ ืฉื ืกืืืื ืื.
CodeQL
ืืชืจ ืจืฉืื: CodeQL
CodeQL ืืื ืคืืืคืืจืืช ื ืืชืื ืกืืื ืืืืกืกืช ืฉืืืืชืืช, ืืืชืืืืกืช ืืกืจืืงืช ืงืื ืืืขืืืช ื ืชืื ืื ืกืื ืืืช ืืื ืืชืจืืื ืืชืืืช ืืืืื. ืืกืืืืืช CI ืืจืืื ืืืช, ืชืคืงืืื ืืืจืืืืงืืื ื ืืชืืงื ืืืืืื ืขืืืง ืฉื ืคืืืขืืืืช ืืืืืคืช ืืืื ืืืช ืืืืฆืขืืช ืฉืืืืชืืช ื ืืชื ืืช ืืชืื ืืช ืืคืืขืืืช ืขื ืืืฆืื ืืืื ื ืฉื ืืกืืก ืืงืื. ืขืืืจ ืืจืืื ืื ื-Ruby Estates, ืื ืืฆืื ืืช CodeQL ืืืคืฉืจืืช ื ืืชืื ืืืืืืช ืืืืื ืืืฉืจ ืืจืืื ืื ืืืจืฉืื ืืืฆืื ืืืืื ื ืืชื ืื ืืืกืืจ ืื ืืชื ืื ืืืืงืืจืช, ืืืืจืืื ืืืคืืกืื ืชืืืืจืืื.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, CodeQL ืคืืขื ืขื ืืื ืืคืืืช ืืกืืก ืืงืื ืฉื Ruby ืชืืืื ืืืกื ื ืชืื ืื ืืืืืฆื ืืื ื ืชืืื ืืช, ืืจืืืช ืืงืจื ืืืจืืืช ื ืชืื ืื. ืืืืจ ืืื, ืฉืืืืชืืช ืืืืฆืขืืช ืื ืื ืืกื ื ืชืื ืื ืื ืืื ืืืืืช ืคืืืขืืืืช, ืืคืืกืื ืื ืืืืืืืื ืืฉืืืืืช ืืืืืืช. ืืืื ืืืฆืืข ืื-ืฉืืื ืื ืืืืื ืืช CodeQL ืืกืืจืงืื ืืืืจืื ืืืชืจ, ืืืืืื ื ืงืืฆืื. ืืื ืืืคืฉืจ ืืืืื ืืืืืง ืืืชืจ ืฉื ืืขืืืช ืืืื ืืชืคืฉืืืช ื ืชืื ืื ืคืืืื, ื ืชืืื ืื-ืกืจืืืืืืฆืื ืื ืืืืืื ืืชืจืืืฉื ืืืจืงื ืืืจืืืื ืฉืขืืืื ืจืง ืืืฉืจ ื ืชืืื ืืืฆืืข ืืจืืืื ื ืืงืืื ืืืฉืืื ืืื.
ืืืคืืื ื ืืชืืืืจ ืชืืืืื ืืฉืืืื ืืคืืืคืืจืื ืืืืงืฉืจ ืืฉืืืืฉ. CodeQL ื ืฆืจื ืืืจื ืืื ืืืืฆืขืืช ืืจืืืืช ืขืืืื ืืฉืืืืืช ืฉื ืกืจืืงืช ืงืื, ืฉืืื ืืจืืฉืื ืงืฉืืจ ืืืืืื ืจืืื ืืืชืจ ืื ืืื ืืื ืคืืืคืืจืื ืืื ืืขืืืืช ืืคื ืคืจืืืงื. ืืืจืื ืขืืืืืช ืืจืืื ืืื ืืืืืื ืฆืจืืืช ืืืฉืื ืืืฆืืจืช ืืกื ื ืชืื ืื, ืืฉืคืขื ืขื ืืื ืจืืฆื ืฉื ืฆืื ืืจ ืื ืชืื ืื ืืชืงืืจื ืชืคืขืืืืช ืฉื ื ืืืื ืืืืืืช ืฉืืืืชืืช. ืืจืืื ืื ืืืืชืืื ืฉืืืืชืืช ืืืชืืืืช ืืืฉืืช ืืืืืื ืื ืืงืืช ืืืฉืืื ืืช ืืืืืืืืช ืืืืืืืช ืื ืืจืฉืช ืืชืืืืงื ืืืืืืืช ืฉืืืืชืืช ืืื ืืืืจื ืืื.
ืืืืฆืืข CI, CodeQL ืืฆืื ืฉืืงืืื ืงื ื ืืืื ืืืืืืืื. ืืฆืืจืช ืืกื ื ืชืื ืื ืืืืื ืืืืืช ืขืชืืจืช ืืฉืืืื, ืืืืืื ืขืืืจ ืืื ืืืืืื ืืืืืื ืฉื Ruby ืื ืืืืจืื ืขื ืืืกืืืจืื ืืืกืชืขืคืืช ื ืจืืืื. ืืชืืฆืื ืืื, ืืจืืื ืื ืืืืื ืื ืืขืชืื ืงืจืืืืช ืืื ืกืจืืงืืช pull-request ืืืืฆืขืืช ืกื ืฉืืืืชืืช ืืืืื ืืืื ืกืจืืงืืช ืืชืืืื ืืช ืื ืกืจืืงืืช release-branch ืืืจืืฆืืช ืืืืืืช ืฉืืืืชืืช ืจืืืืช ืืืชืจ. ืืืื ืืืฆืืข ืืืืจื ืื ืืืคืฉืจ ื-CodeQL ืืกืคืง ืชืืื ืืช ืขืืืงืืช ืืื ืชืคืืงืช CI ืืืจืืขื, ืื ืืื ืืืจืฉ ืชืื ืื ืืืขืืืช ืืืืื ืื ืขื ืฆืื ืืจืืช ื ืชืื ืื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืืืฉื ืืช ืืฉืืืืช ืืืืฉื ืฉื CodeQL. ืืืื ืืืื ืืจืืืืืืืช: ืฆืืืชื ืืืืื ืืืืืื ืืืืืืจ ืืืืืืฃ ืืขืจื ืขืงืื ืฉื ืฉืืืืชืืช ืืจืืื ืืืจืืื, ืืืื ืืืคืืืช ืืช ืืฉืื ืืช ืืืืืื ืคืืืขืืืืช. ืขื ืืืช, ืจืืืืืืืช ืื ืืืฆืจืช ืื ืชืืืช ืืฆืืืชื ืืคืืืคืืจืื. ืืื ื ืืืื ืืจืืจ, ืขืืืื ื ืฉืืืืชืืช ืขืืืืื ืืืจืื ืืงืคืืฆืืช ืื ืคืขืจืื ืืืชื ืฆืคืืืื ืืืฆืืืืช, ืื ืฉืืฉืคืืข ืขื ืืืืืื ืืฉืืจืืจ. ืื ืืกืฃ, ืืืกืื ืกืคืฆืืคื ื-Ruby, ืืืจืืช ืฉืืื ืืืง ืขืืืจ ืืืืงืืช ืคืืืขืืืืช ืจืืืช, ืขืฉืื ืืคืืจ ืืืจื ืฉืคืืช ืืจืืืืืช ืืืชืจ ืืืงืจื ืงืฆื ืืกืืืืื, ืืืจ ืฉืืฉ ืืืืืจ ืื ืืืืื ืืขืจืืช ืกืืืื ืื.
ืืืืืืช ืืื ืืืช ืื ืืขืืงืจ ืชืคืขืืืืืช ืืื ืื ืืืืืืช. CodeQL ืืื ื ืืืืขื ืืืืืืืช ืืฉืื ืืืืจืืช, ืืงืืืืืช ืืื ืืืคืชืืื, ืืคืจืืคืื ืืื ืืจืืฆื ืฉืื ืืืคื ืืืชื ืืคืืืช ืืชืืื ืืฉืขืจ ืืจืื-ืืืืื ืืื ืืืจืกืื. ืขืจืื ืืชืืื ืืืฉืจ ืืื ืืฉืืฉ ืืฉืืืช ืืืืงื ืขืืืงื ืืืฉืืืื ืืืื ืืืืจืื ืืืชืจ. ืืืฉืจ ืืื ืืืืงื ื ืืื, CodeQL ืืกืคืง ืืืจืืื ืื ืื ืื ืื ืจื ืขืืฆืื ืืืจืืจ ืืืื ืืืืืช ืืืฉืืื Ruby ืืจืื ืกืื ืืืช, ืชืื ืชืืืื ืืชืืืืืช, ืืืงืืจืชืืืช ืืืคืืชืช ืกืืืื ืื ืืืืื ืืจืื ืืืงืื ืืืืคื ืืืืืืืืช ืฉื ืกืื ืื ืงืื.
ืกืืจืื
ืืชืจ ืจืฉืื: ืกืืจืื
Sorbet ืืื ืืืืง ืกืืืื ืกืืื ืืืจืืชื ืขืืืจ Ruby, ืืฉืจ ืืื ืืก ืืืืข ืกืืืื ืืคืืจืฉ ืืืขืจืืช ืืงืืืืืืช ืืขืืช ืกืืืื ืืื ืืืื. ืืกืืืืืช CI ืืจืืื ืืืช, ืชืคืงืืื ืืืจืืืืงืืื ื ืืื ื ืืืืคื ืกืื ืื ืืช ืื ืืืืื ืคืืืขืืืืช, ืืื ืฉืืืื ืขื ืกืืืคืช ืืืฉืง ืืืืื ืฉืื ืื ืืชืืฉื. Sorbet ืืืคื ืจืืืื ืื ืืืฉืจ ืืขืจืืืช Ruby ืขืืืจืืช ืืื ืฉืืคืืฅ ืืืืืื, ืืืืืฅ ืฉืืจืืชืื ืื ืืืืจื ืืืฆืื ืฉื ืจืืฆื ืืงืืืื, ืืืฉืจ ืืืืื ืืจืืืืื ืืื ืจืืืืื ืื ืืงืืจ ืขืืงืจื ืืืฉืืื ืืืืจ ืืืืื ืืืืจื ืฉืืจืืจ.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, Sorbet ืคืืขื ืืืืฆืขืืช ืืขืจืืช ืืืืคืกืืช ืืงืืฆื ืืืฉืง ืฉื ืืฆืจื ืืืชืืจืื ืืชืืืืช ืืชืืื, ืงืืืขืื ืืืื ื ื ืชืื ืื. ืืชื ืืืืช ืืืืฆืืข ืฉืื ืืื ืืืจืืชืืช ืืขืฆื ืขืืฆืืื: ืฆืืืชืื ืืืืืื ืืืืฅ ืืืชื ืืืืคื ืกืืงืืืื, ืชืื ืืืฉืื ืืงืืื ืงืคืื ืืช ืขื ืืืืืืื ืืกืืืื ืืืื ืชืื ืืฉืืจืช ืืืืจืื ืืืงืคืืื ืืืงืืืื ืืืืคื ืจืืคืฃ. ืื ืืืคืฉืจ ืืืจืืื ืื ืืืงื ืืืืืืช ืงืจืืืืื ืืืื ืืืฉืงื ืฉืืจืืช, ืืืืืื ืฉื ืชืืืืื ืืกืคืจืืืช ืืฉืืชืคืืช ืืืื ืื ืกืืช ืืขืจืืช ืืืืืช ืฉื ืืกืืก ืืงืื ืืจืืฉ.
ืืืคืืื ื ืืชืืืืจ ืคืฉืืืื, ืืืืืื ืฉืกืืจืื ืืื ืงืื ืคืชืื. ืขืืืช ืืืจืืื ื ืืืขืช ืืืืืืฅ ืืืืฉื ืืื ืืจืืฉืื. ืืจืืืคืงืืื ืืกืืืื ืฉืื ืื ืืฆืืืื ืกืื ืืืฉ ืฉื ื ืืกืื ืืืืจืฉืื ืืขืืืช, ืกืงืืจื ืื ืืืื ืืืืืจ ืืืื. ืืื ืืืืืื ืืคืืจืฉืื ืฉื ืืืจืืืช, ืืจืืืคืงืืื ืืื ืขืืืืื ืืืคืื ืืืืืฉืืื, ืืขืจืขืจ ืืช ืืืืื ืืืืืงืืช ืกืื ืืืืฆืืจ ืืืืืืื ืืืฉืจ ืืฉืืื ื-CI ื ืจืืื ืื ืืชืงืื ืืืืฆืืืืช ืืืื ืจืืฆื.
ื-CI pipelines, ืคืจืืคืื ืืืืฆืืข ืฉื Sorbet ืชืืื ืืืืื ืจืื ืืืืงืฃ ืืืืืืฅ. ืืงืืื ืืืืืืช ืืืืืงืืช ืืืืืืช ืืืืื ืืคืขืื ืืืืืจืืช ืืืฆืืจื ืฆืคืืื, ืื ืฉืืืคื ืืืชื ืืืชืืืื ืืฉืื ืืื ืฉืขืจ ืืืืืจืื ืจืืืฉืื. ืืงืืื ืจืืื ืื ืงืคืื ืืช ืขื ืคื ื ืืกืืกื ืงืื ืืืืืื ืืืืจ ืงืืื ืืืืื ืืืืืื ืืช ืืื ืืจืืฆื ืืืช ืชืืืจืืช ืืืฉืืื, ืืืืืื ืืืงืืืืช ืืื ืืื-ืชืื ืืช ืฉื Ruby ืื ืืชื ืืืืช ืืื ืืืช ื ืคืืฆืื. ืืจืืื ืื ืืขืืชืื ืงืจืืืืช ืืืชื ืื ืืืช ืขื ืืื ืืคืจืืช ืืืืคืช ืกืืืื ืืฉืืื ืฆืื ืืจ ืืืขืืืืื ืืืงืื ืืืืืืข ืืืชื ืืืืคื ืืื ืืืจืกืื ืืฉืขืจื ืืจืื-ืืืืื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืืืฉื ืืช ืืืขื ืืืคืื ืฉื ืกืืจืื. ืืืฉืจ ืืื ื ืฉืื ืืืื, ืืื ืืกืคืง ืืืืื ืืืงืื ืฉื ืฉืื ืืืื ืฉืืืจืื ืฉืืื ืฆืคืื ืืืจืช ืืืืื ืืืืงืืช ืืื ืืืจืฆืื ืื ืคืจืืกืช ืืืฆืืจ. ืืืฉืจ ืืื ื ืฉืื ืืฆืืจื ืืจืืขื, ืืื ืืืื ืืืคืื ืืืงืืจ ืืืืื ืฉืืขืืื ืขืงืืคื ืืืงืืช ืื ืืฉืืชื ืกืืงืืืืืช. ืืขืืืืชื ืงืฉืืจื ืงืฉืจ ืืืืง ืืืืคื ืฉืื ืืืืืฅ ืืกืืืื ืืชืืืฉื ืขื ืืืืื ื ืืืืจืืืืืช ืืจืืืื ืืืืจืืืืช, ืงืฉืจ ืฉืืขืชืื ืงืจืืืืช ืฆืฃ ืืจื ืืืืืช ืืืจืืืืช ืงืืื ืืืืืืช.
ืืืืืืช ืืื ืืืช ื ืืืขืืช ืืืืื ืืืืช ืฉื ืจืืื. ืกืืจืื ืืื ื ืืืืื ืืืื ืืืืคื ืืื ืืชื ืืืืช ืฉื ืืฆืจืช ืืืื ืจืืฆื, ืงืื ืืื DSL, ืื ืืืื ืงืืคืื ื ืจืื ืืื ืืชืขืจืืืช ืืื ืืช. ืคืขืจืื ืืื ืืื ื ืฉืืืืื ืืช ืขืจืื, ืื ืื ืืืจืฉืื ืืืืจืืช ืืืืืืช ืืฆืืคืืืช ืืจืืจืืช. ืกืืจืื ืืขืืื ืืืืชืจ ืืืฉืจ ืืื ืืืืคืืช ืืื ืื ืื ืืงืจื ืฉื ืฉืืคืืฅ ืืืืืจื ืืืฆืื, ืืืืืฉื ืืืืืื ืืืงืื ืื ืืฆืืืืช ืืืืฉืง ืืฉืืื ืืืืชืจ, ืืื ืืืืืช ืชืงืื ืืช ืืื ืืืจืกืื ืืื ืงืื ืจืืื.
ืชึธืืึผื
ืืชืจ ืจืฉืื: ืชึธืืึผื
Steep ืืื ืืืืง ืกืืืื ืกืืื ืขืืืจ Ruby, ืืื ืื ืกืืื ืืขืจืืช ืืืงืืืืืืช ืฉื ืืชืืืช ืกืืืื ืฉื RBS, ืืืืงื ืืืชื ืืืกืืจืืืืืช ืืงืืื ืืืจืืชืืช ืืืืคืืช ืขื ืืืฉ ืืืง ืืืชืจ ืขื ืืืืื ืืฉืืชืคืื ืืืืืฆื ืื. ืืกืืืืืช CI ืืจืืื ืืืช, ืืชืคืงืื ืืืจืืืืงืืื ื ืฉื Steep ืืชืืงื ืืืืืืช ืืืฉืืื Ruby ืื ืื ืืคืจืื ืืืฉืง ืืืืืจืื ืืืคืืจืฉ, ืืืงืื ืืืืืืข ืืขืจืืช ืกืื ืืฉืืจืืช ืืงืื ืืืืฉืื. ืืืืื ื ืื ืืฉืืืืช ืืืืชืืืช ืขื ืืืฉื, ืืขืืืช ืืงื ื ืืืื.
ืืืืื ื ืคืื ืงืฆืืื ืืืช, Steep ืืขืจืื ืืช ืงืื ืืืงืืจ ืฉื Ruby ืืื ืงืืฆื RBS ืืืชืืจืื ืืืฉืงื ืืืืงื, ืืชืืืืช ืืชืืื ืืฆืืจืืช ื ืชืื ืื ืฆืคืืืืช. ืืคืจืื ืื ืืืคืฉืจืช ืืืจืืื ืื ืืืชืืืืก ืืืืืจืืช ืกืืืื ืืื ืคืจืืืื ืืืจืืืืืื ืืืฉืืจื ืืจืืฉืื ื, ืฉืืขืชืื ืงืจืืืืช ืืชืืืืงืื ืืฆื ืืืื API ืื ืืคืจืื ืกืคืจืืื ืืฉืืชืคืื. ืืกืืืืืช ืืจืืืืช ืฆืืืชืื, ืืืืจ ืืืื ืืฉืคืจ ืืช ืืืืืจืืช ืกืืื ืืืืืืช ืืืขืืืช, ืฉืื ืงืืฆื RBS ืืฉืืฉืื ืืืกืื ืจืฉืื ืืื ืืฆืจื ืื ืืฆืจืื ืื ืฉื ืจืืืืื ืืฉืืชืคืื.
ืืืคืืื ื ืืชืืืืจ ืคืฉืืืื, ืืืืืื ืฉ-Steep ืืื ืงืื ืคืชืื. ืขืืืช ืืืจืืื ื ืืืขืช ืื ืืืื ืืชืืืืช ืืื ืืฉืืืืฉ ืืืืื. ืืืืจื RBS ืืืืืื ืืืืืช ืืืืืืื, ืืขืื ืืจืกืืืช ืืืืชืืืื ืืืชืคืชืืืช ืืงืื ืืคืืขื. ืืื ืชืืืืืื ืืืืฉืืขืื, ืืชืืืืช ืขืืืืืช ืืคืืจ ืืืจื ืืืฉืืืื, ืืืฆืืจ ืืืืื ื-CI ืืืขืจืขืจ ืืช ืืืืื ืืืืืคืช ืืกืืืื. ืืชืืฆืื ืืื, ืืืืืฅ Steep ืืืจืฉ ืืขืชืื ืงืจืืืืช ืืืจืืช ืืืงื ืืืชืจ ืฉื ืืืฉื ืืืฉืจ ืืืฉืืช ืืงืืื ืืืืืขืืช.
ืืืืฆืืข CI, ืืชื ืืืืช ืืื ืืจืืฆื ืฉื Steep ืชืืืื ืืจืืื ืืืกืื ื-RBS ืืืืืจืืืืช ืืกืืก ืืงืื. ืืืฉืื ืืืืงื ืขื ืืืืืืช ืฉืืจืืช ืืกืคืจืืืช ืืฉืืชืคืืช ื ืืื ืืืืฆืจ ืชืืฆืืืช ืฆืคืืืืช ืื ืืืืืช ืจืขืฉ ืืืชืืืืืช ื-gating. ืืืฉืื ืจืื ืืืชืจ ืขื ืคื ื ืืขืจืืืช Ruby ืืืืืช ืืืืจ ืงืืื ืืืื ืืืืจืื ืืช ืืื ืืกืจืืงื ืืืืฆืืจ ืืฉืืื ืชืืืคืื ืฉืืื ืืืชื ืืืืช ืืืื ืืืช ืืื ื ืืขืืฆืืช ืืจืืื. ืืจืืื ืื ืืขืืชืื ืงืจืืืืช ืืืฆืขืื ืืืืงืืช Steep ืืื ืืืจืืฅ ืขื ืขื ืคื ืืื ืืืจืฆืื ืื ืฉืืจืืจ ืืืงืื ืขื ืื ืืงืฉืช ืืฉืืื ืืื ืืืื ืืื ืืืืืื ืืชืคืืงื.
ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื ืืืืืฉื ืืช ืืชืืืชื ืฉื Steep ืืกืืืืืช ืืื ืืืช ืืืืื. ืืจืืื ืื ืฉืืืจ ืื ืืืื ืืืืจืืช ืืืฉืง, ืืืฉืงื API ืืจืกืชืืื ืื ืืืืจื ืกืืืืช ืืฉืืชืคืื ืืืืื ืืขืชืื ืงืจืืืืช ืฉ-Steep ืืชืืืฉืจ ืืืืคื ืืืขื ืขื ืฉืืืืช ืขืืืื ืงืืืืืช. ืืขืืืช ืืืช, ืฆืืืชืื ืืืืจืืืื ืืืืืื ืื ืคืืจืืืืื ืืืืืืจืฆืืืช ืืืืจืืช ืขืืืืื ืืืืืช ืืืืืืื ืืืฉืจ ืชืืืืงืช ืืชืืืืช ืืืคืืช ืืชื ืื ืืืจืื ืืืืืื ืฉืื ืืืื. ืคืฉืจื ืื ื ืืืจืช ืืืืืื ืืืืื ืชืืื ืืืช ืืืืจื ืืืฆืื ืฉืืื ืืืฉืงืื ืืชืคืชืืื ืืืืืจืืช ืืคื ื ืืชืืืฆืืืช.
ืืืืืืช ืืื ืืืช ืืฉืงืคืืช ืืช ืืื ืฉื ืื ืืืขืจืืืช ืืกืื Ruby. Steep ืืื ื ืืืื ืืืกืืง ืืืืคื ืืื ืืชื ืืืืช ืฉื ืืฆืจืช ืืืืฆืขืืช ืืื-ืชืื ืืช ืืืื ืจืืฆื, ืจืฉืชืืช DSL ืื ืชืืงืื ื ืงืืคืื ื ืจืืืื ืืื ืืืืื ืืื ื. ืืื, ืขืจืื ืชืืื ืืืืืจืช ืืืงืฃ ืืืืจื. Steep ืืขืื ืืืืชืจ ืืืฉืจ ืืื ืืฉืืฉ ืืืืืคืช ื ืืื ืืช ืืืืืืืช ืืืืืจืื ืืืื, ืชืืืื ืืฉืืคืืฅ ืืืืชืคืชืืืช ืฉืืจืืชืื, ืืื ืืคืชืจืื ืืืจืฃ ืืื ืงืื Ruby. ืืืฉืจ ืืื ืืืืงื ืืชืคืงืื ืื, ืืื ืืกืคืง ืืืจืืื ืื ืื ืื ืื ืงืคืื ื ืืฉืืืื ืืกืืฃ ืืืฉืง ืชืื ืฉืืืจื ืขื ืืืืืฉืืช ืืืืืขื ืฉื Ruby.
ืืื ืืฉืืืืชื ืขื ืืื ื ืืชืื ืกืืืืื ืฉื Ruby ืชืืช ืืืฅ ืฉื CI ืืจืืื ื
ืืฉืืืื ืื ืืฆื ืื ืืืืืจื ืืืื ืืื ืื ืืชืื ืืกืืื ืฉื Ruby ืฉืื ืื ืืืืื ืช ืืชื ืืืืช ืืืืฆืืข, ืขืืืช ืืืืฉื ืืืชืืื ืืฉืืืจืช ืกืืืื ืื ืฉื CI ืืขืืืช ืืืืงืช ืกืืืื ืื ืขืืืงื. ืืืืื ืฉืืืื ืืืืขืืช ืืืืืืื ืคืืืคืืจืื ืืืืจืืืืงืื ืืืืจื ืืืฆืื ืฉืฆืจืืืื ืืืจืืื... ืชืืง ืขืืืืืช ืืืงืื ืืืืืจ ืืื ืืืื. ืื ืืื ืืฉืงืฃ ืืช ืืืฆืืืืช ืืชืคืขืืืืช ืฉื ืฆืคืชื ืืืืืืืช ืืืืืืช ืฉื Ruby, ืืืื ืจืืืฉืืช ืืืฉืืืืช ืฆืื ืืจ, ืชืงืืจื ืฉื ื ืืืื ืืืืื ืืืืืืช ืืืกืืง ืืกืงื ืืช ืืืื ืกืืืื ืื ืืขืืจ ืืงืืฆืื ืืืืืื.
ืืฉ ืืงืจืื ืืฉืืืื ืื ืืืืจืืฆืช ืืืฉืืจ ืืจืืืืงืืื ืืช, ืืื ืืจืฉืืื ืฉื ืชืืื ืืช. ืืืื ืฉื ืจืืื ืืืฉืื ืืืชืจ ืืืื ืืื ืืืชืืืื ืืจืื ืืืืืื ืืืื ืืืจ, ืืืืกืจ ืืืฉืืจ ืืื ืขืืฆืื ืืืืื ืืชืคืงืื CI ืืื ืืงืืจ ื ืคืืฅ ืืืืืื ืืืชื ืืืืช ืขืงืืคื ืืฆืื ืืจืืช ืืกืคืงื โโืืจืืื ืืื.
| ืืื | ืชืคืงืื ืขืืงืจื ื-CI | ืขืืืง ืื ืืชืื | ืืชื ืืืืช ืืืฆืืข | ืืชืืืช ืฉืขืจ CI | ืืฆืืืืช ืฉื ืงื ื ืืืื ืืจืืื ื | ืืืืืืช ืืื ืืืช |
|---|---|---|---|---|---|---|
| ืจืืืืงืืค | ืืฆืืจืช ืืืืืงืืช ืืืืืคืช ืืืื ืืืช | ืชืืืืจื ืืืื ื | ืืืืจ, ืืืืกืก ืงืืฆืื, ืืืจืืื ืืกืื | ืืืง ืขืืืจ ืฉืขืจื ืืจืื-ืืืืื | ืืชืจืื ืืืื ืืื ืืื ืืจืคื; ืืืจืฉ ื ืืืื ืชืฆืืจื | ืืื ืืจืืืช ื ืชืื ืื, ืืื ืืืืืื ืฉื ืืืฆืืข, ืชืืื ืืช ืืืืื ืืืืืืืช |
| ืกืื ืืจืืRB | ืขืืฆืื ืืขืืฆืื ืืืืืื | ืชึทืืึผึดืืจึดื | ืืืืจ, ืืขืชื, ืฉืื ืืช ื ืืืื | ืืืง ืขืืืจ ืฉืขืจื ืืจืื-ืืืืื | ืชืงืืจืช ืชืฆืืจื ื ืืืื; ืืฉ ืื ืื ืกืืฃ ืืจืืืื | ืืชืืื ืืืฉืืช ืืืืืืช; ืืื ื ืืชืื ืกืื ืื ืื ืืืืื |
| ืืื | ืกืจืืงืช ืืืืื ืฉื ืืกืืืืช | ืืจืืืช ื ืชืื ืื ืืืงืืช ืืืืืข ืืืกืืจืช | ื ืืชืื ืืงืืจืืช ืกืืื; ืืืชื ืชืืื ืืืื ืจืืฆื | ืืื ืื ื, ืืขืชืื ืงืจืืืืช ืชืืื ืฉืืจืืจ | ืืืช ืืืื ืขืืืจ ืืื ืืืืืื ืฉื ืืกืืืืช; ืืืงืฃ ืืืืื ืืืกืืืืช | ืื ืจืืืื ืื ื-Ruby ืฉืืื ื Rails; ืืืืง ืืืคืืช ืขื ืืื-ืชืื ืืช ืืื |
| Semgrep | ืืืืคืช ืืืื ืืืช ืืชืืืืืช | ืืจืืืช ื ืชืื ืื ืืืืืืช ืืืืกืกืช ืชืื ืืืช | ื ืืชื ืืืงืืืื; ืขืืืช ืชืืืืช ืืื | ืืืืฉ, ืชืืื ืืืจืืืช ืืืืืื | ื ืืชื ืืืจืืื ืืื ืืืืจืื ืฉืื ืื; ื ืืืื ืืืืืจ ืืื ืืืืืื ืืื ืงืจืืื | ืืืืืืช ืืคืืก ืขื ืืชื ืืืืช ืืชืคืจืฆืช; ืืืืกืื ืืฉืชื ื ืืคื ืจืื |
| CodeQL | ืืืืื ืขืืืงื ืื ืืชืื ืกืื ืื | ืืจืืืช ื ืชืื ืื ืฉืืื ืฉื ืืชืืื ืืช | ืื ืืืช ืืกื ื ืชืื ืื ืืชืืกืคืช ืืืฆืืข ืฉืืืืชื | ื ืืื ืืืืืื ืืงืืื; ืืืง ืืกืจืืงืืช ืืชืืืื ืืช | ื ืืืื ืืจืืื; ืืืจืืืืช ืืืฉืื ืืฆื ืจืช ืืืืื ืืืชืจ | ืชืงืืจื ืชืคืขืืืืช; ืืืืืืช ืืฉืื ืืืืืืช ืืืชืจ |
| ืกืืจืื | ืืงืจืช ืกืืฃ ืืืฉืง | ืืืืกืก-ืกืื, ืืืืงื-ืืืืืืช | ืืฆืืืจ; ืชืืื ืืืงืฃ | ืฉืขืจืื ืกืืงืืืืืื ืื ืชืืืื ืงืจืืืืื | ืขืจื ืืืื ืืืืื ืขืืืื ืืืืฉ; ืืืจืฉ ืืขืืืช ืขื ืืจืืืคืงืืื ืืกืืืื | ืืืืื ืืืืื ืฉื ืืชื ืืืืช ืืื ืืืช ืฉื ืจืืื |
| ืชึธืืึผื | ืืืืืช ืืืื ืืืืฆืขืืช RBS | ืืืืกืก-ืกืื, ืืื ืื-ืืคืจื | ืืขืจืืช ืืชืืืืช ืืชืืกืคืช ืืืืงืืช ืงืื | ืกืืงืืืื, ืืขืชืื ืงืจืืืืช ืืืืจ ืืืืื | ืืืง ืืืจืืื ืื ืืื ืขื ืืืืื; ื ืืจืฉืช ืืืฉื ืืชืืืืช | ืกืืืื ืกืืืคื ืฉื RBS; ืืคืืกืื ืืื ืืืื ืืืจืฉืื ืืืืื ืืื ื |
ืืืืคืืช ืคืืคืืืจืืืช ื ืืกืคืืช ืื ืืชืื ืกืืื ืฉื ืจืืื ืขืืืจ ืฆืจืื ืืจืืื ืื ื ืืฉื
ืืขืืจ ืืืื ืืืืื ืืืฉืืฉืื ืืฉืืืจืช ืกืฃ ืฉื CI, ืืืืคืช ืืืืื ืืืงืจืช ืกืืืื, ืืจืืื ืื ืจืืื ืืฉืืืืื ืืช ืชืืงื ืื ืืชืื ืืกืืื ืฉื Ruby ืฉืืื ืืืืื ืืืืืืื ืืืืคืืื ืืืฉืืื ืกืืืื ืฆืจืื ืืืชืจ ืื ืคืขืจืื ืืชืืืื ืขืืืื. ืืืืคืืช ืืื ืืขืืชืื ืจืืืงืืช ืืกืคืืงืืช ืืืงืจืืช ืขืืงืจืืืช, ืื ืื ืืืืืืช ืืืืืช ืืขืืืช ืขืจื ืืชืจืืืฉืื ืืืืงืืื ืืืื ื ืืืื ืกืืืื ื ืชืืืช, ืืืืื ืชืืืืงื ืื ืืืืืืช ืืฉืื ืืงืืืืืช ืืื ืืคืชืืื.
ืงืืืืจืื ืื ืจืืืื ืืืช ืืืืชืจ ืืืฉืจ Ruby ืืื ืืจืืื ืืื ืื ืืฃ ืคืืืคืืจืื ืจืื ืืืชืจ, ืื ืืืฉืจ ืกืืืื ืื ืกืคืฆืืคืืื ื ืืฆืืื ืืืืฅ ืืชืืื ืฉื ืกืจืืงืช ืืืืื ืืืืขืช ื-framework, ืืงืืื ืื ืกืจืืงืช ืืืืื ืืืืขืช ื-framework. ืืฉืืืืฉ ืืืืื, ืืืื ืืื ืืืืืื ืืืืง ืืช ืืืืกืื ืืืื ืืืืืืจ ืืช ืืจืขืฉ ืื ืชืืื CI ืงืจืืืืื.
ื ืืชืื ืกืืื ืืืื ืฉื Ruby ืืืืื ืกืืืืื ืืคื ืืงืจื ืฉืืืืฉ ื ืืฉื
- ืจืืื ืงืจืืืืง
ืืืกืฃ ืชืืฆืืืช ืืืืื ืืื Reek ืืื ืืืืฆืจ ืฆืืื ื ืชืืืืงื, ืืืื ื ืืืฉื ืื ืืชืื ื ืงืืืืช ืืืืช. ืฉืืืืฉื ืืืืชืจ ืืืืืืื ืื ืืืืืช ืืงืืืขืช ืกืืจื ืขืืืคืืืืช ืืืืฉ ืืืงืื ืืืืืืื. - ืฆึทืึฒื ึธื
ืืืืื ืจืื ืงืื ืืืืงื ืฉืืืจืชื ืืืฉืืฃ ืกืืืื ื ืชืืืืงื ืืชืื ืื. ืืฉืืฉ ืืขืชืื ืงืจืืืืช ืืชืื ืื ืืืืจื ืืืฆืื ืืืืืื ืืืขืืืื ืืฉืืคืืฅ, ืื ืืืจื ืืื ืืื ื ืืชืืื ืืืืืคืช CI ืงืคืื ืืช ืขืงื ืคืจืฉื ืืช ืกืืืืืงืืืืืช ืฉื ืืืชืืช. - ืืืงืืจืช ืืืืืืช
ืืืฆืข ืืืืงืืช ืคืืืขืืช ืชืืืืืช ืืื ืืืขืืฅ ืืืืข. ืืฉืืื ืกืืจืงืื ืืจืืช ืืงืื ืขื ืืื ืืชืืืืกืืช ืืกืืืื ืฉืจืฉืจืช ืืืกืคืงื, ืืืืืื ืืกืืืืืช ืืืกืืจืืช ืฉืืื ืืฉืืคื ืืฆื ืฉืืืฉื ื ืืืงืช ืืงืคืืื. - ืึฐืึทืืงืึนืช
ืืืื ืืช ืืืจืืืืช ืืงืื ืขื ืกืื ืฉืืืืฉ ืืืืคืจืืืจ ืืื ืขื ืกืื ืืืืื ืืื ืืื. ืืฉืืฉ ืืขืืชืื ืืืืืื ืืชืืืืช Ruby ืืืืจืืืืช ืืืืื ื ืงืืื ืืืืืืช, ืื ืื ืืชืืฆืืืช ืืืจืฉืืช ืคืจืฉื ืืช ืืงืฉืจืืช. - ืึดื ึฐืืึนืฃ
ืืืื ืืคืืืืืืช ืืื ืืืช ืืืกืืกื ืงืื ืฉื Ruby. ืฉืืืืฉื ืืืืื ืืืืืืช ืงืื ืกืืืืืฆืื ืื ืฉืืคืืฅ ืืืืฉ ืฉืืื ืืืืืงื ืืคืืื ืืืืืจื ืืช ืืกืืืื ืืชืืืืงื ืืืคืืืื. - ืฉืืืืช ืขืืืื ืืืืืฆืืช ืขืืืจ ืืกืืืืช
ืืกืคืง ืืืืงืืช ืืืืกืกืืช ืืืืจืืกืืืงื ืขืืืจ ืชืื ืืืช ืื ืื-ืกืคืฆืืคืืืช ื-Rails. ืืืื ืืืฆืืข ืืฉืื ืืืืจ ืืืืฉืืื Rails ืืืืจ ืงืืื, ืื ืืืืืช ืืืืช ืืฉืชื ื ืืืืคื ืืฉืืขืืชื ืขื ืืื ื-framework ืืืชืืื ืืืฉืืช. - ืื ืชืื SonarQube Ruby
ืืฉืืื ืืคืืืคืืจืืืช ืืืืืช ืจื-ืืฉืื ืืืช ืจืืืืช ืืืชืจ. ื ืืืจ ืืขืชืื ืงืจืืืืช ืืืืืื ืืจืืื ืืขืงืืืืช ืืื-ืืฉืื ืืช, ืื ืขืืืง ืืืืืื ืื ืืื ืืช ืืืืฆืืข ืฉื ืจืืื ืขืฉืืืื ืืคืืจ ืืืจื ืืืื ืืืขืืืืื.
ืืืืืฆื ืืจืืื ืืืฉืคืืขืื ืขื ืืืืืฅ ื ืืชืื ืกืืื ืฉื ืจืืื
ืกืืืืืช ืืจืืื ืืืช ืฉื Ruby ืืืืฆืืช ื ืืชืื ืกืืื ืืชื ืืื ืืฉืื ืื ืืืืคื ืืืืชื ืืคืจืืืงืืื ืฉื ืฆืืืชืื ืงืื ืื ืื ืคืจืืืงืืื ืืืฉืื. ืืืืืืฆืื ืืืขืฆืืื ืืช ืืืืืืฅ ืื ืืขืืชืื ืจืืืงืืช ืืื ืืื ืืคื ื ืขืฆืื. ืื ื ืืืขืื ืืงื ื ืืืืื ืฉื ืืืกืคืงื, ืืืื ื ืืืจืืื ืืืืืื ืืจืืงืฆืื ืืื ืืชื ืืืืช ืืืืจ ืงืืื ืืฆืืคืืืช CI ืืืืจื ืืืช. ืืืืืฉืืช ืฉื Ruby ืืืืืจื ืืช ืืืืฆืื ืืืื ืืืืืื ืฉืืืื ืกืืืืื ืืืืืื ืืคืขืื ืืืขืจืืืช ืืงืืืืืืืช ืฉืืื ืืืกืืืืช, ืชืฆืืจืช ืืื ืจืืฆื ืืืื-ืชืื ืืช ืืชืงืืืืื ืืื ืขื ืืืืืช ืืื ืื ืืืืืจืื ืืืกืคืงื.
ืืืืืฅ ื ืืชืื ืกืืื ืืืคื ืืคืื ืืชืจืืื ืฉื ื ืืืื ืืืืืฆืื. ืืืื ืืืืืื ืืืชืืื ืืฆืื ืืจืืช CI ืงืืืืื ืืืื ืืขืจืขืจ ืืช ืืชืคืืงื, ืืืชืืื ืืืจืืฉืืช ืืืืฉื ืืืืืงืืจืช, ืืืคืขืื ืืฆืืจื ืืืื ื ืขื ืคื ื ืืืืืืช Ruby ืืืจืืื ืืืช ืืืืืืืช ืืขืชืื ืงืจืืืืช ืืื ืืืืืื, ืืขืจืืืช ืขืืืื ืจืงืข, ืืื ื ืื ืืฉืืชืคืืช ืืฉืืจืืชื API. ืืืฆืื ืืื ืืกืืืจืื ืืืืข ืืจืืื ืื ื ืืืื ืืืืฅ ืชืืงื ืืืื ืืื ืคืชืจืื ืืช ืืืืืื, ืืืืืข ืืกืืจืืืืืช ืืืืคื ืืชืคืชืืืช ืขื ืืืื ืืืงืื ืืืืืช ืงืืืขืืช ืืคืจืืกื ืืจืืฉืื ืืช.
ืืืฅ ืชืคืืงื ืฉื CI ืืืจืืฉืืช ืฉืืืจืช ืกืฃ ืืืจืืื ืืกืืืืช
ืืื ืืืืืืฆืื ืืืืืื ื ืืืื ืืืฉืคืืขืื ืขื ืืืืืฅ ื ืืชืื ืกืืื ืฉื Ruby ืืื ืจืืืฉืืช ืืชืคืืงื ืฉื CI. ืืกืืืืืช ืืจืืื ืืืช, ืฆืื ืืจืืช CI ืืฉืจืชืื ืืืืช ืื ืืืคื ืืืืืืื ืืืืืื ืืื ืฆืืืชืื ืืจืืืื. ืื ืืื ื ืืชืื ืกืืื ืฉืืฆืื ืืฉืืืื ืืืชื ืฆืคืืื ืื ืชืืฆืืืช ืื ืืืจืืื ืืกืืืืช ืืืคื ืืืืืจืืช ืืฆืืืืจ ืืงืืืง. ืืืืืฅ ืื ืืขืฆื ืื ืจืง ืืช ืืืืจืช ืืืืื ืืื ืื ืืช ืืืืคื ืืืืื ืืืื ืืืืฆืขืื ืืชืื ืืฆืื ืืจ.
ืืื ืืจืื ืืคืืจืืืืจืื ืฉื Ruby ืืืืืฆืื ืืขืชืื ืงืจืืืืช ืชืืืื ืืืืืื ืฉืื ืืกืคืงืื ืืืคืืื ื ืืืฆืืข ืืืจืืื ืืกืืืื. ืืืงืฃ ืื ืืชืื ืฉืืื ืืืืื, ืืื ืืจืืฆื ืืฉืชื ื ืืืืคื ืืื ืืืจื ืขื ืกืคืืจืช ืืงืืฆืื, ืืืฆืื ืืืฉื ื ืืชื ืื ืืืืืื. ืื ืืืคื ืืืชื ืืืชืืืืื ื-pre-merge gating ืงืคืื ื. ืขื ืืืช, ืืจืืื ืื ืืืืื ืืขืชืื ืงืจืืืืช ืฉืืืกืคืช ืื ืชืืื ืขืืืงืื ืืืชืจ ืืืืชื ืฉืื ืืืืฆืจืช ืืฉืืืืช ืื ืืืืื ืืช. ืกืืจืงื ืืืืื ืืื ืชืืื ืกืื ืืืื ืขืฉืืืื ืืืฉืชื ืืช ืืืื ืืจืืฆื ืืืชืื ืืืื ื ืืงืื, ืจืืืืืฆืืืช ืืชืืืช ืื ืืืจืืืืช ืืืืืื, ืื ืฉืืืืื ืืืืืจืช ืืชืืจืื ืืืืชื ืืืืช ืขืงืืคืช ืืืคืชืืื.
ืืืืืืฅ ืืื ื ืจืง ืืืืจืืช ืืื ืื ืืืืืช ืืืืื. ืืขืื CI ืืงืืงืื ืืืืืืื ืฉืื ืชื ื ืชืื ืืกืืื ืืช ืืืฉืืื ืืชืื ืืืื ืืื ืืืืื ืืื ืงืฉืจ ืืืืืื ืืืืืจ. ืืืฉืจ ืืืืืื ืื ื ืฉืืง, ืืืืืคื ื ืืืฉืช. ืืคืืก ืื ืงืฉืืจ ืงืฉืจ ืืืืง ืืืืืจืืช ืจืืืืช ืืืชืจ ืฉื ืืืื ืืกืคืงื, ืืืื ืคืืชืื ืืืืกืก trunk, ืฉืื ืืื ืืืจืฆืื ืชืืืคื ืชืืืื ืืืืืืืช ืืฉืื ืืืืจืืช ืื-gating ืืืืฉืืข, ืืคื ืฉื ืืื ื- ืคืฉืจืืช ืืืกืืจืืืืืช ืืกืชืขืคืืช.
ืืชืืฆืื ืืื, ืืจืืื ืื ืืืืงืื ืืืชืจ ืืืืชืจ ืืช ืื ืืชืื ืืกืืื ืฉื Ruby ืืฉืืืืช. ืืืื ืืืืจืื ืืืืจืืื ืืกืืืื ืคืืขืืื ืืฉืขืจื ืืืื, ืืขืื ืฉื ืืชืื ืขืืืง ืืืชืจ ืคืืขื ืืืืคื ืืกืื ืืจืื ื ืื ืขื ืขื ืคื ืฉืืจืืจ. ืคืืืื ืื ืืื ื ืืขืืคื ืืืื ืขืืืื ืืื ืชืืืื ืืื ืืช ืืืืืืฆื ืชืคืืงื ืฉื CI ืฉืื ื ืืชื ืืืชืขืื ืืื ืืงื ื ืืืื ืืืื.
ืืืืืืช ืจืืื ืืืืจ ืงืืื ืืืืกืื ื ืืชืื ืื ืืืื
ืืืืืฅ ืงืจืืื ื ืืกืฃ ืืื ื ืืืืืชื ืฉื ืืกืืกื ืงืื Ruby ืืจืืื ืืืื ืฉืงืืื ืืฉืืืืช ื ืืชืื ืกืืื ืืืืจื ืืืช. ืืขืจืืืช Ruby ืืจืืื ืืืช ืจืืืช ืืชืคืชืื ืืืืคื ืืืจืื ื ืืืฉื ืขืฉืืจ ืื ืืืชืจ, ืืฆืืจื ืืืืื ืืจืืืืื, ืืืืืงื ืืคืืื ืืืชื ืืืืช ืกืคืฆืืคืืช ืืืกืืจืช ืฉืืื ื ืืชืืขืืช ืืืื. ืืื ืกืช ื ืืชืื ืกืืื ืืกืืืืืช ืืืื ืืืฉืคืช ืืืกืื ืื ืืืื ืืืืืืื ืืืื ืืืืืืช ืืืืช ืืื ืืืืืืื.
ืชืืืืื ืืืืื ืืืืจ ืงืืื ื ืืืื ืืืืฆืจ ืืืืืืช ืืืืืืช ืืืชืจ ืฉื ืืืฆืืื, ืืืืืื ืืืืื ืืืืื ื ืชืืืืงื ืืืืจืืืืช. ืืื ื ืืชืื ืืืงืฃ ืืืืจ, ืืฆื ืื ืืืื ืืืฆืืฃ ืืช ืืฆืืืชืื ืืืืืืื ืืืืืื ืืืจืฃ. ืืืืืื ืืื ืืื ืืืืืช ืืชืืงืื. ืืืจืืื ืื ืืขืืชืื ืจืืืงืืช ืืฉ ืืช ืืื ืืืื ืื ืืชืืืืื ืืกืืืื ืืชืงื ืืช ืื ืืืืฆืืื ืืืืกืืืจืืื ืืคื ื ืืืืคืช ืืืืื ืืืฉืื. ืืชืืฆืื ืืื, ืืกืืจืืืืืช ืืืืืฅ ืืืืืืช ืืืื ืืื ืืื ืืืกืืืจื ืืืื ืฉืืืื ืฆืืคื ืคื ื ืขืชืื.
ืืื ืืืงื ืื ืืฉืคืืขื ืื ืขื ืกืจืืงืช ืืืืื. ืืืื ืกืคืฆืืคืืื ื-Rails ืขืฉืืืื ืืื ืื ืืืฆืืื ืืขืื ืจืืช ืืืืืื ืืืืื ืืืงืจืื ืงืื ืื ืฆืืื ืืืื, ืชืื ืืืืฆืช ืกืืืื ืื ืืืจืืืืื ืืชืืื ืืช ืืื ืืื ืืืชืืืืช ืืืฉืืช, ืืฉืืืืช ืจืงืข ืื ื ืชืืื ืงืื ืฉื ืืฆืจื ืืืืคื ืืื ืื. ืืจืืื ืื ืืืืืื ืืงืื ืืช ืืขืืืื ืฉืืืืกืื ืืืื ืืืงื ืืืขืฆื ืืืื ืืืช ืืืืคื ืืืชืื. ื ืืกืืื ืืืชืืืืก ืืืืกืื ืืืงื ืืืงืืฃ ืืืฆืจ ืืืืืื ืืืื ืืืืืื ืกืืืื ืื ืื ืืืืฉืจ.
ืืืกืจ ืืืืืืืช ืืืืกืื ืื ืืชืื ืืืืง ืืช ืืฆืืจื ืืืงืฉืจ ืืืจืืืื. ืืื ืืื ื ืืืื ื ืืฆืืื ืจืืืื ืืืืืืงื ืืฆืคืืคืืช ืืชืืืช, ืืจืืื ืื ืืชืงืฉืื ืืืืืื ืืืื ืืืฆืืื ืืฉืืืื ืืืืชืจ. ืืชืืจ ืื ืืฉืงืฃ ืืขืืืช ืฉื ืฆืคื ืืืืคืื ืชืืืช ืืงื ื ืืืื ืืืื, ืฉืื ืคืขืจืื ืื ืจืืืช ืืกืชืืจืื ืืช ืจืืืื ืืกืืืื ืื ืืืืืชื, ื ืืฉื ืฉื ืืงืจ ื ื ืืชืื ืืจืฃ ืืชืืืช.
ืืืฉื, ืืืงืืจืช ืืืชืืืช ืชืืืืืช
ืืืืืฅ ื ืืชืื ืกืืื ืฉื Ruby ืืืจืืื ืื ืืืืื ืื ืขื ืืื ืืจืืฉืืช ืืืฉื ืืืืงืืจืช ืืืืจืืืช ืืขืืจ ืืฆืืืชื ืื ืืกื. ืืขืื ืขื ืืื ืืชืืื ืืฆืืืช, ืืกืืืื ืื ืืืืืงืืจืช ืืคื ืืืืช ืืฆืคืื ืืืชืจ ืืืืชืจ ืืืขืงื ืืื ืฉืื ืืื ืงืื, ืชืืฆืืืช ื ืืชืื ืืืืืืืช ืฉืืจืืจ. ืืื ื ืืชืื ืกืืื ืฉืืื ื ืืืืืื ืืืืฆืจ ืชืืฆืืืช ื ืืชื ืืช ืืฉืืืืจ ืื ืืจืืืคืงืืื ื ืืชื ืื ืืืืงืืจืช ืืชืงืฉืื ืืฆืืืจ ืืืื ืืืืฅ ืืคืืชืื.
ืืืืืฅ ืื ืืฉืคืืข ืขื ืืืืจืช ืืืื ืืืคืืกื ืืื ืืืจืฆืื. ืืืื ืืืืืฆืจืื ืืืืืช ืงืจืืืื ืขื ืืื ืืืื ื, ืงืืื ืืฆืืื ืืฆืืืื ืืืืืืื ืขืงืืืื ืฉื ืืืืจื ืงืืื ืืืชืจ ืืฉืืืื ืืืจืืืืช ืขืืืื ืฉื ืืืฉื. ืืขืืืช ืืืช, ืืืื ืขื ื ืืงืื ืืืื, ืฉืื ืืื ืืืืื ืชืืืคืื ืื ืืชื ืืืืช ืชืืืืช ืกืืืื ืืกืืืื ืืช ื ืจืืืื ืืืืงืืจืช. ืืชืขืฉืืืช ืืคืืงืืืช, ืื ืืืื ืืื ืืข ืืืืืฅ ืืื ืงืฉืจ ืืืชืจืื ืืืื ื.
ืืืฅ ื ืืกืฃ ืขื ื ืืืื ืืืฉื ื ืืืข ืื ืืืื ืืืืืจ ืืื ืืืืืื. ืืจืืื ืื ืืืืืื ืืืคืืื ืฉืืืื ืขื ืืืขื ืืฆืืช ืืืืืื, ืืืฆื ืืืฆืืื ืืืืื ืื ืืืืฆื ืืชื ืืจืืืื. ืืื ื ืืชืื ืกืืื ืฉื Ruby ืืฉืชื ืื ืืืื ืืืืื ืช ืจืืช ืืชืืืื ืฉืืื ืืื. ืืืื ืืืืกืกื ืชืื ืืืช ืืืจืฉืื ื ืืืื ืืืืื. ืืขืจืืืช ืืืคืืก ืืืจืฉืืช ืืขืืืช ืขื ืืจืืืคืงืืื ืฉื ืืชืืื. ืืขืจืืืช Linter ืืืจืฉืืช ื ืืืื ืืจืกืืืช ืชืฆืืจื. ืื ืืื ืืื ืืฆืื ื ืื ืืืฉื ืฉืื ื ืฉืืืื ืืืชืืื ืืืฉืืืช ืืืจืืื ืืช.
ืืืฆืื ืืื ืืกืืืจืื ืืืืข ืืจืืื ืื ืืขืืชืื ืงืจืืืืช ืืฉืืืื ืชืืฆืืืช ื ืืชืื ืกืืื ืืชืืืืื ื ืืืื ืกืืืื ืื ืจืืืื ืืืชืจ ืืืงืื ืืืชืืืืก ืืืืื ืืืืชืืช ืืืคืชืืื ืืืื. ืืืืจื ืืื ื ืืืืื ืืืฆื ืืื ืืงืจื ื ืืชื ืช ืืืื ื, ืฉืื ืื ืืชืื ืชืืื ืืงืืืช ืืืืืืช ืืืงืื ืืืฆืืจ ืจืขืฉ ืื ืื ืืื.
ืืืจืืช ืืกืืจืืืืืช ืฉื ื ืืชืื ืกืืื ืฉื Ruby ืืฆืื ืืจืืช CI
ื ืืชืื ืกืืื ืฉื Ruby ืืฆืื ืืจืืช CI ืืจืืื ืืื ืืืืืฅ ืืื ืืฉืจืช ืืืจืืช ืืกืืจืืืืืช ืืคืืจืฉืืช ืืื ืืืฉืืื ืืืคืฉืืื ืฉื ืืืืืช ืงืื. ืืงื ื ืืืื ืืืื, CI ืืื ืื ืื ืื ืืงืจื ืืฉืืื ืืืืื ืฉืื ืืืื ืืืจืฉืื ืืืชืคืฉื ืืจื ืกืืืืืช ืืฉืืชืคืืช. ื ืืชืื ืกืืื ืืืคื ืืืื ืืื ืืคืื ืืืืืืืืืื ืืืืืืื ืืืืื ืื ืืืฉืคืืข ืขื ืกืืืื ืืืกืืจื ืืคื ื ืฉืืืชืืช ืืื ืจืืฆื ืืืื ืื. ืืื, ืืืืจืืช ืืื ืืขืืช ืืช ืืืืืืฅ ืชืืืืืช ืงืฉืจ ืืืืง ืขื ืืืืืช ืกืืืื ืื, ืืืืืช ืืืืื ืฉืื ืืืื ืืืฆืืืืช ืชืคืขืืืืช.
ืืืจืืช ืืื ืืขืืฆืืื ืขื ืืื ืืืฆืืืืช ืฉื ืืืฆืืข Ruby. ืฉืืืืจ ืืื ืื, ืืกืืจืืช ืืืืกืกืืช ืืืกืืืืช ืืชืฆืืจืช ืืื ืจืืฆื ืืคืืืชืื ืืช ืืืคืงืืืืืืช ืฉื ืืงืจืืช ืืื ืขืืช ืืจืืื. ืืชืืฆืื ืืื, ื ืืชืื ืกืืื ืืฆืื ืืจืืช ืืืืกืกื Ruby ืฆืคืื ืืชืืื ืืืืืคื ืืืืื ืช, ืืืชืืช ืกืืืื ืื ืืืงืื ืืชืืืื ืืงืืืช ืืืืืืช ืืื ืืืืืืืช ื ืืื ืืช ืืืืืืืช. ืืชืืื ืืืช ืืืฆืืืืืช ืืืืชืจ ืืืืืจืืช ืืืจืืช ืืื ืืืคืืจืฉ ืืืืืจืืช ืืืื ืื ืงืืืืช ืืืืคื ืืืชืื.
ืืืืคืช ืืชื ืืืืช ืืืืื ืฆืคืืื ืืืื ืืคืืืข ืืชืคืืงื
ืืืช ืืืืจืืช ืืขืืงืจืืืช ืฉื ื ืืชืื ืกืืื ืฉื Ruby ื-CI ืืื ืืืืืฃ ืืชื ืืืืช ืืืืื ืฆืคืืื ืชืื ืฉืืืจื ืขื ืชืคืืงืช ืฆืื ืืจ. ืืจืืื ืื ืืกืชืืืื ืขื CI ืืื ืืชืืื ืืื ืฉืื ืืืื ืืชืืจืื ืืฆืืืชืื ืืจืืืื. ืืื ื ืืชืื ืกืืื ืืืฆืืื ืืื ืืืคืืืช ืืช ืืกืืืจืืช ืฉืฉืื ืืืื ืืืืืืช ื ืืืื ืื ืืกืืืื ืืืื ืืืื ืกื ืืขื ืคืื ืืฉืืชืคืื, ืื ืขืืืื ืืขืฉืืช ืืืช ืืืื ืืืื ืืก ืขืืืืืื ืฉืืคืืขื ืืงืฆื ืืืื ืืืจืฆืื.
ืืืจื ืื ืื ืืขื ืืช ืืืืืฅ ืื ืชืืื ืืืืจืื ืืืืจืืื ืืกืืืื ืืฉืขืจื ืืจืื-ืืืืื ืืืื. ืืื ืืจืื ืืคืืจืืืืจืื ืืืืงืืื ืืืจื ืืื ืืื ืืืืืื ืฉืืืคืืื ื ืืืืฆืืข ืฉืืื ืืฆืืืื ืืืฆืื ืืืฉื ืฉืืื ืงืืื ืืคืืจืืฉ. ืืขืจื ืืืกืืจืืื ืืื ื ืืืื ืืขืืืง ืื ืืชืื ืืื ืืขืงืืืืช ืืืืืคื. ืืืฉืจ ืืคืชืืื ืืืืืื ืืืืืช ืืืฆื ืืื ืืชื ืื, ืืชืืืืืช ืขืืื ืืืชื ืืืืช ืืขืืงืฃ ืคืืืชืช.
ืขื ืืืช, ืืืืคืช ืืืืืช ืืืืื ืืืจืฉืช ืฉืืืื ืงืคืื ืืช ืืืืงืฃ. ืืจืืื ืื ื ืชืงืืื ืืขืชืื ืงืจืืืืช ืืืฆืืื ืืื ืืื ืืกืืื ืืื ืืช ืื ืืชืื ืืขืืืง ืืืชืจ ืื ืืื ื ืืชืืื ืืืืื ื ืชืคืขืืืืช ืืืืฆืืข ืชืืืฃ. ื ืืกืืื ืืืืืฃ ืืืืงืืช ืืืืื ืื ืกืื ืืืงื ืขืืืงืืช ืืืืชื ืฉืื ืฉื ืฉืขืจืื ืืืืจืื ืืืจื ืืขืชืื ืงืจืืืืช ืืขืืืก ืืชืืจืื ืืื ืืชืืง ืกืืงืืืื. ืืื, ืืืืจื ืืืกืืจืืืืช ืืื ื ืืืืื ืืงืกืืืื ืืื ืืืจืจืืช ืืืื ื ืฉื ืฉืื ืืืื ืชืืช ืืืฅ ืืื.
ืืืจื ืื ืืฉืคืืขื ืื ืขื ืืืคื ืืืืืฉ ืืืืฆืืื. ื ืืชืื ืกืืื ืืืฉืืฉ ืื ืืืื ืชืืืืื ืืืืื ืืืื ืืืืฆืจ ืืืชืืช ืื-ืืฉืืขืืื ืืจื-ืคืขืืื. ืืืฆืืื ืืืืจืฉืื ืคืจืฉื ืืช ืืจืืืืงืืื ืืช ืื ืืงืฉืจ ื ืจืื ืขืืืฃ ืืืืืช ืืฉืืืื ืืืืืจืื ืืืชืจ. ืืชืืืืกืืช ืืื ืืืืฆืืื ืืกืืืืื ืืฉืืืื ืคืืืขืช ืืชืคืงืื ืฉืืืจืช ืืกืฃ ืฉื ืืขืจืืืช ืืืืข ืืื ืืืืื ืืืืช (CI) ืืืขืืืจื ืืช ืืกืืืื ืืืืจื ืืืจื ืืืงืื ืืืื ืืืชื.
ืืคืืชืช ืขืืืืืช ืชืืงืื ืืืืจ ืืืืื ืืืืจื ืฉืืจืืจ
ืืืจื ืืจืืืืช ื ืืกืคืช ืืื ืืคืืชืช ืขืืืช ืืชืืงืื ืืืืจ ืืืืื ืื ืฉืืจืืจ ืฉืื ืืืื. ืืืขืจืืืช Ruby ืืจืืื ืืืช, ืืืจืืขืื ืจืืื ืืขืื ืืฉืคืขื ืืืืื ื ืืืขืื ืืฉืื ืืืื ืฉืขืืจื ืกืงืืจื ืืกืืกืืช ืื ืืฆืจื ืืื ืืจืืงืฆืื ืืจืืขื ืขื ื ืชืืื ืงืื ืงืืืืื, ืชืืืืืช ืื ืืชื ืืืืช ืืื ืจืืฆื. ื ืืชืื ืกืืื ืฆืคืื ืืืฉืืฃ ืกืืื ืืขืืืช ืฉืืืจืช ืืื ืฆืฆืืช ืจืง ืืืืื ืืืืงืืช ืืื ืืืจืฆืื ืื ืคืขืืืช ืืืฆืืจ.
ืืืจื ืื ืืฆืืืงื ืืืืืช ืืื ื ืืชืื ืขืืืงืื ืืืชืจ ื-CI, ืื ืืืฉืจ ืื ืืื ื ืืชืืืืื ื-pre-merge gating. ืกืืจืงื ืืืืื, ืื ืชืืื ืกืื ืืืื ืืืืืงื ืกืืืื ืืืืงืืื ืืขืชืื ืงืจืืืืช ืื ืฉืืคืขืื ืขื ืขื ืคื ืืื ืืืจืฆืื ืื ืืืขืืืื ืืฉืืจืืจ, ืฉืืื ืืืฅ ืืชืคืืงื ื ืืื ืืืชืจ ืืืืืฆืืื ืืืืืื ืืืืืื ืืืืืืืช ืืืื ืืืฉื ืื ืื-ืืืฉื. ืืขืจื ืืืกืืจืืื ืืืื ืื ืจืืืช ืืืงืืืช ืืืชืจ, ืืื ืืืืงื ืืืกืืื ืืืงืืืช ืืืชืจ.
ืืคืืชืช ืขืืืช ืืชืืงืื ืชืืืื ืื ืืืืคื ืฉืื ืืืืฆืืื ืืืฆืืื ืืืงืฉืจ. ืืจืืื ืื ืืจืืืืืื ืืืฉืจ ื ืืชื ืืงืฉืจ ืชืืฆืืืช ื ืืชืื ืกืืื ืืจืืืืื ืืืฉืคืขืื, ืืืืืืช ืืขืืืช ืืืืงืฃ ืืฉืื ืื. ืืื ืืงืฉืจ ืื, ืืืฆืืื ืืืืขืื ืืืชืจืืืช ืืืืืืืช ืืืืจืฉืืช ืืงืืจื ืืื ืืช, ืื ืฉืคืืืข ืืืชืจืื ืืขืืืช ืฉื ืืืืื ืืืงืื. ืืชืืจ ืื ืงืฉืืจ ืงืฉืจ ืืืืง ืืืืืฆืื ืจืืืื ืืืชืจ ื... ืืื ืืงืืช ื ืืชืื ืืฉืคืขื, ืืืฉืจ ืืื ืช ืืืฉืคืขืืช ืืืืจื ืืืจื ืงืืืขืช ืืื ืืืชืืช ืืืงืืืื ืืชืืจืืืื ืืืืืืืช ืืขืฉืืืช.
ืืื, ืืืืจื ืืื ืืคืืื. ืืืืืช ืืขืืืช ืืืงืื ืืืชืจ ืืืื ืืจืืฆื, ืืืืฆืื ืืืชื ืืืืคื ืฉืืคืืืช ืืช ืืืืฅ ืืืงืืจื. ืืืื ืฉืขืืืืื ืจืง ืืงืจืืืจืืื ืืจืืฉืื ืืจืื ืืื ื ืืฆืืืืื ืืกืคืง ืืช ืืชืืขืืช ืืืืืืืช ืืฆืคืืื.
ืชืืืื ืืืืืืืช ืืืืจื ืืืฆืื ืืจืืคืงืืืจืื ื ืืืืงืจ
ื ืืชืื ืกืืื ืืฆืื ืืจืืช Ruby CI ืืืืืฅ ืื ืืื ืืชืืื ืืืืืืืช ืืืืจื ืืืฆืื ืืฉืืคืืฅ ืืขืจืืืช ืืจืืืืช ืืืื. ืืจืืื ืื ืืขืืชืื ืจืืืงืืช ืืืืจื ืืืื ืืขืจืืืช Ruby ืืืืฆืขืืช ืฉืืชืืืื ืกืืืื ืืืื. ืืืงืื ืืืช, ืื ืืืฆืขืื ืฉืืคืืฅ ืืืจืืชื, ืืืืฆืื ืฉืืจืืชืื ืืืืืืคืื ืจืืืืื ืชืื ืฉืืืจื ืขื ืืกืคืงื โโืจืฆืืคื. ื ืืชืื ืกืืื ืืืคื ืืืขืงื ืืืืืืช ืืืกืืืข ืืื ืืขืช ืจืืจืกืืืช ืื ืืืืื ืืช ืืืืื ืืขืืจืื ืืื.
ืืืงืฉืจ ืื, ืืืืจื ืืื ื ืืืืคืช ืืืืจ ืกืื ืื ื, ืืื ืฉืืืื ืืืฉืคืขืช ืืฉืื ืื. ืืืืงืช ืกืืืื, ื ืืชืื ืชืืืช ืืืืชืืช ืชืืืืงื ืขืืืจืื ืืฆืืืชืื ืืืืืช ืืืื ืืจืืื ืืกืืืื ืฉื ืฉืืคืืฅ ืืืืื ื ืืจืฉ ืืืืืช ื ืืกืฃ. ืฆืื ืืจืืช CI ืืฉืืฉืื ืื ืงืืืืช ืืงืจื ืืืืืคืืช ืืฉืืขืช ืืชืงืืคืืช ืฉื ืฉืื ืื ืืจืืืืงืืื ื.
ืืืจื ืื ืืืจืฉืช ืืืื ื ืืชืื ืกืืืืื ืืคืขืื ืืืืคื ืขืงืื ืืงืื ืืฉื ืืืืฉ. ืื ืืืื ืคืืขืืื ืืืื ืจืง ืขื ืืืืืืื ืฉืขืืจื ืฉืืคืืฅ ืืืืจืื ื, ืื ืืืฆืจืื ื ืงืืืืช ืืชืืช ืืชืืืืื ืืืืจ ืงืืื ืฉืืื ืืกืืืื ืืื ืืจืื ืืืืื ืืืืชืจ. ืืื, ืืจืืื ืื ืืขืืืคืื ืืืื ืฉื ืืชื ืืฆืืฆื ืืืืืืืช ืงืจืืืืื ืื ืืืืฉื ืืืชื ืืืืจืื ืืืื ืืืจืืฉ ืืืืืฅ ืืื.
ืืืฉืืืืช ืืืกืืจืืืืช ืฉื ืืืจื ืื ืืืืจืช ืืื ืฉืชืืื ืืืช ืืืืืจื ืืืฆืื ื ืืฉืืืช ืขื ืคื ื ืืกืคืจ ืฉื ืื. ื ืืชืื ืกืืื ืืืคื ืืืืง ืืืืืืจืื ืืืืกืื, ืืืฉืืจ ืืืข ืขื ืืืฉืงืื, ืชืืืืืช ืืืืืืฆืื ืฉืืืจืช ืืื ืืืืืื ืืืฉืจ ืืฆืืืชืื ืืชืืืคืื. ืื ืืชืืืฉื ืงืฉืจ ืืืืง ืขื ืืฉืฉืืช ืจืืืื ืืืชืจ ืกืืื ืืืฉืืช ืืืืจื ืืืฆืื ืฉื ืืขืจืืช ืืืืจ ืงืืื, ืฉืื ืืืฉืืืืช ืืืชื ืืืืช ืืฉืืื ืื ืคืืืช ืืืงืืืื ืืืื ืืืืืืช.
ืืชื ืจืืืืช ืืื ื ืขืืืจ ืืขืื ืขื ืืื ืืชืืื ืืืืฉื ืืืกืืืื ืื
ืืืจื ืืกืืจืืืืช ืืืจืื ื ืืื ืืกืคืง ืจืืืืช ืืื ื ืขื ืืงืจืช ืกืืืื ืื ืืืขืื ืขื ืืื ืืืืฅ ืืื ืืกื. ืืืจืืื ืื ืจืืื, ืฆืื ืืจืืช CI ื ืืืงืื ืขื ืืื ืคืื ืงืฆืืืช ืกืืืื, ืชืืืืืช ืืืืงืืจืช ืืืืจืฉืืช ืืืืื ืื ืฉืื ืืืื ืืืขืจืืื ืืืืคื ืขืงืื ืืื ืกืืืื ืื ืืืืขืื ืื ืืืืื ืืืืคื ืืืืื. ื ืืชืื ืกืืื ืชืืจื ืืืืจื ืื ืขื ืืื ืืฆืืจืช ืืืฆืืื ืืืชืขืืื ืื ื ืืืง, ืืชื ืืขื ืืืื ืชืืฆืื.
ืืืจื ืื ืืฉืคืืขื ืขื ืืืืจืช ืืืืื ืืืจืืื ืขืืื ืืช. ืืืื ืฉืืืืฆืจืื ืชืืฆืืืช ื ืืชื ืืช ืืฉืืืืจ, ืกืืืืื ืืืืจื ืืฆืืืื ืืคืื ืงืจืื ืขื ืืื ืืืื ื ืงืืื ืืืชืจ ืืฉืืืื ืืืจืืืืช ืขืืืื ืฉื ืืืฉื. ืืืื ืืืกืชืืืื ืืืืื ืจืื ืขื ืคืจืฉื ืืช ืฉื ืืคืชืืื ืื ืืืืฆืจืื ืชืืฆืืืช ืืฉืชื ืืช ืืืื ืืกืืืื ืืช ื ืจืืืื ืืืืงืืจืช. ืืชืืฆืื ืืื, ืืืง ืืืืืื ืืขืื ืืืืืช ืืื ืืช ืืงืืืื ืขืืืคืืช ื ืืืื ืืืชืจ ืืฉืื ืฉืืื ื ืชืืืืื ืืช ืืจืืฉืืช ืืจืืืืช.
ื ืืชืื ืกืืื ืชืืื ืื ืืืืฉื ืขื ืืื ืืชื ืืคืฉืจืืช ืืฉืืืื ืืืืื ืช. ืืจืืื ืื ืืืืืื ืืืืืื ืฉืจืืืืื ืืขืื ืกืืืื ืืืื ืืืชืจ ืืคืืคืื ืืืืืงืืช ืืืืืจืืช ืืืชืจ, ืืขืื ืฉืชืืืืื ืืขืื ืกืืืื ื ืืื ืืืชืจ ืืคืืคืื ืืืืืงืืช ืงืืืช ืืืชืจ. ืคืจืืคืืจืฆืืื ืืืืช ืื ืืื ืงืจืืืืช ืืฉืืืจื ืขื ืืืืจืืช ืืกืคืงื โโืชืื ืขืืืื ืืฆืืคืืืช ืืคืืงืื.
ืืกืืคื ืฉื ืืืจ, ืืืืจื ืืืกืืจืืืืช ืืื ื ืืืื ืืช ืื ืืคืืืื, ืืื ืืืจืืืช ืฉืืกืืืื ืืืื, ืื ืืืจ ืืื ืืื. ื ืืชืื ืกืืื ืืฆืื ืืจืืช Ruby CI ืืฉืืฉ ืืืื ืืื ืื ืื ืื ืืืืืืื ืื ืืชื ืื ืืืจืืื ืืืฉืืช ืืืืื ืื ืืื ืืืืจืืช ืืฉืืืื.
ืชืจืืืฉืื ืืืืงืืื ืขืืืจ ืืื ื ืืชืื ืืืืืืื ืฉื Ruby
ืื ืื ืืื ืื ืืชืื ืืกืืื ืฉื Ruby ืืชืืื ื ืื ืืคืขืื ืืืืคื ืืืื ืขื ืคื ื ืื ืืขืจืืช ื-CI. ืืกืืืืืช ืืจืืื ืืืช, ืืคืืกื ืืืืืืฅ ืืืขืืืื ืืืืชืจ ืฆืฆืื ืืืฉืจ ืืืื ืืืชืืืื ืืชืจืืืฉืื ืกืคืฆืืคืืื ืฉืืื ืืืืืช ืืืืช, ืืชื ืืืืช ืืืืฆืืข ืืืืคืืื ื ืืืืฉื ืฉืืื ืชืืืืื ืืช ืืกืืืื ืืืืืคื. ื ืืกืืื ืืืคืืช ืื ืืื ืืชืื ืฉืขืจ ืืื ืืืจืกืื ืืืจื ืืื ืืืื ืืจืขืฉ ืืืืื ืื ืืืืืคื ืืืืืฉืช.
ืืืื ืืืขืืืืื ืืืคืืื ืืขืื ืขืจื ืจื ืืืืืื ืืืฉืจ ืืขืจืืืช Ruby ืืฆืืืืืช ืขื ืคืืืคืืจืืืช ืืืืจ ืงืืื, ืืจืืืืช ืขืืืื ืืืกืืจืืช ืื ืชืืื ืืืช ืืืืจื ืืืฆืื ืืจืืืืช ืืืื. ืืืงืฉืจืื ืืื, ื ืืชืื ืกืืื ืขืืกืง ืคืืืช ืืืืืคืช ืกืื ืืจืืื ืืืืืืืื ืืืืชืจ ืืืืจืช ืืฉืืื ืกืืืื ืกืคืฆืืคืืื ืฉืืืจืช ืงืฉื ืืฆืคืืื. ืืื ืช ืชืจืืืฉืื ืืื ืืืคืฉืจืช ืืื ืืืื ืืคืืืคืืจืืืช ืืคืจืืก ืืืื ืืืืืง ืืื ืืจืืื.
ืขืืืกื ืขืืืื ืจืืืฉืืช ืืืืืื ืฉื ืจืืืืช ื ืืฆืืื ืชืืช ืืืืงื ืจืืืืืืจืืช
ืืืฉืืื Rails ืืืขืืืื ืขืกืงืืืช ืคืื ื ืกืืืช, ื ืชืื ืื ืืืฉืืื ืื ืจืฉืืืืช ืืืกืืจืืช ืืฆืืืื ืชืจืืืฉ ื ืืชืื ืืืืืื. ืืืขืจืืืช ืืื, ืืขืืืช ืฉื ืคืืืขืืช ืฉืืืืืฆื ืืืืื ืืฉืืขืืชืืช ืืขืืืช ืฉื ืืกืคืงื โโืืืืืจืช. ืืื, ืกืืจืงื ืืืืื ืืืขืืืืื ืืชืืืืื ื-Rails ืืื ื ืืืฆืืื ืืืื ืืืืืช ืืืืจืืช ืืืืืืช, ืืื ืืืงืจืืช ืืืืงืืืช ืืืชืืงืืืช ืืืฉืืคื ืืกืืืื ืื ืืจืืช ืืืกืืจืช.
ืืชืจืืืฉ ืื, ืืขืจื ืืขืืงืจื ืฉื ืืืื ืืืขืืืืื ืืืื ืืืื ืชื ืืช ืืืืกืืืืช ืฉื Rails ืืืช ืืืชื ืืืืช ืืืจืืืืช. ืคืืืขืืืืช ื ืืืขืืช ืืขืืชืื ืงืจืืืืช ืื ืื ืชืืื ืงืื ืืงืืืืืื ืืื ืืฉืืืืฉ ืืจืขื ืขืืื ืืคืจืืืจืื, callbacks ืื ืฉืืืืช ืขืืืจ ืฉื ืจืืืช ืืืืืืช ืืืื ืจืืฉืื. ืกืืจืงืื ืื ืจืืื ืืขืืชืื ืจืืืงืืช ืืืฉืคืื ืืขืืืช ืืื ืืจืืช ืืืืง ืืกืคืงืช. ืกืืจืงืื ืกืคืฆืืคืืื ื-Rails ืืกืคืงืื ืืืฆืืื ืืขืื ืืืืืื ืืืื ืืืชืจ ืขื ืืื ืืืืื ืืืืคื ืฉืื ื ืชืื ืื ื ืขืื ืืจื ืืงืจืื, ืืืืืื ืืชืฆืืืืช.
ืืืืื ื ืชืคืขืืืืช, ืืืื ืืื ืืืืงืืื ืืขืืชืื ืจืืืงืืช ืืฉืขืจื CI ืืืืืจืื ืืืืชืจ. ืืืงืื ืืืช, ืื ืืืืฉืจืื ืขื ืฉืืื ืืืืงืืช ืืื ืืืจืฆืื, ืืืืืช ืืืขืืืื ืืฉืืจืืจ ืื ืกืจืืงืืช ืืชืืืื ืืช. ืืืงืื ืื ืืฉืงืฃ ืงืืื ืฉื ืืชืื ืืขืืืง ืืืชืจ ืืืจืฉ ืืืชืจ ืืงืฉืจ ืืืื. ืืืืจื ืืื ื ืืฉืื ืืืืื ืืืคืชืืื, ืืื ื ืจืืืช ืืืงืืืช ืฉื ืืกืืืื ืื ืืคื ื ืฉืืฉืื ืืืื ืืืืขืื ืืืืฆืืจ.
ืืจืืื ืื ืืฉืชืืฉืื ืืืืื ืืื ืื ืืื ืืชืืื ืื ืจืืืืื ืฉื ืชืืืืืช. ืืืืืืช ืืืืืื ืฉืืืฉืืื Rails ื ืกืจืงืื ืืืืคื ืฉืืืชื ืืืจ ืกืืื ืคืืืขืืืืช ืืืืขืื ืืืืงืช ืืช ืืืืืช ืืืื ื ืฉื ืืืืงืืจืช. ืื ืืฉืื ืืืืืื ืืฉืืืื ืขื ืจืืืืช ืืชืืืืื ืฉืืจืืจ ืืืืงืจืื ืืชืืืืื ืขืืืื ืืชืืขืืื ืืชืืงืื. ืืืจืืื ืื ืจืืื, ืืืฆืืื ืืกืืจืงื ืืืืื ืฉื Rails ืืืื ืื ืืฉืืจืืช ืืืขืจืืืช ื ืืืื ืคืืืขืืืืช ืืื ืืขืืืืืื ืฉื ืืคืชืืื.
ืืืืืื ืฉื ืชืจืืืฉ ืื ืืื ืืืืงืฃ. ืืืื ืืื ืืื ื ื ืืชื ืื ืืืืืื ืืจืื ืืขืืจ ื-Rails, ืืืืืช ืฉืืื ืืชืืจืืจ ืืืืฉืืืื ืืืชืืืื ืืืฉืืช ืื ืืชืืื ืชืื ืืืื. ืืชืืฆืื ืืื, ืื ืืขืืืื ืืืืชืจ ืืืฉืจ ืื ื ืคืจืกืื ืืืืคื ืกืืงืืืื ืืขืืืกื ืขืืืื ืฉืืื ืืืกืืืืช ืืกืืจืช ืฉืืืืืช ืืืฉืืคื ืจืืืืืืจืืช ืืฆืืืงื ืืช ืืืืจืืืืช ืื ืืกืคืช ืฉื ืฆืื ืืจ ืืชืงืฉืืจืช.
ืืืืจื ืืืฆืื ืืืจืืชืืช ืืขืืืื ืืืืฉ ืฉื ืืื ืืืืืื ืืืืืื ืฉื ืจืืื
ืืื ืืืืืื ืืืืืื ืฉื ืจืืื ืฉืขืืืจืื ืืืืจื ืืืฆืื ืืืจืืชืืช ืืฆืืืื ืชืจืืืฉ ืฉืื ื ืฉืื ืืื ื ืืชืื ืืืืืืื ืืืกืืคืื ืขืจื ืื ืคืจืืคืืจืฆืืื ืื. ืืืขืจืืืช ืืื, ืืกืืืื ืืจืืื ืื ืืฉืืจืืช ืงืื ืืืืืืช ืืื ืืืืืืืื ืืืืืืจืื ืื ืืื ืืืืคื ืืืืง, ืืคืฉืืืช ืืฉืืชืคืืช ืืชืืืช ืืจืืืืช ืืืื. ืฉืขืจื CI ืืกืืจืชืืื ืืจืื ืืื ื ืืฆืืืืื ืืืืื ืืช ืืกืืืื ืืืื ื ืืื, ืื ืฉืืืคืฉืจ ืืฉืื ืืื ืจืคืงืืืจืื ื ืืืคืืฅ ืชืืคืขืืช ืืืืื ืื ืืืืื ืืช.
ืืื ืชืืืืงื ืืชืืืช ืืืขืืืืื ืืืฆืืื ืืื ืืื ืืชืืื ืืงืืืช ืืืืืืช ืืื ืืืืืคื. ืชืคืงืืื ืืื ืืืืืช ื ืงืืืืช ืืืืช ืฉื ืฉืืคืืฅ, ืจืืืื ืืืืืงื ืืืืืจืื ืฉืืื ืกืืืจ ืืื ืื ืฉืืืืจืช ืฉืื ืืืื. ืืืืข ืื ืืืืืข ืืืื ืจืืืืื ืืฉ ืืขืืื ืชืืืื ืืืืื ืืืจืฉืื ืืืืืช ื ืืกืฃ ืืืืื ืืฉืื ืื.
ืืคืืขื, ืืืื ืืื ืคืืขืืื ืืืืฅ ืื ืชืื ืืืืืื ืืงืจืืื. ืื ืืืืฆืจืื ืืืืืช ืืืืืืฉืื ืืืืืช ืืืืจื ืืื, ืืืื ืืืจืืืืช ืืืืจืช ืื ืืคืืืืืืช ืืืืืืืื ืกืคืฆืืคืืื. ืฆืืืชื ืืืืจื ืืืฆืื ืืฉืชืืฉืื ืื ืชืื ืื ืืื ืืื ืืชืื ื ืืื ืฉืืคืืฅ ืืืืฉ ืืืืฆืืืง ืืฉืงืขื ืืืืฆืื ืืืืจืื ืืกืืืื ืืืื ืืคื ื ืืืืืฅ ืฉืืจืืชืื ืื ืืืืคืช ืจืืืืื.
ืชืจืืืฉ ืื ื ืื ื ืื ืืฉืืืื ืขื ืฉืืืืช ื ืืชืื ืืืจืืืื ืจืืืืช ืืืชืจ. ืืื ืช ืืืืคื ืฉืื ืจืืืื Ruby ืืงืืืืื ืืื ืืจืืงืฆืื ืขื ืืฉืืืืช ืืฆืืื, ืืขืจืืืช ืืขืืจืช ืืืืขืืช ืื ืืืฉืงื API ืืืฆืื ืืื ืืืื ืืช ืืขืช ืืืืจื ืืืฆืื ืืืจืืชืืช. ืคืืื ื ืืชืื ืกืืืืื ืืงืืืื ืขืจื ืืืฉืจ ืื ืืชืืืืื ืขื ื ืจืืืช ืืื ืืช, ืืืืื ืืืืฉืืช ืืืชืืืจืืช ื ืฉืืืืช ืืขืงื ืืืจ ืงืื, ืืืฉืจ ืงืืฉืืจ ืฉืื ืืื ืงืื ืืืชื ืืืืช ืืืขืจืืช ืืคืืืช ืืช ืืกืืืื ืืืืืจื ืืืฆืื.
ืืืืืื ืืชืจืืืฉ ืื ืืื ืืืืืืืืช. ืืืื ืืื ืืืขื ืืื ืืกืคืงืื ืืฉืื ืืขืฉื ืขืืืจ ืืงืฉืืช ืืฉืืื ืืืืืืช. ืืืืฆืืื ืฉืืื ืืืจืฉืื ืคืจืฉื ืืช ืืชืขืืืฃ, ืื ืฉืืืืื ืืช ืืชืืขืืช ืฉืืื ืืฉืขืจื ืืืฉื ืืืืืืืืื. ืขืจืื ืืืื ืืขืืฆืื ืืกืืจืืืื ืืื ืืืืืคืช ืชืืืืืช.
ืืืืคืช ืืืื ืืืช ืขื ืคื ื ืืืืืืช ืจืืื ืืจืืืืช ืฆืืืชืื
ืืจืืื ืื ืขื ืฆืืืชื Ruby ืจืืื ืืืืืจืื ืืชืืืืืื ืืขืืชืื ืงืจืืืืช ืขื ื ืืื ืืืืื ืืชืืืืืช ืื ืขืงืืืื. ืืชืจืืืฉ ืื, ืืื ืืืืคืช ืืืื ืืืช ืืืขืืืืื ืืืืืฆืื ืืื ืืงืืื ืืืืื ืืจืืื ืืื ืืืืืงืืช ื ืืชื ืืช ืืืืฆืืข ืืืืืช ืืืืคื ืืืื ืขื ืคื ื ืื ืืืจืืื. ืืืืจื ืืื ื ืืืืืช ืืขืืืช ืืืฉืืช, ืืื ืืื ืืข ืืืคืขืชื ืืืืฉ ืฉื ืืคืืกื ืกืืืื ืืืืขืื.
ืืืื ืืื ืืฆืืืื ืื ืืืฉืจ ืืืจืืื ืื ืืฉ ืืืื ืืืช ืืืืืจืช ืืืืจืืจ ืกืืื ืกืคืจืืืช ืืืืฉืจืืช, ืืืฉืงื API ืืกืืจืื ืื ืืืฆืขื ืืื ื ื ืืจืฉืื. ืขื ืืื ืืืืื ืืืื ืืืช ืื ืืืืืื, ืืจืืื ืื ืืคืืืชืื ืืช ืืชืืืช ืืกืงืืจืืช ืืื ืืืช ืืืืืืจืื ืืืกืื. ืืืืื ืืืคืืื ืืื ืื ืื ืืืืคื ืืืืืจ ืฉืืชืคืชื ืืืชืื ืืืกืคืจ ืืฆืืืชืื.
ืืฆืืื ืชืคืขืืืืช ืืชืจืืืฉ ืื ืชืืืื ืื ืืืื ืืืืื. ืืฉ ืืฉื ืืช ืืจืกืืืช ืฉื ืืืื ืืืช, ืืืืืง ืืืชื ืืืืืฆืื ืืืชื ืืืฉืืืืฉ ืืื ืฉืืืจืืืืงืืืจืืช ืืชืคืชืืืช. ืืื ืืืจืืืช, ืืขืจืื ืืืืื ืืืคืืื ืืืืืฉื ืื ืืืืฆืจืื ืจืขืฉ ืฉืคืืืข ืืืืื. ืืจืืื ืื ืฉืืฆืืืืื ืืื ืืชืืืืกืื ืืืืื ืืืื ืืืช ืืื ืืืฆืืื ืืืื ืืืขืืืช ืฆืืืชื ืคืืืคืืจืื ืื ืืืืื ืืื ืืื ืชืฆืืจืืช ืกืืืืืช.
ืืืืงืื ืืฆืื ืืจ CI ืืฉืชื ื. ืืจืืื ืื ืืกืืืืื ืืืืคืื ืืืื ืืืื ืืืช ืืฉืขืจื ืืจืื-ืืืืื ืขืืืจ ืืืืจืื ืงืจืืืืื, ืืขืื ืฉืืืจืื ืืืืฉืืื ืืืชื ืืืืจ ืืืืืื ืขื ืืจืืืืช ืขืืืื ืฉื ืืกืืื. ืืืืืื ืืฉืงืคืช ืกืืืื ืืช ืืืืืื ืืขืืืช ืกืืืื. ืืื ืืงืจื, ืืขืจื ืฉื ืืื ืืืื ืืืช ืืืขืืืืื ืืืื ืืขืงืืืืช ืืื ืืขืืืง.
ืืืืืื ืืื ืจืืช ืืืืขื. ืืื ืืืื ืืืช ืืืืกืกื ืืคืืกืื ืืื ื ืืืืืื ืืืื ืืืืคื ืืื ืืชื ืืืืช ืืชืคืชืืช ืื ื ืชืืื ืืืฆืืข ืืืจืืืื. ืื ืืชืืืืื ืืืืชืจ ืืืืืคืช ืืืกืืจืื ืืืจืืฉืืช ืืคืืจืฉืืช, ืืื ืืืืืื ืืื ืืจืืงืฆืืืช ืขืืื ืืช. ืืื, ืืขืืืืชื ืืืืืืช ืืืืืจืืช ืืืืื ืืืช ืฉืื ืืงืืืืื.
ืืงืจืช ืืืืืืช ืืื ืขืช-ืกืืืื ืืืจืืืืงืืืจืืช Ruby ืืืืืื ืืช ืฉืืจืืชืื
ืืื ืฉืืขืจืืืช Ruby ืืชืคืชืืืช ืืขืืจ ืืจืืืืงืืืจืืช ืืืืืื ืืช ืฉืืจืืชืื, ืฉืืืื ืขื ืกืืฃ ืืืฉืง ืืืคืืช ืืชืจืืืฉ ื ืืชืื ื ืคืจื. ืืื ืืืืงืช ืกืื ืืืขืืืืื ืืืืืฆืื ืืื ืืื ืืืกื ืืืืื ืืื ืฉืืจืืชืื, ืกืคืจืืืช ืืฉืืชืคืืช ืืืืฉืงื API ืคื ืืืืื. ืืืืจื ืืื ืืืืืช ืฉืื ืืืื ืฉืืืจืื ืืืงืื, ืืคื ื ืฉืืฉืืื ืืืื ืืืจืฆืื ืืชืคืฉืืื ืืื ืฆืืืชืื.
ืืชืจืืืฉ ืื, ืืขืจืืืช ืืืคืืก ืคืืขืืืช ืืืืื ืฉืื ืืืื ืืื ืืืืืชืืช ื ืืื ืืช. ืื ืืืืฉืืืช ืืืืคื ืกืืงืืืื ืขื ืืืืืืช ืฉืืื ืืืฆืืืืช ืืฉืืื ืืืืชืจ. ืื ืืืคืฉืจ ืืืจืืื ืื ืืฉืืจ ืืช ืืืืืฉืืช ืฉื Ruby ืืืืคื ืคื ืืื ืชืื ืืืืคืช ืืฉืืขืช ืื ืงืืืืช ืืื ืืืจืฆืื. ืฆืื ืืจืืช CI ืืฉืชืืฉืื ืืืืืงืืช ืืืคืืก ืืื ืืืืช ืฉืื ืืืื ืืืฉืคืืขืื ืขื ืืืืื ืืฉืืชืคืื, ืืืกืคืงืื ืืชืจืขื ืืืงืืืช ืขื ืฉืื ืืืื ืื ืชืืืืื.
ืืืืื ื ืชืคืขืืืืช, ืืืฉื ืื ืืฆืืื ืืจืืืคืงืืื ืืืฉืื ืืืื ืืชืืืืช ืืืคืืก ืื ืืืืจืืช ืืืฉืง. ื ืืืื ืืจืืืคืงืืื ืืื ืืืจืฉ ืืขืืืช ืืชืืืื ืืื ืฆืืืชืื. ืืืฉืจ ืื ืืืืฆืขืื ืืืื, ืื ืืืคืืื ืืฉืคื ืืฉืืชืคืช ืืืืื ืืืฉืคืขืช ืืฉืื ืื. ืืืฉืจ ืื ืืืื ืืื, ืื ืืืคืืื ืืืงืืจ ืืืืื ืฉืฆืืืชืื ืืืืืื ืืขืงืืฃ.
ืืขืจื ืืืกืืจืืื ืฉื ืชืจืืืฉ ืื ืขืืื ืืืืื ืคืืชืื ืืงืืื ืืคืจืืกืืช ืืืืจื. ืืงืจืช ืืืืืืช ืืืืกืกืช ืกืืืื ืชืืืืช ืืืืืืืฆืื ืืืืงืจืช ืขื ืืื ืืคืืืช ืืืืื ืืจืืืืื ืืืคืืจืฉืื. ืื ืืชืืืฉื ืขื ืืืืฆืื ืจืืืื ืืืชืจ ืื ืื ืืช ืืฉืคืขืช ืืฉืื ืื ืืกืืืื ืืฉืืจืืจ, ืืืืื ืืคืจืงืืืงืืช ืฉื ืืื ื ื- ืืืืงืืช ืจืืจืกืื ืืืฆืืขืื, ืืืฉืจ ืืืืื ืืืงืื ืืคืืืช ืืช ืขืืืืืช ืืืืฉื.
ืืืืืื ืืื ืืืกืื. ืืขืจืืืช ืืืคืืก ืืื ื ืืืืืืช ืืืื ืืืืคื ืืื ืืช ืืืชื ืืืืช ืืืื ืืืช ืฉื ืจืืื, ืื ืืกืืื ืืืคืืช ืืืคืืก ืืงืืฃ ืืจืื ืืืืื ืืชืืฆืืืช ืืคืืื ืืืช. ืขืจืื ืืชืืื ืจืง ืืืฉืจ ืืืืงืฃ ืืืืืจ ืืงืคืืื ืืืชืืื ืขื ืืืืื ื ืืืืจืืืืืช.
ืืื ืืื ืืืชืจืืืฉืื ืืืื, ืืื ื ืืชืื ืืืขืืืืื ืฉื Ruby ืืกืคืงืื ืขืจื ืืืืงื ืืฉืื ืฉืืื ื ืืืืฉืืื ืืืืคื ืืื ืืืจืกืื. ืืจืืื ืื ืืืืืจืื ืืืืืืื ืืช ืืืืืืืช ืืืื ื ืืฆืืื ืืขืืื ืืืื ืืืชืจ ืืืคืืง ืชืืื ืืช ืืฉืืขืืชืืืช ืืืื ืืืชืคืฉืจ ืขื ืืืืจืืช ืืืกืืจื ืื ืขื ืืืื ืืช ืืืืฉื.
ืืืืืจืช ืืืื ืืขื ืืงืจืช ืืกืคืงื โโืืืขืจืืืช ืจืืื ืืจืืื ืืืช
ืชืืื ืืืช ื ืืชืื ืกืืืืืช ืฉื Enterprise Ruby ืืฆืืืืืช ืื ื ืืฉืืืช ืขื ืกืื ืืืฉืืจ, ืืื ืขื ืกืื ืืืกืื. ืื ืืชืื ืืขืื ืืจืื ืฉืืฃ ืืื ืืืื ืืื ื ืืืื ืืขืืื ืื ืืื ืืช ืืืจืืฉืืช ืชืคืืงืช CI, ืืืืื ืกืืืื ืื ืขืืืง, ืืืืืืช ืืืืจื ืืืฆืื ืืฆืืคืืืช ืืฉืืืืช. ืื ืกืื ืฉื ืืืื ืืืคื ืืืฆื ืืฉื ืฉืื ื, ืืืคืืืชื ืืชืคืงืืื ืืืืคื ืืืืืื ืืืืฆืจืช ืืืืคื ืขืงืื ืจืขืฉ, ืืชื ืืืืช ืขืงืืคื ืื ืืืืืื ืืืื.
ืืืจืืื ืื ืืขืืืืื ืืืืชืจ ืืชืืืืกืื ืื ืืชืื ืกืืื ืฉื Ruby ืืื ืืขืจืืช ืืงืจื ืฉืืืชืืช. ืืืื ืืืืจืื ืืืืจืืื ืืกืืืื ืืืืฆืืื ืืช ืืชื ืืืืช ืืืืืื ืืืื ืื ืขื ืงืฆื ืืืกืืจื. ืกืืจืงื ืกืื ืืืื ืืืืืื ืขืืืงืื ืืืชืจ ืืขืืืจืื ืืช ืืืืื ืืกืืืื ืื ืืืงืื ืืืชืจ ืืืืืืจ ืืืืื ืืืื ืืืกืื ืื ืฉืื ืื. ืืืื ืชืืืืงื ืืืืื ืืื ืื-ืกืื ืื ืืื ืืช ืืืืืจื ืืืฆืื ืขื ืืื ืืคืืืช ืืกืืืื ืืืื ื ืืืืื ืืกืืฃ ืืืืฉืง ืืืคืืจืฉ. ืืคืจืืช ืืืืืช ืื ืืื ืืืืคืฉืจืช ืืฆืื ืืจืืช CI ืืืืฉืืจ ืืืื ืื ืชืืช ืืืฅ ืฉื ืงื ื ืืืื ืืฉืื ืื.
ืืคืืก ืืืืจ ืืื ืืกืขืืคืื ืืื ืฉืขืจื ืื ืืชืื ืืกืืื ืชืืื ืืืงืฉืจ. ืืืฆืืื ืืฉืืืื ืจืง ืืืฉืจ ื ืืชื ืืคืจืฉ ืืืชื ืืืืก ืื ืชืืื ืืืฆืืข, ืืื ื ืชืืืช, ืืืืืืช ืืขืืืช ืืืืื ืช ืฉืืจืืจ. ืืื ืืงืฉืจ ืื, ืืคืืื ืืืื ืืืืืชืืื ืืชืืจืืจืื ืืืืืืื ืืืชืืช ืื ืืชืงืื. ืืื ืืืคืืืช ื ืจืืืช ืืืจืืืืืช ืืงืืจืืฆืื ืืื ืืืื ืืืืจื ืืืจืืืข, ืื ืืชืืืืฃ ืืื ืชืื Ruby, ืืื ืืื ืื ืื ืื ืืืืคืฉืจืื ืืืจืืื ืื ืืคืขืื ืขื ืกืื ืืชืคืืงื ืฉืืื ืืืืืืื.
ืืกืืคื ืฉื ืืืจ, ืืฉืืื ืขืืืจ ืื ืืืื ืืจืืื ืื ืืื ื ืืืื ืืื ื ืืชืื ืกืืื ืฉื Ruby ืืื ืืืื ืืืืชืจ, ืืื ืืืฆื ืื ืืชืื ืืฉืชืื ืืืืฉืืจ ืืงืจืช ืืืกืคืงื โโืืจืื ืืืชืจ. ืืจืืื ืื ืืืชืื ื ืื CI ืกืืื ืืืืื ืกืืืื ืื, ืืืืขืืช ืืืืฆืืข ืืืืืืืฆืื ืืืืงืจืช ืขืืืจืื ืืขืืจ ืืืืืื ืคืืืื ืจืืืงืืืืืื. ืื ืืฉืชืืฉืื ืื ืืชืื ืกืืื ืื ืืก ืืกืืจืืื ืืชืืื ืืืืืจื ืืืฆืื, ืชืืืืืช ืืืกืคืงื โโืืช ืงืืืื ืืงื ื ืืืื ืืืื ืืื ืืชืืืช ืกืืืื ืืฆื ืจืช.
