From 36ca7f54f1bb4d3118f6b259fbae5fb05bb559d5 Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 29 Dec 2015 09:13:45 +0100 Subject: [PATCH 0001/3394] Translate Ruby 2.0.0-p648 release post (de) --- .../2015-12-16-ruby-2-0-0-p648-released.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md diff --git a/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md new file mode 100644 index 0000000000..be9bd7f62f --- /dev/null +++ b/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Ruby 2.0.0-p648 veröffentlicht" +author: "usa" +translator: "Marvin Gülker" +date: 2015-12-16 12:00:00 +0000 +lang: de +--- + +Ruby 2.0.0-p648 ist veröffentlicht worden. + +Dieses Release behebt ein Sicherheitsproblem mit den Fiddle- und +DL-Erweiterungen. Schauen Sie sich für weitere Informationen bitte den +unten verlinkten Artikel an. + +* [CVE-2015-7551: Unsichere Behandlung von tainted Strings in Fiddle und DL](https://www.ruby-lang.org/de/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Ruby 2.0.0 befindet sich noch bis zum 24. Februar 2016 in der Phase +der Sicherheitsunterstützung. Danach wird die Unterstützung von Ruby +2.0.0 eingestellt. +Wir empfehlen Ihnen, Pläne für eine Migration auf eine neuere Version +von Ruby, etwa 2.1, 2.2 oder 2.3 (dessen Veröffentlichung in wenigen +Wochen geplant ist), zu machen. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2) + + SIZE: 10785918 bytes + SHA1: 504be2eae6cdfe93aa7ed02ec55e35043d067ad5 + SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166 + SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz) + + SIZE: 13622628 bytes + SHA1: 2323df55f5e941c45be13500df9daf216098f884 + SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8 + SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz) + + SIZE: 8303584 bytes + SHA1: 4500e7b65a3788a2c9d787dc3b7d7e16014d4daf + SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 + SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip) + + SIZE: 15139871 bytes + SHA1: 2d5521cc12823af20269b9380a9d605a21509b43 + SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd + SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 + +## Release Comment + +Danke an alle, die mit dieser Veröffentlichung geholfen haben. From 0145f0c46ec2569adaa2d4aedf852360933461e5 Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 29 Dec 2015 09:14:00 +0100 Subject: [PATCH 0002/3394] Translate Ruby 2.1.8 release post (de) --- .../_posts/2015-12-16-ruby-2-1-8-released.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 de/news/_posts/2015-12-16-ruby-2-1-8-released.md diff --git a/de/news/_posts/2015-12-16-ruby-2-1-8-released.md b/de/news/_posts/2015-12-16-ruby-2-1-8-released.md new file mode 100644 index 0000000000..46e6f34a25 --- /dev/null +++ b/de/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -0,0 +1,58 @@ +--- +layout: news_post +title: "Ruby 2.1.8 veröffentlicht" +author: "usa" +translator: "Marvin Gülker" +date: 2015-12-16 12:00:00 +0000 +lang: de +--- + +Ruby 2.1.8 ist veröffentlicht worden. + +Dieses Release behebt ein Sicherheitsproblem mit den Fiddle- und +DL-Erweiterungen. Schauen Sie sich für weitere Informationen bitte den +unten verlinkten Artikel an. + +* [CVE-2015-7551: Unsichere Behandlung von tainted Strings in Fiddle und DL](https://www.ruby-lang.org/de/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Daneben sind viele weitere Fehler behoben worden. Siehe das +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_8/ChangeLog) +für weitere Informationen. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2) + + SIZE: 12014426 bytes + SHA1: 0284eaf42ac76a641abd5cd4b6bd933abeb9934e + SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 + SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz) + + SIZE: 15154017 bytes + SHA1: c7e50159357afd87b13dc5eaf4ac486a70011149 + SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d + SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz) + + SIZE: 9382672 bytes + SHA1: e1f4e043006a762604c042e6aac7540854a92d8c + SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d + SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip) + + SIZE: 16686848 bytes + SHA1: b554328fb3d9f2a527adc5830de221b00e3ce2b9 + SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee + SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6 + +## Veröffentlichungskommentar + +Dank an alle, die mit dieser Veröffentlichung geholfen haben. + +Die Unterstützung von Ruby 2.1, diese Veröffentlichung eingeschlossen, +basiert auf der „Vereinbarung über die stabile Version von Ruby“ +[der Ruby Assocation](http://www.ruby.or.jp/). From 1b3c5e3d5c280946eb14e296dbcb7dd19b61c63d Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 29 Dec 2015 09:14:14 +0100 Subject: [PATCH 0003/3394] Translate Ruby 2.2.4 release post (de) --- .../_posts/2015-12-16-ruby-2-2-4-released.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 de/news/_posts/2015-12-16-ruby-2-2-4-released.md diff --git a/de/news/_posts/2015-12-16-ruby-2-2-4-released.md b/de/news/_posts/2015-12-16-ruby-2-2-4-released.md new file mode 100644 index 0000000000..04096309b1 --- /dev/null +++ b/de/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -0,0 +1,56 @@ +--- +layout: news_post +title: "Ruby 2.2.4 veröffentlicht" +author: "nagachika" +translator: "Marvin Gülker" +date: 2015-12-16 12:00:00 +0000 +lang: de +--- + +Ruby 2.2.4 ist veröffentlicht worden. + +Dieses Release behebt ein Sicherheitsproblem mit den Fiddle- und +DL-Erweiterungen. Schauen Sie sich für weitere Informationen bitte den +unten verlinkten Artikel an. + +* [CVE-2015-7551: Unsichere Behandlung von tainted Strings in Fiddle und DL](https://www.ruby-lang.org/de/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Außerdem sind ein paar Fehler behoben worden. Siehe das +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog) +für weitere Informationen. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2) + + SIZE: 13336518 bytes + SHA1: 6132840a859dbf2ac1498ba313021f299a870038 + SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 + SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz) + + SIZE: 16638151 bytes + SHA1: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 + SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 + SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz) + + SIZE: 10464500 bytes + SHA1: 9216cf34df7fd5ce8059a6403951d6d47964442a + SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c + SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip) + + SIZE: 18472352 bytes + SHA1: b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a + SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 + SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b + +## Veröffentlichungskommentar + +Viele Commiters, Entwickler und Nutzer, die Fehler gemeldet haben, +haben uns bei der Erstellung dieser Veröffentlichung geholfen. +Vielen Dank für ihre Mitarbeit. From 96b2ab8e368a9aa17d32593901b2b0cb2fe141e6 Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 29 Dec 2015 09:14:30 +0100 Subject: [PATCH 0004/3394] Translate DL/Fiddle vulnerability post (de) --- ...ng-usage-in-fiddle-and-dl-cve-2015-7551.md | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md diff --git a/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md new file mode 100644 index 0000000000..04945c164e --- /dev/null +++ b/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -0,0 +1,92 @@ +--- +layout: news_post +title: "CVE-2015-7551: Unsichere Behandlung von tainted Strings in Fiddle und DL" +author: "usa" +translator: "Marvin Gülker" +date: 2015-12-16 12:00:00 +0000 +tags: security +lang: de +--- + +Es gibt ein Sicherheitsproblem mit dem Gebrauch von „tainted“ Strings +in Fiddle und DL. Der Sicherheitslücke wurde die CVE-Nummer +[CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551) +zugewiesen. + +Details +------- + +Fiddle und DL sind anfällig für eine Sicherheitslücke beim Umgang mit +„tainted“ Strings. Das Problem wurde ursprünglich mit [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) +gegen DL gemeldet und behoben, trat jedoch nach Reimplementation von +DL auf der Basis von Fiddle und libffi wieder auf. + +Im Bezug auf DL wurde [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) +mit Ruby 1.9.1 behoben, nicht jedoch in anderen Zweigen, weshalb +alle Rubies mit mitgeliefertem DL außer Ruby 1.9.1 noch immer von dem +Problem betroffen sind. + +Betroffener Code sieht so aus: + +{% highlight ruby %} +handle = Fiddle::Handle.new(dangerous_user_input) +{% endhighlight %} + +Oder so: + +{% highlight ruby %} +handle = Fiddle::Handle.new(some_library) +function_pointer = handle[dangerous_user_input] +{% endhighlight %} + +Alle Nutzer einer betroffenen Veröffentlichung sollten umgehend +aktualisieren oder einen der Workarounds anwenden. + +Betroffene Versionen +-------------------- + +* Alle Patch-Veröffentlichungen von Ruby 1.9.2 und Ruby 1.9.3 (DL und + Fiddle) +* Alle Patch-Veröffentlichungen von Ruby 2.0.0 vor Ruby 2.0.0 + patchlevel 648 (DL und Fiddle) +* Alle Versionen von Ruby 2.1 vor Ruby 2.1.8 (DL und Fiddle) +* Alle Versionen von Ruby 2.2 vor Ruby 2.2.4 (Fiddle) +* Ruby 2.3.0 preview 1 und preview 2 (Fiddle) +* Trunk vor Revision 53153 (Fiddle). + +Workarounds +----------- + +Wenn Sie nicht aktualisieren können, besteht die Möglichkeit, als +Workaround den folgenden Monkeypatch auf Fiddle anzuwenden: + +{% highlight ruby %} +class Fiddle::Handle + alias :old_initialize :initialize + + def initialize file, *args + raise SecurityError if file.tainted? && $SAFE > 0 + old_initialize file, *args + end + + alias :sym :[] + alias :old_call :[] + + def [] fun + raise SecurityError if fun.tainted? && $SAFE > 0 + old_call fun + end +end +{% endhighlight %} + +Wenn Sie DL nutzen, wechseln Sie stattdessen zu Fiddle. + +Danksagung +---------- + +Danke an Christian Hofstaedtler für das Melden des Problems! + +Historie +-------- + +* Erstmals veröffentlicht am 2015-12-16 12:00:00 UTC From 2b0e2d16bfeff2f74fa5ecc936cbd78493be1b0e Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 29 Dec 2015 09:14:41 +0100 Subject: [PATCH 0005/3394] Translate Ruby 2.3.0 release post (de) --- .../_posts/2015-12-25-ruby-2-3-0-released.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 de/news/_posts/2015-12-25-ruby-2-3-0-released.md diff --git a/de/news/_posts/2015-12-25-ruby-2-3-0-released.md b/de/news/_posts/2015-12-25-ruby-2-3-0-released.md new file mode 100644 index 0000000000..aa8ca92047 --- /dev/null +++ b/de/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -0,0 +1,95 @@ +--- +layout: news_post +title: "Ruby 2.3.0 veröffentlicht" +author: "naruse" +translator: "Marvin Gülker" +date: 2015-12-25 17:00:00 +0000 +lang: de +--- + +Wir freuen uns, die Veröffentlichung von Ruby 2.3.0 bekannt geben zu +können. + +Dabei handelt es sich um die erste stabile Veröffentlichung der +2.3er-Serie von Ruby. Sie enthält viele neue Features, beispielsweise: + +Es wurde ein [Literal-Pragma für eingefrorene Strings](https://bugs.ruby-lang.org/issues/11473) +hinzugefügt. +Bereits mit Ruby 2.1 war `"str".freeze` so optimiert worden, dass +weniger Objekte alloziert werden mussten. Ruby 2.3 führt nun einen +neuen magischen Kommentar und eine entsprechende Kommandozeilenoption +ein, mit der alle String-Literale im Quelltext eingefroren werden +können. +Zu Debugging-Zwecken besteht zudem die Möglichkeit, mithilfe der +Kommandozeilenoption `--debug=frozen-string-literal` herauszufinden, +wo das Objekt erstellt wird, welches den Fehler `"can't modify frozen +String"` auslöst. + +Der [Safe Navigation +Operator](https://bugs.ruby-lang.org/issues/11537) +([auch bekannt als Einsamkeitsoperator](https://instagram.com/p/-M9l6mRPLR/)) +`&.`, wie er auch aus C#, Groovy und Swift bekannt ist, wird mit dem +Ziel eingeführt, die Behandlung von `nil` als `obj&.foo` zu +erleichtern. Daneben wurden `Array#dig` und `Hash#dig` +eingeführt. Dies verhält sich wie [ActiveSupports try!](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +welches speziell auf die Behandlung von nil zugeschnitten ist. + +Das [`did_you_mean`-Gem wird mitgeliefert](https://bugs.ruby-lang.org/issues/11252). +Dieses Gem gibt mögliche Kandidaten bei einem `NameError` oder `NoMethodError` +aus, um so das Debugging zu vereinfachen. + +Experimentell eingeführt werden +[RubyVM::InstructionSequence#to_binary und .load_from_binary](https://bugs.ruby-lang.org/issues/11788). +Diese beiden Features ermöglichen die Einrichtung eines auf ISeq (Bytecode) +basierenden Vorkompilationssystems. + +Daneben enthält Ruby 2.3 zahlreiche die Performanzoptimierung +betreffende Verbesserungen, darunter [die Neuausrichtung der +Datenstruktur für Methodeneinträge](https://bugs.ruby-lang.org/issues/11278), +[die Einführung einer neuen tabellarischen Datenstruktur](https://bugs.ruby-lang.org/issues/11420), +ein optimiertes [Proc#call](https://bugs.ruby-lang.org/issues/11569), +Feinjustierung auf Maschinencode-Ebene im Bezug auf Objektallozierung +und Methodenaufrufscode, eine [intelligentere Datenstruktur für Instanzvariablen](https://bugs.ruby-lang.org/issues/11170), +[ein neues Schlüsselwort „exception:“ für Socket und I/O für nicht-blockende high-performance I/O](https://bugs.ruby-lang.org/issues/11229) +und so weiter. Werfen Sie einen Blick auf den Abschnitt +„Implementation improvements“ in der NEWS-Datei. + +Eine vollständige Liste neuer Features und Kompatibilitätshinweise +finden Sie in den [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) +und im [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). + +Mit diesen Änderungen wurden seit Ruby 2.2.0 [2946 Dateien geändert, 104057 Einfügungen(+), 59478 Löschungen(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0)! + +Frohe Weihnachten, schöne Ferien und haben Sie Spaß an der +Programmierung mit Ruby 2.3! + +## Download + +* + + SIZE: 14185617 bytes + SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 + SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e + SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c + +* + + SIZE: 17648682 bytes + SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 + SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 + SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc + +* + + SIZE: 11294412 bytes + SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 + SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 + SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 + +* + + SIZE: 19840511 bytes + SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 + SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a + SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef + From c23f11c02986d23d39f7abd8be5756bb57aeea34 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 14 Feb 2016 16:02:25 +0100 Subject: [PATCH 0006/3394] Various fixes for recent posts (de) --- .../2015-12-16-ruby-2-0-0-p648-released.md | 2 +- .../_posts/2015-12-16-ruby-2-1-8-released.md | 2 +- .../_posts/2015-12-16-ruby-2-2-4-released.md | 2 +- ...ing-usage-in-fiddle-and-dl-cve-2015-7551.md | 15 +++++---------- .../_posts/2015-12-25-ruby-2-3-0-released.md | 18 +++++++++--------- 5 files changed, 17 insertions(+), 22 deletions(-) diff --git a/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md index be9bd7f62f..b8adc84218 100644 --- a/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md +++ b/de/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -52,6 +52,6 @@ Wochen geplant ist), zu machen. SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 -## Release Comment +## Veröffentlichungskommentar Danke an alle, die mit dieser Veröffentlichung geholfen haben. diff --git a/de/news/_posts/2015-12-16-ruby-2-1-8-released.md b/de/news/_posts/2015-12-16-ruby-2-1-8-released.md index 46e6f34a25..855c7df9bc 100644 --- a/de/news/_posts/2015-12-16-ruby-2-1-8-released.md +++ b/de/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -55,4 +55,4 @@ Dank an alle, die mit dieser Veröffentlichung geholfen haben. Die Unterstützung von Ruby 2.1, diese Veröffentlichung eingeschlossen, basiert auf der „Vereinbarung über die stabile Version von Ruby“ -[der Ruby Assocation](http://www.ruby.or.jp/). +[der Ruby Association](http://www.ruby.or.jp/). diff --git a/de/news/_posts/2015-12-16-ruby-2-2-4-released.md b/de/news/_posts/2015-12-16-ruby-2-2-4-released.md index 04096309b1..45f8d92db1 100644 --- a/de/news/_posts/2015-12-16-ruby-2-2-4-released.md +++ b/de/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -51,6 +51,6 @@ für weitere Informationen. ## Veröffentlichungskommentar -Viele Commiters, Entwickler und Nutzer, die Fehler gemeldet haben, +Viele Committer, Entwickler und Nutzer, die Fehler gemeldet haben, haben uns bei der Erstellung dieser Veröffentlichung geholfen. Vielen Dank für ihre Mitarbeit. diff --git a/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index 04945c164e..f4595f3a0f 100644 --- a/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/de/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -13,8 +13,7 @@ in Fiddle und DL. Der Sicherheitslücke wurde die CVE-Nummer [CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551) zugewiesen. -Details -------- +## Details Fiddle und DL sind anfällig für eine Sicherheitslücke beim Umgang mit „tainted“ Strings. Das Problem wurde ursprünglich mit [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) @@ -42,8 +41,7 @@ function_pointer = handle[dangerous_user_input] Alle Nutzer einer betroffenen Veröffentlichung sollten umgehend aktualisieren oder einen der Workarounds anwenden. -Betroffene Versionen --------------------- +## Betroffene Versionen * Alle Patch-Veröffentlichungen von Ruby 1.9.2 und Ruby 1.9.3 (DL und Fiddle) @@ -54,8 +52,7 @@ Betroffene Versionen * Ruby 2.3.0 preview 1 und preview 2 (Fiddle) * Trunk vor Revision 53153 (Fiddle). -Workarounds ------------ +## Workarounds Wenn Sie nicht aktualisieren können, besteht die Möglichkeit, als Workaround den folgenden Monkeypatch auf Fiddle anzuwenden: @@ -81,12 +78,10 @@ end Wenn Sie DL nutzen, wechseln Sie stattdessen zu Fiddle. -Danksagung ----------- +## Danksagung Danke an Christian Hofstaedtler für das Melden des Problems! -Historie --------- +## Historie * Erstmals veröffentlicht am 2015-12-16 12:00:00 UTC diff --git a/de/news/_posts/2015-12-25-ruby-2-3-0-released.md b/de/news/_posts/2015-12-25-ruby-2-3-0-released.md index aa8ca92047..f2716b5c69 100644 --- a/de/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/de/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -25,13 +25,12 @@ Kommandozeilenoption `--debug=frozen-string-literal` herauszufinden, wo das Objekt erstellt wird, welches den Fehler `"can't modify frozen String"` auslöst. -Der [Safe Navigation -Operator](https://bugs.ruby-lang.org/issues/11537) +Der [Safe Navigation Operator](https://bugs.ruby-lang.org/issues/11537) ([auch bekannt als Einsamkeitsoperator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, wie er auch aus C#, Groovy und Swift bekannt ist, wird mit dem Ziel eingeführt, die Behandlung von `nil` als `obj&.foo` zu erleichtern. Daneben wurden `Array#dig` und `Hash#dig` -eingeführt. Dies verhält sich wie [ActiveSupports try!](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +eingeführt. Dies verhält sich wie [try! bei Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), welches speziell auf die Behandlung von nil zugeschnitten ist. Das [`did_you_mean`-Gem wird mitgeliefert](https://bugs.ruby-lang.org/issues/11252). @@ -43,14 +42,15 @@ Experimentell eingeführt werden Diese beiden Features ermöglichen die Einrichtung eines auf ISeq (Bytecode) basierenden Vorkompilationssystems. -Daneben enthält Ruby 2.3 zahlreiche die Performanzoptimierung -betreffende Verbesserungen, darunter [die Neuausrichtung der -Datenstruktur für Methodeneinträge](https://bugs.ruby-lang.org/issues/11278), +Daneben enthält Ruby 2.3 zahlreiche die Performanz betreffende Verbesserungen, +darunter +[die Neuausrichtung der Datenstruktur für Methodeneinträge](https://bugs.ruby-lang.org/issues/11278), [die Einführung einer neuen tabellarischen Datenstruktur](https://bugs.ruby-lang.org/issues/11420), -ein optimiertes [Proc#call](https://bugs.ruby-lang.org/issues/11569), +ein [optimiertes Proc#call](https://bugs.ruby-lang.org/issues/11569), Feinjustierung auf Maschinencode-Ebene im Bezug auf Objektallozierung -und Methodenaufrufscode, eine [intelligentere Datenstruktur für Instanzvariablen](https://bugs.ruby-lang.org/issues/11170), -[ein neues Schlüsselwort „exception:“ für Socket und I/O für nicht-blockende high-performance I/O](https://bugs.ruby-lang.org/issues/11229) +und Methodenaufrufscode, +eine [intelligentere Datenstruktur für Instanzvariablen](https://bugs.ruby-lang.org/issues/11170), +[Unterstützung des Keyword-Arguments „exception: false“ für Socket#*_nonblock-Methoden](https://bugs.ruby-lang.org/issues/11229) und so weiter. Werfen Sie einen Blick auf den Abschnitt „Implementation improvements“ in der NEWS-Datei. From c7bc8db3498688f059d778927008e8e3fd82595b Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 22 Feb 2016 10:52:30 +0900 Subject: [PATCH 0007/3394] Follow up https://github.com/ruby/www.ruby-lang.org/commit/aee130ac76da74af950719d39ca8d449df8d7a1a#commitcomment-16228087 --- en/conduct/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/en/conduct/index.md b/en/conduct/index.md index 496e3d386c..30e1064711 100644 --- a/en/conduct/index.md +++ b/en/conduct/index.md @@ -3,8 +3,9 @@ layout: page title: "The Ruby Community Conduct Guideline" lang: en --- -We have picked the following conduct guideline based on an early draft of the -PostgreSQL CoC, for Ruby developers community for safe, productive collaboration. +We have picked the following conduct guideline based on an early proposed draft +of the PostgreSQL CoC, for Ruby developers community for safe, productive +collaboration. Each Ruby related community (conference etc.) may pick their own Code of Conduct. {: .summary} From dad65b816ee39ff3291d751e552e147e97dc89ba Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Feb 2016 00:13:00 +0900 Subject: [PATCH 0008/3394] Announcement about the support plans for Ruby 2.0.0 and Ruby 2.1. --- ...6-02-24-support--lan-of-ruby-200-and-21.md | 34 +++++++++++++++++++ ...6-02-24-support-plan-of-ruby-200-and-21.md | 33 ++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md create mode 100644 ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md diff --git a/en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md b/en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md new file mode 100644 index 0000000000..61af92c166 --- /dev/null +++ b/en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md @@ -0,0 +1,34 @@ +--- +layout: news_post +title: "Support plans for Ruby 2.0.0 and Ruby 2.1" +author: "usa" +translator: +date: 2016-02-24 09:00:00 +0000 +lang: en +--- + +We announce about the future support plans for Ruby 2.0.0 and Ruby 2.1. + +## About Ruby 2.0.0 + +As it has been announced from before, all support for Ruby 2.0.0 has ended today. +Bug and security fixes from more recent Ruby versions will no longer be backported to 2.0.0, and no patch release of 2.0.0 will be released. + +We highly recommend that you upgrade to Ruby 2.3 or 2.2 as soon as possible. + +Please contact us via ruby-core ML if you'd like to continue maintaining the 2.0.0 branch for some justifiable reason you can't upgrade. + +## About Ruby 2.1 + +We are planning to release Ruby 2.1.9 until the end of March. +After the release, we will end the normal maintenance phase of 2.1, and start the security maintenance phase of it. +This means that we will never backport any bug fixes to 2.1 except security fixes after the release of 2.1.9. + +We recommend that you start planning to upgrate Ruby 2.3 or 2.2. + +By the way, we are also planning to release Ruby 2.1.10 just after releacing 2.1.9. +This is not a bug fix release nor security fix release. +We have never experienced two-digits version number of Ruby. +Therefore, we consider that we have to test it instead of releacing such version with critical security fixes. +Ruby 2.1.10 will not include any changes from 2.1.9, instead of its version number. +Users does not have to use it on production, but should test it before the release of 2.1.11 which will include some security fixes. diff --git a/ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md b/ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md new file mode 100644 index 0000000000..4613a266c6 --- /dev/null +++ b/ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md @@ -0,0 +1,33 @@ +--- +layout: news_post +title: "Ruby 2.0.0 および Ruby 2.1 の今後について" +author: "usa" +translator: +date: 2016-02-24 09:00:00 +0000 +lang: ja +--- + +Ruby 2.0.0 および Ruby 2.1 の今後の公式サポートについてお知らせします。 + +## Ruby 2.0.0 について + +かねてからの予告通り、本日(2016年2月24日)をもって、Ruby 2.0.0 の公式サポートは終了となります。 +今後、より新しいバージョンの Ruby で行われたバグ修正やセキュリティ修正は、2.0.0 にはバックポートされず、また、2.0.0 の新しいパッチリリースも行われません。 + +現在まだ Ruby 2.0.0 を使用しているユーザーは、速やかにより新しいバージョン(2.3 等)に移行するよう強く推奨します。 + +Ruby インタプリタ開発者、あるいは企業内で Ruby インタプリタの保守を担当されている方で、今後も Ruby 2.0.0 の公式リリースが継続されないと困る、という適切な理由がある方は、ruby-core ML までお問い合わせください。 + +## Ruby 2.1 について + +Ruby 2.1 については、3月末までに予定されている 2.1.9 のリリースをもって通常メンテナンスを終了し、セキュリティメンテナンスに移行します。 +これは、2.1.9 以降は重大なセキュリティ修正のみが行われ、単なるバグなどの修正が行われなくなることを意味します。 + +セキュリティメンテナンスの期間は1年間です。即ち、2.1.9 のリリース後1年で、2.1 の公式サポートは終了します。 +よって、Ruby 2.1 を使用しているユーザーは、より新しいバージョンへの移行の準備を進めるよう強く推奨します。 +また、現在 Ruby 2.0.0 を使用しているユーザーの移行先としては、Ruby 2.1 はあまり推奨できません。 + +なお、Ruby 2.1.9 のリリース後、さほど間を置かずに Ruby 2.1.10 をリリースすることを計画しています。 +本来、セキュリティメンテナンス期間中は、重大なセキュリティ修正が行われない限りリリースは行いませんが、次々回のリリースでは Ruby のバージョン番号表記が現在の形式となってから初めてバージョン番号の一部が2桁となることが決定しています。 +そのため、セキュリティ修正リリースに抱き合わせる形でこのような変更が導入されることを防ぎ、事前にユーザーが互換性検証を行えるよう、2.1.9 からバージョン番号のみを変更した 2.1.10 をリリースします。 +2.1.10 をプロダクション環境で使用する必要は特にありませんが、以降のリリースに備えるために、必要に応じて検証を行っておくようお勧めします。 From d35214abf28f992fc3cf1d052e32780064640c20 Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Feb 2016 15:46:59 +0900 Subject: [PATCH 0009/3394] Changed file names --- ...and-21.md => 2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md} | 0 ...and-21.md => 2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename en/news/_posts/{2016-02-24-support--lan-of-ruby-200-and-21.md => 2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md} (100%) rename ja/news/_posts/{2016-02-24-support-plan-of-ruby-200-and-21.md => 2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md} (100%) diff --git a/en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md similarity index 100% rename from en/news/_posts/2016-02-24-support--lan-of-ruby-200-and-21.md rename to en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md b/ja/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md similarity index 100% rename from ja/news/_posts/2016-02-24-support-plan-of-ruby-200-and-21.md rename to ja/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md From ae3afb8875a5e05c92105daef44078afb6d90966 Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Feb 2016 15:59:24 +0900 Subject: [PATCH 0010/3394] Applied @stomar comments --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 61af92c166..4f2f0869e6 100644 --- a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -7,28 +7,29 @@ date: 2016-02-24 09:00:00 +0000 lang: en --- -We announce about the future support plans for Ruby 2.0.0 and Ruby 2.1. +We announce the future support plans for Ruby 2.0.0 and Ruby 2.1. ## About Ruby 2.0.0 -As it has been announced from before, all support for Ruby 2.0.0 has ended today. -Bug and security fixes from more recent Ruby versions will no longer be backported to 2.0.0, and no patch release of 2.0.0 will be released. +As it has been announced before, all support for Ruby 2.0.0 has ended today. +Bug and security fixes from more recent Ruby versions will no longer be backported to 2.0.0, and no further patch release of 2.0.0 will be released. We highly recommend that you upgrade to Ruby 2.3 or 2.2 as soon as possible. -Please contact us via ruby-core ML if you'd like to continue maintaining the 2.0.0 branch for some justifiable reason you can't upgrade. +Please contact us via the ruby-core ML if you'd like to continue maintaining the 2.0.0 branch for some justifiable reason you can't upgrade. ## About Ruby 2.1 We are planning to release Ruby 2.1.9 until the end of March. After the release, we will end the normal maintenance phase of 2.1, and start the security maintenance phase of it. -This means that we will never backport any bug fixes to 2.1 except security fixes after the release of 2.1.9. +This means that after the release of 2.1.9 we will never backport any bug fixes to 2.1 except security fixes. -We recommend that you start planning to upgrate Ruby 2.3 or 2.2. +We recommend that you start planning to upgrate to Ruby 2.3 or 2.2. -By the way, we are also planning to release Ruby 2.1.10 just after releacing 2.1.9. -This is not a bug fix release nor security fix release. -We have never experienced two-digits version number of Ruby. -Therefore, we consider that we have to test it instead of releacing such version with critical security fixes. -Ruby 2.1.10 will not include any changes from 2.1.9, instead of its version number. -Users does not have to use it on production, but should test it before the release of 2.1.11 which will include some security fixes. +By the way, we are also planning to release Ruby 2.1.10 just after releasing 2.1.9. +This is not a bug fix release nor a security fix release. +We have never experienced a two-digit version number of Ruby. +Therefore, we consider it important to test such a release without any critical security fixes. + +Ruby 2.1.10 will not include any changes from 2.1.9, except for its version number. +You do not have to use it on production, but you should test it before the release of 2.1.11 which will probably include security fixes. From 224c4f22e9bf01ca69b7c0c97c1d02bc7987d4be Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Feb 2016 18:59:17 +0900 Subject: [PATCH 0011/3394] Applied @agrimm's comments. --- .../_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 4f2f0869e6..9810dd6068 100644 --- a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -16,7 +16,7 @@ Bug and security fixes from more recent Ruby versions will no longer be backport We highly recommend that you upgrade to Ruby 2.3 or 2.2 as soon as possible. -Please contact us via the ruby-core ML if you'd like to continue maintaining the 2.0.0 branch for some justifiable reason you can't upgrade. +Please contact us via the ruby-core ML if you'd like to continue maintaining the 2.0.0 branch as for some justifiable reason you can't upgrade. ## About Ruby 2.1 @@ -24,7 +24,7 @@ We are planning to release Ruby 2.1.9 until the end of March. After the release, we will end the normal maintenance phase of 2.1, and start the security maintenance phase of it. This means that after the release of 2.1.9 we will never backport any bug fixes to 2.1 except security fixes. -We recommend that you start planning to upgrate to Ruby 2.3 or 2.2. +We recommend that you start planning to upgrade to Ruby 2.3 or 2.2. By the way, we are also planning to release Ruby 2.1.10 just after releasing 2.1.9. This is not a bug fix release nor a security fix release. From 41a619b57d9140dd0228f92dbfe026f19f8adf6e Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Feb 2016 19:41:03 +0900 Subject: [PATCH 0012/3394] "by" instead of "until" --- en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 9810dd6068..a0dfc2fd52 100644 --- a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -20,7 +20,7 @@ Please contact us via the ruby-core ML if you'd like to continue maintaining the ## About Ruby 2.1 -We are planning to release Ruby 2.1.9 until the end of March. +We are planning to release Ruby 2.1.9 by the end of March. After the release, we will end the normal maintenance phase of 2.1, and start the security maintenance phase of it. This means that after the release of 2.1.9 we will never backport any bug fixes to 2.1 except security fixes. From ae52dfc15e17fdee974f5ee704ea4f93cb63022b Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 24 Feb 2016 16:22:47 +0100 Subject: [PATCH 0013/3394] Rewrap --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index a0dfc2fd52..dab1a23c46 100644 --- a/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/en/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -12,24 +12,31 @@ We announce the future support plans for Ruby 2.0.0 and Ruby 2.1. ## About Ruby 2.0.0 As it has been announced before, all support for Ruby 2.0.0 has ended today. -Bug and security fixes from more recent Ruby versions will no longer be backported to 2.0.0, and no further patch release of 2.0.0 will be released. +Bug and security fixes from more recent Ruby versions will no longer be +backported to 2.0.0, and no further patch release of 2.0.0 will be released. We highly recommend that you upgrade to Ruby 2.3 or 2.2 as soon as possible. -Please contact us via the ruby-core ML if you'd like to continue maintaining the 2.0.0 branch as for some justifiable reason you can't upgrade. +Please contact us via the ruby-core ML if you'd like to continue maintaining +the 2.0.0 branch as for some justifiable reason you can't upgrade. ## About Ruby 2.1 We are planning to release Ruby 2.1.9 by the end of March. -After the release, we will end the normal maintenance phase of 2.1, and start the security maintenance phase of it. -This means that after the release of 2.1.9 we will never backport any bug fixes to 2.1 except security fixes. +After the release, we will end the normal maintenance phase of 2.1, +and start the security maintenance phase of it. +This means that after the release of 2.1.9 we will never backport +any bug fixes to 2.1 except security fixes. We recommend that you start planning to upgrade to Ruby 2.3 or 2.2. -By the way, we are also planning to release Ruby 2.1.10 just after releasing 2.1.9. -This is not a bug fix release nor a security fix release. +By the way, we are also planning to release Ruby 2.1.10 just after +releasing 2.1.9. This is not a bug fix release nor a security fix release. We have never experienced a two-digit version number of Ruby. -Therefore, we consider it important to test such a release without any critical security fixes. +Therefore, we consider it important to test such a release +without any critical security fixes. -Ruby 2.1.10 will not include any changes from 2.1.9, except for its version number. -You do not have to use it on production, but you should test it before the release of 2.1.11 which will probably include security fixes. +Ruby 2.1.10 will not include any changes from 2.1.9, +except for its version number. +You do not have to use it on production, but you should test it before +the release of 2.1.11 which will probably include security fixes. From 78936e2e5d2bc6539c2fbe2102fb1f7e3051dcda Mon Sep 17 00:00:00 2001 From: Felipe Gentil Date: Wed, 24 Feb 2016 14:37:01 -0300 Subject: [PATCH 0014/3394] Translate support plans for Ruby 2.0.0 and Ruby 2.1 (pt) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 pt/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/pt/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/pt/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..989cc4920a --- /dev/null +++ b/pt/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,42 @@ +--- +layout: news_post +title: "Planos de suporte para Ruby 2.0.0 e Ruby 2.1" +author: "usa" +translator: "fpgentil" +date: 2016-02-24 09:00:00 +0000 +lang: pt +--- + +Anunciamos os futuros planos de suporte para Ruby 2.0.0 e Ruby 2.1. + +## Sobre Ruby 2.0.0 + +Como anunciado anteriormente, todo o suporte para Ruby 2.0.0 se encerra hoje. +*Bugs* e correções de seguranças de versões mais recentes de Ruby não serão mais +portadas à versão 2.0.0 e nenhum *patch release* da versão 2.0.0 será lançado. + +Recomendamos fortemente que você faça o upgrade para Ruby 2.3 ou 2.2 o mais +rápido possível. + +Por favor entre em contato conosco através da lista de email ruby-core caso +queira continuar mantendo um branch da versão 2.0.0 com motivos pelos quais você +não pode fazer o upgrade. + +## Ruby 2.1 + +Estamos planejando em lançar uma versão de Ruby 2.1.9 até o final de março. +Isso significa que após o lançamento da versão 2.1.9 nós não iremos mais portar +nenhuma correção de *bugs* para a versão 2.1, com exceção das correções de +segurança. + +Nós recomendamos que você comece a planejar o *upgrade* para Ruby 2.3 ou 2.2. + +A propósito, nós estamos também planejando em lançar a versão 2.1.10 logo após +a *release* 2.1.9. Isso não é uma correção de *bugs* e nem de segurança. Nós +nunca tivemos antes uma versão de Ruby com dois dígitos. Portanto, nós +consideramos que é importante testar essa versão sem nenhuma correção crítica +de segurança. + +Ruby 2.1.10 não irá incluir nenhuma mudança da 2.1.9 com exceção do número da +versão. Você não deve usá-la em produção, mas sim testá-la antes do lançamento +da 2.1.11 que irá provavelmente incluir correções de segurança. From d27c7f593b9ebcd01a48467daea0e0f0dce0a026 Mon Sep 17 00:00:00 2001 From: Vlad Bokov Date: Thu, 25 Feb 2016 23:30:59 +0600 Subject: [PATCH 0015/3394] 2016-02-24-support-plan-of-ruby-2-0-0-and-2-1 (ru) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..2af50b2e6a --- /dev/null +++ b/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,38 @@ +--- +layout: news_post +title: "О планах будущей поддержки Ruby 2.0.0 и 2.1" +author: "usa" +translator: "Vlad Bokov" +date: 2016-02-24 09:00:00 +0000 +lang: ru +--- + +О планах будущей поддержки Ruby 2.0.0 и 2.1 + +## Ruby 2.0.0 + +Поддержка Ruby 2.0.0 заканчивается сегодня, как это и было объявлено ранее. +Исправления и обновления безопасности не будут переноситься в 2.0.0, +не будет и выхода новых версий. + +Мы очень рекомендуем вам обновиться на Ruby 2.3 или 2.2. + +Пожалуйста, напишите в список рассылки, если вы по каким-либо причинам +не можете обновиться и желаете продолжать поддерживать эту ветку. + +## Ruby 2.1 + +Версия Ruby 2.1.9 выйдет в конце марта. После этого мы закончим развитие 2.1 +и перейдем в фазу обновлений безопасности. Также, после выхода 2.1.9 мы +не будем переносить исправления, не касающиеся безопасности, из новых версий. + +Подумайте о переходе на Ruby 2.3 или 2.2. + +Кстати, мы планируем выпустить Ruby 2.1.10 сразу после 2.1.9. +Это технический релиз без исправлений, чтобы протестировать выпуск версии +с двухзначным номером. Этого еще не случалось, поэтому мы думаем, +что необходимо это попробовать без значительных изменений. + +Ruby 2.1.10 не будет отличаться от 2.1.9 ничем, кроме номера версии. +Вам не обязательно обновляться, но стоит попробовать перед выходом 2.1.11 +с возможными исправлениями безопасности. From d494fc3d355102f9a7670bb1d3b0e4c67f431a90 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 25 Feb 2016 20:47:12 +0100 Subject: [PATCH 0016/3394] Small fixes (ru) Thanks to @arbox. --- .../_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 2af50b2e6a..b815a948fa 100644 --- a/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/ru/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -23,16 +23,16 @@ lang: ru ## Ruby 2.1 Версия Ruby 2.1.9 выйдет в конце марта. После этого мы закончим развитие 2.1 -и перейдем в фазу обновлений безопасности. Также, после выхода 2.1.9 мы +и перейдем в фазу обновлений безопасности. Также после выхода 2.1.9 мы не будем переносить исправления, не касающиеся безопасности, из новых версий. Подумайте о переходе на Ruby 2.3 или 2.2. Кстати, мы планируем выпустить Ruby 2.1.10 сразу после 2.1.9. Это технический релиз без исправлений, чтобы протестировать выпуск версии -с двухзначным номером. Этого еще не случалось, поэтому мы думаем, +с двузначным номером. Этого еще не случалось, поэтому мы думаем, что необходимо это попробовать без значительных изменений. Ruby 2.1.10 не будет отличаться от 2.1.9 ничем, кроме номера версии. -Вам не обязательно обновляться, но стоит попробовать перед выходом 2.1.11 +Вам необязательно обновляться, но стоит попробовать перед выходом 2.1.11 с возможными исправлениями безопасности. From 866ca09df247cce740a43fe089208000257df56c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 25 Feb 2016 21:17:11 +0100 Subject: [PATCH 0017/3394] Remove dead link (tr) --- tr/documentation/index.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tr/documentation/index.md b/tr/documentation/index.md index b283a653de..71f5057b89 100644 --- a/tr/documentation/index.md +++ b/tr/documentation/index.md @@ -88,11 +88,6 @@ referanslar ve diğer belgeleri bulacaksınız. : Yine RDoc ile üretilmiş bu referans belgesi, standart kütüphaneyi kapsayacak niteliktedir. -[Ruby C API Referansı][18] -: Ruby’nin temelinde yatan C kodu hakkında bir belgeleme çalışması. Eğer - C kodları yazmak ve Ruby’nin geliştirilmesine katkıda bulunmak - isterseniz, bu belge size yardımcı olabilir. - [RubyDoc.info][19] : Ruby gem’leri için dökümanlar ve GitHub Ruby projeleri için tek kaynak site. @@ -131,7 +126,6 @@ listeleri](/en/community/mailing-lists/) iyi bir başlangıç olacaktır. [15]: http://www.ruby-doc.org/core [16]: http://docs.seattlerb.org/rdoc/ [17]: http://www.ruby-doc.org/stdlib -[18]: http://www.ruby-doc.org/doxygen/current/ [19]: http://www.rubydoc.info/ [20]: http://rubydocs.org/ [21]: http://www.rubydox.net/ From 9d02b9c5cfbb62c43ec1bd0d91c77a8646b45ea0 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 25 Feb 2016 21:17:35 +0100 Subject: [PATCH 0018/3394] Fix dead link to C API reference (de, es, fr) --- de/documentation/index.md | 11 +++++------ es/documentation/index.md | 8 ++++---- fr/documentation/index.md | 9 ++++----- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/de/documentation/index.md b/de/documentation/index.md index a2d3f96b7f..cb3886fab3 100644 --- a/de/documentation/index.md +++ b/de/documentation/index.md @@ -64,11 +64,10 @@ Ruby-Programmieren sicher nützlich sein werden. Dokumentation wird ebenfalls direkt aus dem Quelltext generiert (englisch). -[Referenz zu Rubys C-API][11] -: Eine C-API-Dokumentation von Ruby. Für Erweiterungen von Ruby ist - dieses API absolut unverzichtbar. Es beschreibt die vordefinierten - Schnittstellen für Erweiterungen in der Programmiersprache C und wie - diese sowohl von der Ruby- als auch der C-Seite aus verwendet werden. +[Referenz zu Rubys C-API][extensions] +: Offizielle C-API-Dokumentation von Ruby. Sie beschreibt die vordefinierten + Schnittstellen für Erweiterungen in der Programmiersprache C und wie diese + sowohl von der Ruby- als auch der C-Seite aus verwendet werden. [RubyDoc.info][12] : Die Referenzdokumentation für Ruby, Gems und auf GitHub gehostete @@ -93,7 +92,7 @@ deutschsprachigen Artikeln. Für weitergehende Fragen steht eine große [8]: http://www.approximity.com/rubybuch2/ [9]: http://www.ruby-doc.org/core [10]: http://www.ruby-doc.org/stdlib -[11]: http://www.ruby-doc.org/doxygen/current/ +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [12]: http://www.rubydoc.info/ [13]: http://ruby-doc.org [14]: http://wiki.ruby-portal.de diff --git a/es/documentation/index.md b/es/documentation/index.md index 4efa69122f..c8a9eaf2f7 100644 --- a/es/documentation/index.md +++ b/es/documentation/index.md @@ -57,9 +57,9 @@ serán útiles a la hora de desarrollar con Ruby. : También extraída del código fuente mediante RDoc, esta referencia documenta la biblioteca estándar. -[Referencia de la API C de Ruby][10] -: Documentación del código C subyacente en Ruby. Perfecto si quieres - escribir extensiones en C para contribuir al desarrollo de Ruby. +[Referencia de la API C de Ruby][extensions] +: Documentación de la API C de Ruby. + Perfecto si quieres escribir extensiones en C. ### Otras lecturas @@ -79,6 +79,6 @@ correo](/es/community/mailing-lists/) es un buen lugar para comenzar. [7]: http://www.ruby-doc.org/core [8]: http://docs.seattlerb.org/rdoc/ [9]: http://www.ruby-doc.org/stdlib -[10]: http://www.ruby-doc.org/doxygen/current/ +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [11]: http://ruby-doc.org [12]: http://www.ruby-doc.org/bookstore diff --git a/fr/documentation/index.md b/fr/documentation/index.md index 422a43c67f..a1adc61eaf 100644 --- a/fr/documentation/index.md +++ b/fr/documentation/index.md @@ -118,10 +118,9 @@ pour les nombreuses façons d'obtenir Ruby. : Également extraite du code source par RDoc, cette seconde référence documente la bibliothèque standard. -[*Ruby C API Reference*][19] -: La documentation de l’implémentation C de ruby. Très utile si vous - comptez écrire des extensions C ou contribuer au développement de - Ruby. +[*Ruby C API Reference*][extensions] +: La documentation de l’API C de Ruby. + Très utile si vous comptez écrire des extensions C. [rubydoc.info][20] : Documentation auto-générée pour un grand nombre de bibliothèques Ruby. @@ -163,7 +162,7 @@ la [liste de diffusion](/en/community/mailing-lists/) est un bon endroit [16]: http://www.ruby-doc.org/core [17]: http://docs.seattlerb.org/rdoc/ [18]: http://www.ruby-doc.org/stdlib -[19]: http://www.ruby-doc.org/doxygen/current/ +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [20]: http://rubydoc.info/ [21]: http://rubydocs.org/ [22]: http://www.rubydox.net/ From 4e299d12727a462f259c85e94cdabec0c1b67684 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 25 Feb 2016 21:18:02 +0100 Subject: [PATCH 0019/3394] Add link to Ruby's C API reference (en) Link to doc/extension.rdoc in trunk, the former README.EXT file. --- en/documentation/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/en/documentation/index.md b/en/documentation/index.md index 5fdb9630a1..5e5a5f7796 100644 --- a/en/documentation/index.md +++ b/en/documentation/index.md @@ -100,6 +100,11 @@ of getting Ruby. : Also pulled from the source code using RDoc, this reference work documents the standard library. +[Ruby C API Reference][extensions] +: The official introduction to Ruby's C API. + Great if you want to write C extensions + or contribute to Ruby’s development. + [RubyDoc.info][16] : The one-stop web site for reference documentation about Ruby gems and GitHub-hosted Ruby projects. @@ -174,6 +179,7 @@ If you have questions about Ruby the [13]: http://www.ruby-doc.org/core [14]: http://docs.seattlerb.org/rdoc/ [15]: http://www.ruby-doc.org/stdlib +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [16]: http://www.rubydoc.info/ [17]: http://rubydocs.org/ [18]: http://apidock.com/ From edbfeaa09c58bc6790bd31d0862a1cb9ff99a02d Mon Sep 17 00:00:00 2001 From: Duc Giang Date: Fri, 26 Feb 2016 17:39:16 +0700 Subject: [PATCH 0020/3394] translate 2 latest news to Vietnamese --- .../_posts/2015-12-25-ruby-2-3-0-released.md | 69 +++++++++++++++++++ ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 28 ++++++++ 2 files changed, 97 insertions(+) create mode 100644 vi/news/_posts/2015-12-25-ruby-2-3-0-released.md create mode 100644 vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md b/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md new file mode 100644 index 0000000000..85cc7d0621 --- /dev/null +++ b/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -0,0 +1,69 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.3.0" +author: "naruse" +translator: "Nguyễn Đức Giang" +date: 2015-12-25 17:00:00 +0000 +lang: vi +--- + +Chúng tôi vui mừng thông báo việc phát hành Ruby 2.3.0. + +Đây là phiên bản ổn định đầu tiên của sê-ri Ruby 2.3. Phiên bản này giới thiệu nhiều tính năng mới, như: + +Giới thiệu [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). +Trong Ruby 2.1, `"str".freeze` được tối ưu để giảm số lượng đối tượng tạo ra. +Ruby 2.3 giới thiệu một magic comment và một tùy chọn cho command line để đóng băng tất cả các chuỗi trong tệp mã nguồn. Ngoài ra, bạn có thể sử dụng tùy chọn `--debug=frozen-string-literal` trong command line để xem các đối được tạo ra ở đâu khi debug lỗi `"can't modify frozen String"`. + +[Safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([hay còn gọi là lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, đã hiện diện trong C#, Groovy, và Swift, được giới thiệu để làm giảm thiểu sự phiền toái khi xử lý `nil` với cú pháp `obj&.foo`. `Array#dig` và `Hash#dig` cũng mới được thêm vào, chúng hoạt động giống như [try! trong Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), vốn được tạo ra để xử lý trường hợp `nil`. + +[Tích hợp did_you_mean gem](https://bugs.ruby-lang.org/issues/11252). did_you_mean gem đưa ra một số lời khuyên khi gặp `NameError` và `NoMethodError`, giúp cho việc debug dễ dàng hơn. + +[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) là các tính năng thử nghiệm được giới thiệu trong phiên bản này. Với các chức năng này chúng ta có thể tạo ra một hệ thống tiền biên dịch ISeq (bytecode). + +Ruby 2.3.0 còn có rất nhiều cải thiện về hiệu suất, như +[xem xét lại phần cấu trúc dữ liệu hàm nhập](https://bugs.ruby-lang.org/issues/11278), +[giới thiệu kiểu cấu trúc dữ liệu bảng mới](https://bugs.ruby-lang.org/issues/11420), +[tối ưu Proc#call](https://bugs.ruby-lang.org/issues/11569), +hiệu chỉnh ở tầng mã máy cho việc gán phần tử và hàm gọi mã, +[cấu trúc dữ liệu instance variable thông minh hơn](https://bugs.ruby-lang.org/issues/11170), +[hỗ trợ keyword argument `exception: false` cho Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229). +Vui lòng xem phần "Implementation improvements" trong tệp tin NEWS. + +Để biết đầy đủ danh sách các tính năng mới và các lưu ý về vấn đề tương thích, vui lòng xem +[NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) và +[ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). + +Để có những thay đổi trên, [2946 tệp tin đã được thay đổi, 104057 dòng được thêm vào(+), 59478 dòng được xóa đi(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) kể từ Ruby 2.2.0! + +Chúc mừng Giáng sinh, chúc các bạn có một kì nghỉ vui vẻ, và có những giây phút lập trình đầy hứng khởi với Ruby 2.3! + +## Tải về + +* + + SIZE: 14185617 bytes + SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 + SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e + SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c + +* + + SIZE: 17648682 bytes + SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 + SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 + SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc + +* + + SIZE: 11294412 bytes + SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 + SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 + SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 + +* + + SIZE: 19840511 bytes + SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 + SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a + SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef diff --git a/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..8e6246285c --- /dev/null +++ b/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,28 @@ +--- +layout: news_post +title: "Kế hoạch hỗ trợ cho Ruby 2.0.0 và Ruby 2.1" +author: "usa" +translator: "Nguyễn Đức Giang" +date: 2016-02-24 09:00:00 +0000 +lang: vi +--- + +Chúng tôi xin thông báo về kế hoạch hỗ trợ sắp tới cho Ruby 2.0.0 và Ruby 2.1. + +## Với Ruby 2.0.0 + +Như chúng tôi đã thông báo trước đây, tất cả hỗ trợ cho Ruby 2.0.0 sẽ kết thúc vào ngày hôm nay. Các bản sửa lỗi và bảo mật từ các phiên bản Ruby mới sẽ không được cập nhật, cũng như sẽ không có bản vá nào được phát hành cho Ruby 2.0.0. + +Chúng tôi khuyến nghị các bạn nâng cấp lên Ruby 2.3 hoặc 2.2 trong thời gian sớm nhất. + +Vui lòng liên hệ với chúng tôi thông qua ruby-core ML nếu bạn muốn tiếp tục duy trì 2.0.0 branch vì bạn không thể nâng cấp lên phiên bản mới hơn. + +## Với Ruby 2.1 + +Chúng tôi dự định phát hành Ruby 2.1.9 trước tháng tư. Sau khi phát hành, chúng tôi sẽ kết thúc giai đoạn bảo trì thông thường, chuyển sang giai đoạn bảo trì an ninh. Điều này có nghĩa rằng sau khi phiên bản 2.1.9 được phát hành, ngoài các bản vá bảo mật, chúng tôi sẽ không cập nhật các bản sửa lỗi cho 2.1. + +Chúng tôi khuyến nghị các bạn lên kế hoạch cho việc nâng cấp lên Ruby 2.3 hoặc 2.2. + +Nhân đây, chúng tôi cũng đang có kế hoạch phát hành Ruby 2.1.10 ngay sau khi phát hành 2.1.9. Đây không phải là một bản vá lỗi hay bản vá bảo mật. Chúng tôi chưa từng phát hành phiên bản Ruby có 2 chữ số trong phiên bản bao giờ. Do đó, chúng tôi coi đây là một thử nghiệm quan trọng, với một phiên bản được phát hành mà không có bất cứ thay đổi nào. + +Điểm khác biệt duy nhất giữa Ruby 2.1.10 và 2.1.9 là tên phiên bản. Bạn không nhất thiết phải sử dụng 2.1.10 trên production, tuy nhiên bạn nên thử nghiệm qua trước khi phiên bản 2.1.11 - có khả năng sẽ bao gồm vá lỗi bảo mật - được phát hành. From 45c749a9a970a3c89a5ab194a4a8fe95757d1fa9 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 26 Feb 2016 20:20:57 +0100 Subject: [PATCH 0021/3394] Rewrap (vi) --- .../_posts/2015-12-25-ruby-2-3-0-released.md | 43 +++++++++++++------ ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 37 +++++++++++----- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md b/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md index 85cc7d0621..fe97289370 100644 --- a/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/vi/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -9,17 +9,32 @@ lang: vi Chúng tôi vui mừng thông báo việc phát hành Ruby 2.3.0. -Đây là phiên bản ổn định đầu tiên của sê-ri Ruby 2.3. Phiên bản này giới thiệu nhiều tính năng mới, như: +Đây là phiên bản ổn định đầu tiên của sê-ri Ruby 2.3. +Phiên bản này giới thiệu nhiều tính năng mới, như: -Giới thiệu [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). +Giới thiệu +[Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). Trong Ruby 2.1, `"str".freeze` được tối ưu để giảm số lượng đối tượng tạo ra. -Ruby 2.3 giới thiệu một magic comment và một tùy chọn cho command line để đóng băng tất cả các chuỗi trong tệp mã nguồn. Ngoài ra, bạn có thể sử dụng tùy chọn `--debug=frozen-string-literal` trong command line để xem các đối được tạo ra ở đâu khi debug lỗi `"can't modify frozen String"`. - -[Safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([hay còn gọi là lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, đã hiện diện trong C#, Groovy, và Swift, được giới thiệu để làm giảm thiểu sự phiền toái khi xử lý `nil` với cú pháp `obj&.foo`. `Array#dig` và `Hash#dig` cũng mới được thêm vào, chúng hoạt động giống như [try! trong Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), vốn được tạo ra để xử lý trường hợp `nil`. - -[Tích hợp did_you_mean gem](https://bugs.ruby-lang.org/issues/11252). did_you_mean gem đưa ra một số lời khuyên khi gặp `NameError` và `NoMethodError`, giúp cho việc debug dễ dàng hơn. - -[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) là các tính năng thử nghiệm được giới thiệu trong phiên bản này. Với các chức năng này chúng ta có thể tạo ra một hệ thống tiền biên dịch ISeq (bytecode). +Ruby 2.3 giới thiệu một magic comment và một tùy chọn cho command line để đóng +băng tất cả các chuỗi trong tệp mã nguồn. Ngoài ra, bạn có thể sử dụng tùy +chọn `--debug=frozen-string-literal` trong command line để xem các đối được +tạo ra ở đâu khi debug lỗi `"can't modify frozen String"`. + +[Safe navigation operator](https://bugs.ruby-lang.org/issues/11537) +([hay còn gọi là lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +đã hiện diện trong C#, Groovy, và Swift, được giới thiệu để làm giảm +thiểu sự phiền toái khi xử lý `nil` với cú pháp `obj&.foo`. `Array#dig` và +`Hash#dig` cũng mới được thêm vào, chúng hoạt động giống như +[try! trong Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +vốn được tạo ra để xử lý trường hợp `nil`. + +[Tích hợp did_you_mean gem](https://bugs.ruby-lang.org/issues/11252). +did_you_mean gem đưa ra một số lời khuyên khi gặp `NameError` và +`NoMethodError`, giúp cho việc debug dễ dàng hơn. + +[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) +là các tính năng thử nghiệm được giới thiệu trong phiên bản này. Với các chức +năng này chúng ta có thể tạo ra một hệ thống tiền biên dịch ISeq (bytecode). Ruby 2.3.0 còn có rất nhiều cải thiện về hiệu suất, như [xem xét lại phần cấu trúc dữ liệu hàm nhập](https://bugs.ruby-lang.org/issues/11278), @@ -30,13 +45,17 @@ hiệu chỉnh ở tầng mã máy cho việc gán phần tử và hàm gọi m [hỗ trợ keyword argument `exception: false` cho Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229). Vui lòng xem phần "Implementation improvements" trong tệp tin NEWS. -Để biết đầy đủ danh sách các tính năng mới và các lưu ý về vấn đề tương thích, vui lòng xem +Để biết đầy đủ danh sách các tính năng mới và các lưu ý về vấn đề tương thích, +vui lòng xem [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) và [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). -Để có những thay đổi trên, [2946 tệp tin đã được thay đổi, 104057 dòng được thêm vào(+), 59478 dòng được xóa đi(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) kể từ Ruby 2.2.0! +Để có những thay đổi trên, +[2946 tệp tin đã được thay đổi, 104057 dòng được thêm vào(+), 59478 dòng được xóa đi(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) +kể từ Ruby 2.2.0! -Chúc mừng Giáng sinh, chúc các bạn có một kì nghỉ vui vẻ, và có những giây phút lập trình đầy hứng khởi với Ruby 2.3! +Chúc mừng Giáng sinh, chúc các bạn có một kì nghỉ vui vẻ, và có những giây +phút lập trình đầy hứng khởi với Ruby 2.3! ## Tải về diff --git a/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 8e6246285c..ae6836a00c 100644 --- a/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/vi/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -11,18 +11,35 @@ Chúng tôi xin thông báo về kế hoạch hỗ trợ sắp tới cho Ruby 2. ## Với Ruby 2.0.0 -Như chúng tôi đã thông báo trước đây, tất cả hỗ trợ cho Ruby 2.0.0 sẽ kết thúc vào ngày hôm nay. Các bản sửa lỗi và bảo mật từ các phiên bản Ruby mới sẽ không được cập nhật, cũng như sẽ không có bản vá nào được phát hành cho Ruby 2.0.0. +Như chúng tôi đã thông báo trước đây, tất cả hỗ trợ cho Ruby 2.0.0 sẽ kết thúc +vào ngày hôm nay. Các bản sửa lỗi và bảo mật từ các phiên bản Ruby mới sẽ +không được cập nhật, cũng như sẽ không có bản vá nào được phát hành cho +Ruby 2.0.0. -Chúng tôi khuyến nghị các bạn nâng cấp lên Ruby 2.3 hoặc 2.2 trong thời gian sớm nhất. +Chúng tôi khuyến nghị các bạn nâng cấp lên Ruby 2.3 hoặc 2.2 trong thời gian +sớm nhất. -Vui lòng liên hệ với chúng tôi thông qua ruby-core ML nếu bạn muốn tiếp tục duy trì 2.0.0 branch vì bạn không thể nâng cấp lên phiên bản mới hơn. +Vui lòng liên hệ với chúng tôi thông qua ruby-core ML nếu bạn muốn tiếp tục +duy trì 2.0.0 branch vì bạn không thể nâng cấp lên phiên bản mới hơn. ## Với Ruby 2.1 -Chúng tôi dự định phát hành Ruby 2.1.9 trước tháng tư. Sau khi phát hành, chúng tôi sẽ kết thúc giai đoạn bảo trì thông thường, chuyển sang giai đoạn bảo trì an ninh. Điều này có nghĩa rằng sau khi phiên bản 2.1.9 được phát hành, ngoài các bản vá bảo mật, chúng tôi sẽ không cập nhật các bản sửa lỗi cho 2.1. - -Chúng tôi khuyến nghị các bạn lên kế hoạch cho việc nâng cấp lên Ruby 2.3 hoặc 2.2. - -Nhân đây, chúng tôi cũng đang có kế hoạch phát hành Ruby 2.1.10 ngay sau khi phát hành 2.1.9. Đây không phải là một bản vá lỗi hay bản vá bảo mật. Chúng tôi chưa từng phát hành phiên bản Ruby có 2 chữ số trong phiên bản bao giờ. Do đó, chúng tôi coi đây là một thử nghiệm quan trọng, với một phiên bản được phát hành mà không có bất cứ thay đổi nào. - -Điểm khác biệt duy nhất giữa Ruby 2.1.10 và 2.1.9 là tên phiên bản. Bạn không nhất thiết phải sử dụng 2.1.10 trên production, tuy nhiên bạn nên thử nghiệm qua trước khi phiên bản 2.1.11 - có khả năng sẽ bao gồm vá lỗi bảo mật - được phát hành. +Chúng tôi dự định phát hành Ruby 2.1.9 trước tháng tư. Sau khi phát hành, +chúng tôi sẽ kết thúc giai đoạn bảo trì thông thường, chuyển sang giai đoạn +bảo trì an ninh. Điều này có nghĩa rằng sau khi phiên bản 2.1.9 được phát +hành, ngoài các bản vá bảo mật, chúng tôi sẽ không cập nhật các bản sửa lỗi +cho 2.1. + +Chúng tôi khuyến nghị các bạn lên kế hoạch cho việc nâng cấp lên Ruby 2.3 +hoặc 2.2. + +Nhân đây, chúng tôi cũng đang có kế hoạch phát hành Ruby 2.1.10 ngay sau khi +phát hành 2.1.9. Đây không phải là một bản vá lỗi hay bản vá bảo mật. Chúng +tôi chưa từng phát hành phiên bản Ruby có 2 chữ số trong phiên bản bao giờ. +Do đó, chúng tôi coi đây là một thử nghiệm quan trọng, với một phiên bản được +phát hành mà không có bất cứ thay đổi nào. + +Điểm khác biệt duy nhất giữa Ruby 2.1.10 và 2.1.9 là tên phiên bản. Bạn không +nhất thiết phải sử dụng 2.1.10 trên production, tuy nhiên bạn nên thử nghiệm +qua trước khi phiên bản 2.1.11 - có khả năng sẽ bao gồm vá lỗi bảo mật - được +phát hành. From 443ad4e3858716f606514a4f06e495681383b5ab Mon Sep 17 00:00:00 2001 From: hienvd Date: Sat, 27 Feb 2016 09:03:16 +0700 Subject: [PATCH 0022/3394] Update community/conferences page (vi) --- vi/community/conferences/index.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/vi/community/conferences/index.md b/vi/community/conferences/index.md index b1d2f8bdf3..54d10d4c8d 100644 --- a/vi/community/conferences/index.md +++ b/vi/community/conferences/index.md @@ -8,6 +8,10 @@ Các lập trình viên Ruby trên khắp thế giới đang nhận được l hội thảo, nơi mà họ có thể chia sẻ các báo cáo về tiến độ công việc, thảo luận về tương lai của Ruby và chào đón những thành viên mới đến với cộng đồng Ruby. +[RubyConferences.org][rc] là một danh sách đơn giản các hội nghị chuyên về Ruby, +được công bố một cách hợp tác với cộng đồng Ruby. Ở đó, bạn sẽ tìm thấy thời gian, +địa điểm, kêu gọi đề xuất và thông tin đăng kí của sự kiện. + ### Các hội thảo lớn [RubyConf][1] @@ -49,6 +53,23 @@ Tây Virginia, Maryland, và Washington, DC. Ruby on Rails. Trụ sở hội thảo tại Chicago đã phục vụ cộng đồng Ruby từ năm 2008. +[Madison Ruby][15]: Madison, WI + +[Steel City Ruby][16]: Pittsburg, PA + +[Ruby on Ales][17] là một hội nghị 2 ngày thường niên lấy cảm hứng từ Ruby, bia microbrew +, và tuyết. Lắng nghe những người thuyết trình hấp dẫn, thưởng thức món ăn ngon và +phong cảnh tuyệt vời xung quanh Bend Oregon. + +[Burlington Ruby Conference][18]: Một hội nghị Ruby diễn ra vào mùa hè hàng năm ở +Burlington, Vermont, Mỹ. Hội nghị kéo dài 2 ngày và đi theo một lộ trình duy nhất. Trọng tâm +của hội nghị là việc tạo ra một môi trường học tập, vui chơi và gặp gỡ giữa các Rubyist. + +[Goruko][19]: một hội nghị Ruby hàng năm ở thành phố New York. Một hội nghị một chiều một ngày. + +[DeccanRubyConf][20]: hội nghị Ruby thường niên ở Pune (Ấn Độ), +chủ đề xung quanh các hoạt động thú vị suốt ngày. Nó là hội nghị một chiều một ngày. + ### Ruby tại những hội thảo khác Có một số người quan tâm đến Ruby tại [hội thảo mã nguồn mở O’Reilly][10] @@ -59,6 +80,7 @@ Ruby Central và O’Reilly năm 2007), và Canada on Rails. +[rc]: http://rubyconferences.org/ [1]: http://rubyconf.org/ [2]: http://rubycentral.org [3]: http://rubykaigi.org/ @@ -73,3 +95,9 @@ Ruby Central và O’Reilly năm 2007), và Canada on Rails. [12]: http://www.railsconf.org [13]: http://europe.railsconf.org [14]: http://www.skillsmatter.com +[15]: http://madisonruby.org/ +[16]: http://steelcityruby.org/ +[17]: http://ruby.onales.com/ +[18]: http://burlingtonrubyconference.com +[19]: http://goruco.com/ +[20]: http://www.deccanrubyconf.org/ From 2c353e400c002dfafb95ba1ac4aed27d1ffb19f5 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 27 Feb 2016 13:39:47 +0100 Subject: [PATCH 0023/3394] Add EOL section to release list (en) --- en/downloads/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/en/downloads/index.md b/en/downloads/index.md index 22c41d9c5f..e4c29429bd 100644 --- a/en/downloads/index.md +++ b/en/downloads/index.md @@ -44,6 +44,12 @@ one of the third party tools mentioned above. They may help you. sha256: {{ release.sha256.gz }}{% endfor %} {% endif %} +{% if site.downloads.eol %} +* **Not maintained anymore (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + * **Snapshots:** * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): This is a tarball of the latest snapshot of the current stable branch. From 8e1fb40579260a003942244501d4d0f5128a7d5e Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 27 Feb 2016 13:40:06 +0100 Subject: [PATCH 0024/3394] Move 2.0.0 to EOL section --- _config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_config.yml b/_config.yml index 8665999e12..79b250a451 100644 --- a/_config.yml +++ b/_config.yml @@ -58,6 +58,7 @@ downloads: xz: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d zip: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee security_maintenance: + eol: - version: 2.0.0-p648 url: bz2: https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2 From 94f8db13906f1f29d3dd446f04f0d0f51f6b92b1 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 28 Feb 2016 10:42:51 +0100 Subject: [PATCH 0025/3394] Typo; rewrap (vi) --- vi/community/conferences/index.md | 53 +++++++++++++++++-------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/vi/community/conferences/index.md b/vi/community/conferences/index.md index 54d10d4c8d..6fa8d64589 100644 --- a/vi/community/conferences/index.md +++ b/vi/community/conferences/index.md @@ -8,19 +8,20 @@ Các lập trình viên Ruby trên khắp thế giới đang nhận được l hội thảo, nơi mà họ có thể chia sẻ các báo cáo về tiến độ công việc, thảo luận về tương lai của Ruby và chào đón những thành viên mới đến với cộng đồng Ruby. -[RubyConferences.org][rc] là một danh sách đơn giản các hội nghị chuyên về Ruby, -được công bố một cách hợp tác với cộng đồng Ruby. Ở đó, bạn sẽ tìm thấy thời gian, -địa điểm, kêu gọi đề xuất và thông tin đăng kí của sự kiện. +[RubyConferences.org][rc] là một danh sách đơn giản các hội nghị chuyên về +Ruby, được công bố một cách hợp tác với cộng đồng Ruby. Ở đó, bạn sẽ tìm thấy +thời gian, địa điểm, kêu gọi đề xuất và thông tin đăng kí của sự kiện. ### Các hội thảo lớn [RubyConf][1] -: Diễn ra thường niên từ năm 2001, [Ruby Central, Inc.][2] đã tổ chức RubyConf - - hội thảo quốc tế về Ruby. Số người tham gia tăng gấp mười từ năm 2001 đến năm 2006. - RubyConf cung cấp một diễn đàn dành riêng cho các bài thuyết trình về các công nghệ của Ruby, - bao gồm các bài thuyết trình của Nathaniel Talbot về Test Unit, Jim Weirich về Rake, - David Heinemeier Hansson về Ruby on Rails, Why the Lucky Stiff về thư viện YAML, - và Sasada Koichi về YARV. Ông Matz cũng tham dự và phát biểu ở hầu hết các RubyConf. +: Diễn ra thường niên từ năm 2001, [Ruby Central, Inc.][2] đã tổ chức + RubyConf - hội thảo quốc tế về Ruby. Số người tham gia tăng gấp mười từ năm + 2001 đến năm 2006. RubyConf cung cấp một diễn đàn dành riêng cho các bài + thuyết trình về các công nghệ của Ruby, bao gồm các bài thuyết trình của + Nathaniel Talbot về Test Unit, Jim Weirich về Rake, David Heinemeier Hansson + về Ruby on Rails, Why the Lucky Stiff về thư viện YAML, và Sasada Koichi về + YARV. Ông Matz cũng tham dự và phát biểu ở hầu hết các RubyConf. [RubyKaigi][3] : Hội thảo về Ruby đầu tiên của Nhật, RubyKaigi được tổ chức năm 2006 tại @@ -30,8 +31,8 @@ về tương lai của Ruby và chào đón những thành viên mới đến v [EuRuKo (Hội thảo về Ruby tại châu Âu)][4] : Hội thảo thường niên về Ruby tại châu Âu (EuRuKo) lần đầu tiên được tổ chức tại Karlsruhe, Đức vào năm 2003. Hội thảo được tổ chức bởi 2 nhà lập trình - viên Ruby Armin Roehrl và Michael Neumann, EuRuKo nổi lên như một sự kiện hàng - năm thứ 2 của Ruby sau RubyConf 2 năm. + viên Ruby Armin Roehrl và Michael Neumann, EuRuKo nổi lên như một sự kiện + hàng năm thứ 2 của Ruby sau RubyConf 2 năm. [Hội thảo mã nguồn mở][5] : Đây là hội thảo mã nguồn mở hàng năm tại Úc. Mặc dù không phải là một hội @@ -43,8 +44,8 @@ về tương lai của Ruby và chào đón những thành viên mới đến v [Ruby Central][2] điều hành [chương trình tài trợ cho hội thảo khu vực][6], để trợ giúp về chi phí cho các nhóm trong khu vực muốn tổ chức sự kiện. -Ruby Central đã hợp tác với [SVForum][7] để tạo ra thung lũng Silicon dành cho các -hội thảo về Ruby trong khu vực lần thứ 2 trong năm 2007. +Ruby Central đã hợp tác với [SVForum][7] để tạo ra thung lũng Silicon dành cho +các hội thảo về Ruby trong khu vực lần thứ 2 trong năm 2007. [RubyNation][8] là cuộc hội thảo Ruby thường niên dành cho các khu vực Virginia, Tây Virginia, Maryland, và Washington, DC. @@ -57,26 +58,30 @@ năm 2008. [Steel City Ruby][16]: Pittsburg, PA -[Ruby on Ales][17] là một hội nghị 2 ngày thường niên lấy cảm hứng từ Ruby, bia microbrew -, và tuyết. Lắng nghe những người thuyết trình hấp dẫn, thưởng thức món ăn ngon và -phong cảnh tuyệt vời xung quanh Bend Oregon. +[Ruby on Ales][17] là một hội nghị 2 ngày thường niên lấy cảm hứng từ Ruby, +bia microbrew , và tuyết. Lắng nghe những người thuyết trình hấp dẫn, thưởng +thức món ăn ngon và phong cảnh tuyệt vời xung quanh Bend Oregon. -[Burlington Ruby Conference][18]: Một hội nghị Ruby diễn ra vào mùa hè hàng năm ở -Burlington, Vermont, Mỹ. Hội nghị kéo dài 2 ngày và đi theo một lộ trình duy nhất. Trọng tâm -của hội nghị là việc tạo ra một môi trường học tập, vui chơi và gặp gỡ giữa các Rubyist. +[Burlington Ruby Conference][18]: Một hội nghị Ruby diễn ra vào mùa hè hàng +năm ở Burlington, Vermont, Mỹ. Hội nghị kéo dài 2 ngày và đi theo một lộ trình +duy nhất. Trọng tâm của hội nghị là việc tạo ra một môi trường học tập, vui +chơi và gặp gỡ giữa các Rubyist. -[Goruko][19]: một hội nghị Ruby hàng năm ở thành phố New York. Một hội nghị một chiều một ngày. +[GoRuCo][19]: một hội nghị Ruby hàng năm ở thành phố New York. Một hội nghị +một chiều một ngày. [DeccanRubyConf][20]: hội nghị Ruby thường niên ở Pune (Ấn Độ), -chủ đề xung quanh các hoạt động thú vị suốt ngày. Nó là hội nghị một chiều một ngày. +chủ đề xung quanh các hoạt động thú vị suốt ngày. Nó là hội nghị một chiều +một ngày. ### Ruby tại những hội thảo khác Có một số người quan tâm đến Ruby tại [hội thảo mã nguồn mở O’Reilly][10] (OSCON) từ năm 2004, và con số này không ngừng tăng lên qua các hội thảo khác. -Một số hội thảo dành riêng cho [Ruby on Rails][11], gồm [RailsConf][12] của Ruby Central, -[RailsConf Europe][13] (đồng tổ chức bởi Ruby Central và [Skills Matter][14] năm 2006, -Ruby Central và O’Reilly năm 2007), và Canada on Rails. +Một số hội thảo dành riêng cho [Ruby on Rails][11], gồm [RailsConf][12] của +Ruby Central, [RailsConf Europe][13] (đồng tổ chức bởi Ruby Central và +[Skills Matter][14] năm 2006, Ruby Central và O’Reilly năm 2007), +và Canada on Rails. From cee3daca3d84977e6ecfecb625502f19f9768443 Mon Sep 17 00:00:00 2001 From: hienvd Date: Sun, 28 Feb 2016 12:07:57 +0700 Subject: [PATCH 0026/3394] Update documentation page (vi) --- vi/documentation/index.md | 45 +++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/vi/documentation/index.md b/vi/documentation/index.md index 1e7606a95a..aa06faecab 100644 --- a/vi/documentation/index.md +++ b/vi/documentation/index.md @@ -8,6 +8,20 @@ Bạn sẽ tìm được các nguồn tài liệu hướng dẫn và tham khảo tại đây. {: .summary} +### Cài đặt Ruby + +Trừ khi bạn chỉ muốn thử Ruby trên trình duyệt (xem những liên kết bên dưới), +bạn cần có Ruby được cài đặt trong máy tính của bạn. Bạn có thể kiểm tra liệu +Ruby đã có sẵn hay chưa bằng việc mở terminal lên và gõ + +{% highlight sh %} +ruby -v +{% endhighlight %} + +Câu lệnh này nên in ra một số về phiên bản của Ruby đã được cài đặt. Nếu không +thấy, hãy xem [trang cài đặt](installation/) để có những tùy chọn khác nhau cho +việc cài đặt Ruby. + ### Khởi đầu [Thử Ruby!][1] @@ -21,8 +35,8 @@ tại đây. dụng của Ruby. [RubyMonk][3] -: Khám phá các thành ngữ của Ruby với phương pháp tương tác trực tuyến. Bạn sẽ - học thông qua các bài học và giải quyết những bài tập. +: Khám phá các thành ngữ của Ruby, học các bài học và giải quyết những bài tập, + tất cả trên trình duyệt của bạn! [Hackety Hack][4] : Nhập môn Ruby cho người không có kinh @@ -39,11 +53,13 @@ tại đây. phút cho phần này. [Đến với Ruby từ ngôn ngữ khác](/vi/documentation/ruby-from-other-languages/) -: Bạn đến với Ruby từ ngôn ngữ khác? Bất kể nó là C, C++, Java, Perl, PHP hay - Python, bài viết này. +: Bạn đến với Ruby từ ngôn ngữ khác? Bất kể nó là C, C++, Java, + Perl, PHP hay Python, bài viết này sẽ giải quyết cho bạn. [Học về Ruby][6] -: Một bộ sưu tập các thông tin về Ruby dành cho những người mới bắt đầu. +: Một bộ sưu tập toàn diện về Ruby dành cho những người mới làm + quen với ngôn ngữ và tìm kiếm một sự giới thiệu vững chắc về các + khái niệm và cấu trúc của Ruby. [Ruby Essentials][7] : Ruby Essentials là một cuốn sách trực tuyến miễn phí hướng dẫn học Ruby dễ @@ -60,7 +76,7 @@ tại đây. ### Hướng dẫn sử dụng [Lập trình Ruby][9] -: Hội thảo làm viện trên Ruby bằng Tiếng Anh, phiên bản đầu tiên +: Hội thảo làm việc trên Ruby bằng Tiếng Anh, phiên bản đầu tiên [Sách của Lập trình viên thực dụng][10] hiện đang được miễn phí trực tuyến. [Hướng dẫn người sử dụng Ruby][11] @@ -81,6 +97,10 @@ tại đây. [Thư viện tài liệu tham khảo Ruby chuẩn][15] : Cũng được tải từ mã nguồn sử dụng RDoc, đưa ra tài liệu của thư viện chuẩn. +[Tài liệu tham khảo Ruby C API][extensions] +: Sự giới thiệu chính thức về Ruby's C API. Tuyệt vời nếu bạn muốn + viết những mở rộng của C hoặc đóng góp cho sự phát triển của Ruby. + [RubyDoc.info][16] : Các trang web một cửa cho tài liệu tham khảo về Ruby gems và GitHub chứa các dự án Ruby. @@ -91,6 +111,11 @@ tại đây. [APIdock][18] : Tài liệu Ruby, Rails và RSpec với các ghi chú của người sử dụng. +[Omniref: Chú thích Ruby, Rails và tài liệu về Gem][40] +: Tài liệu cho mọi phiên bản của Ruby, và mọi phiên bản của mỗi Rubygem. + Một hướng dẫn tham khảo toàn diện cho Ruby, với các tính năng tìm kiếm + code, nguồn chú thích và hỏi đáp. + ### Phần mềm chỉnh sửa và các môi trường phát triển tích hợp Để lập trình trong Ruby bạn có thể sử dụng chương trình chỉnh sửa mặc định của @@ -111,15 +136,19 @@ tính năng nâng cao (ví dụ: tự động hoàn thiện, tái cấu trúc, h * [SciTe][28] * [NetBeans][36] * [Sublime Text][37] + * [Atom][atom] * Trên Windows: * [Notepad++][29] * [E-TextEditor][30] * [Ruby In Steel][31] + * [Atom][atom] * Trên Mac OS X: * [TextMate][32] * [TextWrangler][33] + * [Dash][39] (trình duyệt tài liệu) + * [Atom][atom] ### Đọc thêm @@ -145,6 +174,7 @@ là một nơi tuyệt vời. [13]: http://www.ruby-doc.org/core [14]: http://docs.seattlerb.org/rdoc/ [15]: http://www.ruby-doc.org/stdlib +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [16]: http://www.rubydoc.info/ [17]: http://rubydocs.org/ [18]: http://apidock.com/ @@ -168,3 +198,6 @@ là một nơi tuyệt vời. [36]: https://netbeans.org/ [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ +[39]: http://kapeli.com/dash +[40]: https://www.omniref.com +[atom]: https://atom.io/ From 4d0fa4b5463c6d8f06661128f5702eea85ed11ef Mon Sep 17 00:00:00 2001 From: Quintus Date: Sun, 28 Feb 2016 20:24:37 +0100 Subject: [PATCH 0027/3394] Translate support plans for 2.0 and 2.1 post (de) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 de/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/de/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/de/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..95f2f74f10 --- /dev/null +++ b/de/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "Zur Unterstützung von Ruby 2.0.0 und Ruby 2.1" +author: "usa" +translator: "Marvin Gülker" +date: 2016-02-24 09:00:00 +0000 +lang: de +--- + +Wir geben die Pläne für die zukunftige Unterstützung von Ruby 2.0.0 +und Ruby 2.1 bekannt. + +## Über Ruby 2.0.0 + +Wie bereits früher bekannt gegeben wurde, endet die gesamte +Unterstützung von Ruby 2.0.0 heute. Es werden weder Fehlerkorrekturen +noch Sicherheitsaktualisierungen aus neueren Ruby-Versionen +zurückportiert und es wird keine weitere Patch-Veröffentlichung von +2.0.0 mehr geben. + +Wir empfehlen Ihnen, so schnell wie möglich auf Ruby 2.3 oder 2.2 zu +aktualisieren. + +Wenn Sie den 2.0.0-Zweig weiter pflegen wollen, weil Sie aus +erheblichen Gründen nicht aktualisieren können, nehmen Sie bitte über +die Mailingliste ruby-core Kontakt zu uns auf. + +## Über Ruby 2.1 + +Wir haben vor, Ruby 2.1.9 Ende März zu veröffentlichen. Danach werden +wir die normale Unterstützungsphase für 2.1 beenden und die weitere +Unterstützung dieser Serie auf Sicherheitsaktualisierungen +beschränken. +Das heißt, dass nach der Veröffentlichung von 2.1.9 +abseits von Sicherheitsaktualisierungen keine Fehlerkorrekturen mehr +nach 2.1 zurückportiert werden. + +Wir empfehlen Ihnen, nunmehr mit den Planungen für eine Aktualisierung +auf Ruby 2.3 oder 2.2 zu beginnen. + +Außerdem planen wir, unmittelbar nach der Veröffentlichung von 2.1.9 +Ruby 2.1.10 freizugeben. Dabei handelt es sich weder um ein Release +zur Fehlerkorrektur noch um eines zur Behebung von +Sicherheitsproblemen; vielmehr dient es ausschließlich dem Zweck, eine +zweistellige Versionsnummer für Ruby zu testen, da es einen +vergleichbaren Fall nie zuvor gegeben hat und wir es deshalb für +wichtig halten, eine solche Nummerierung in einer Veröffentlichung +ohne kritische Sicherheitsaktualisierungen auszuprobieren. + +Ruby 2.1.10 wird gegenüber 2.1.9 außer der Versionsnummer keinerlei +Änderungen aufweisen. +Sie müssen es nicht produktiv benutzen, aber Sie sollten es vor der +möglichen Veröffentlichung von 2.1.11 testen, da diese wahrscheinlich +Sicherheitsaktualisierungen enthalten wird. From 0a3bd73ed8c84d9daa36c2fa4c549bdaa5948728 Mon Sep 17 00:00:00 2001 From: Andrei Beliankou Date: Mon, 29 Feb 2016 01:10:03 +0100 Subject: [PATCH 0028/3394] Removed capitalization inside a sentence. --- ru/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ru/index.html b/ru/index.html index ded11be01b..1b2a605214 100644 --- a/ru/index.html +++ b/ru/index.html @@ -12,7 +12,7 @@

Ruby это...

- Динамический язык программирования с открытым исходным кодом с + динамический язык программирования с открытым исходным кодом с упором на простоту и продуктивность. Он обладает элегантным синтаксисом, который приятно читать и легко писать.

From 16bf0a56b02a34de7168d61d9d17de63a92513e0 Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Mon, 29 Feb 2016 18:24:32 +0200 Subject: [PATCH 0029/3394] Translate support-plan-of-ruby-2-0-0-and-2-1 (bg) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 bg/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/bg/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/bg/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..78c31720ca --- /dev/null +++ b/bg/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,38 @@ +--- +layout: news_post +title: "Планове за поддръжка на Ruby 2.0.0 и Ruby 2.1" +author: "usa" +translator: "Georgi Mitrev" +date: 2016-02-24 09:00:00 +0000 +lang: bg +--- + +Тук може да намерите плановете за поддръжка на Ruby 2.0.0 и Ruby 2.1 + +## Ruby 2.0.0 + +Както бе обявено преди, поддръжката на Ruby 2.0.0 се прекратява днес. Бъгове +и фиксове по сигурността няма да бъдат backport-вани към 2.0.0, както няма +да бъдат издавани и повече пачове. + +Препоръчваме да преминете към Ruby 2.3 или 2.2 възможно най-скоро. + +Моля свържете се с нас чрез ruby-core ML ако желаете да поддържате 2.0.0 +branch-a, в случай, че поради някаква причина не можете да преминете към +нова версия. + +## Ruby 2.1 + +Планирано е Ruby 2.1.9 да излезе към краят на Март. След това ще приключи +фазата за поддръжка на 2.1 и ще излизат единствено поправки по сигурността. +Това означава, че след излизането на 2.1.9 няма да бъде backport-вано нищо +освен security фиксове. + +Препоръчваме да започнете с планирането на ъпгрейд към Ruby 2.3 или 2.2. + +След Ruby 2.1.9 ще излезе и 2.1.10, който няма да включва никакви новости. +Единствената му цел е да се тества версия, която има двуцифрен patch-level. + +Ruby 2.1.10 няма да включва промени от 2.1.9 освен номера на версията. Не е +нужно да го ползвате в продукция, но е добре да го тествате преди да излезе +версия 2.1.11, която вероятно ще включва поправки по сигурността. From ae1a29c03f970c15a4e0f3242663f24e0e13de6c Mon Sep 17 00:00:00 2001 From: Sunki Baek Date: Fri, 4 Mar 2016 07:17:15 +0900 Subject: [PATCH 0030/3394] Translate latest news posts (ko) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..29636eb5da --- /dev/null +++ b/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,37 @@ +--- +layout: news_post +title: "루비 2.0.0과 루비 2.1 지원 계획" +author: "usa" +translator: "Sunki Baek" +date: 2016-02-24 09:00:00 +0000 +lang: ko +--- + +루비 2.0.0과 루비 2.1 지원 계획을 알려드립니다. + +## 루비 2.0.0에 대해 + +앞서 발표된 것처럼 루비 2.0.0에 대한 지원은 오늘로 종료됩니다. 가장 최신 버전의 버그 및 보안 패치는 +더 이상 2.0.0 버전으로 백포트 되지 않을 것이며 2.0.0에 대한 더 이상의 패치 릴리즈는 없을 것입니다. + +루비 2.3 혹은 2.2 버전으로 가능하면 빨리 업그레이드하실 것을 강력히 권장합니다. + +혹시라도 업그레이드할 수 없는 어쩔 수 없는 사유가 있어서 2.0.0 버전이 계속 유지되길 바라시는 경우 +ruby-core 메일링 리스트로 저희에게 연락 주시기 바랍니다. + +## 루비 2.1에 대해 + +루비 2.1.9의 릴리즈는 3월 말까지 하는 것으로 계획하고 있습니다. 이후에는 2.1 버전의 통상적인 +유지보수 단계는 끝나게 되며 보안 유지보수 단계가 시작됩니다. +다시 말하면 2.1.9 버전 이후에는 버그 픽스에 대한 백포트는 없을 것이며 보안 패치만 이루어지게 되는 +것입니다. + +루비 2.3 혹은 2.2 버전으로 업그레이드하는 계획을 세우실 것을 권장합니다. + +그런데 루비 2.1.9 릴리즈 바로 다음에는 루비 2.1.10 버전이 릴리즈 될 예정입니다. 이 버전은 +버그 픽스도 아니고 보안 패치도 아닙니다. 지금까지 루비에서는 두 자릿수 버전 넘버를 사용해본적이 +없었습니다. 따라서 두 자릿수 버전 넘버를 중요한 보안 패치 내용 없이 테스트하는 것이 중요하다고 +생각했습니다. + +루비 2.1.10과 2.1.9는 버전 넘버 이외에 모든 것이 동일할 것입니다. 실제 서버에서 사용하실 필요는 +없습니다만 향후 보안 패치를 담게될 2.1.11 버전 이전에 2.1.10 버전을 테스트 해볼 것을 권장합니다. From 75cf1ea8c0a6e4ea5890e94de0918c1832284166 Mon Sep 17 00:00:00 2001 From: Sunki Baek Date: Fri, 4 Mar 2016 13:26:09 +0900 Subject: [PATCH 0031/3394] Edit translation upon feedbacks --- .../2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 29636eb5da..75a05db164 100644 --- a/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/ko/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -12,24 +12,24 @@ lang: ko ## 루비 2.0.0에 대해 앞서 발표된 것처럼 루비 2.0.0에 대한 지원은 오늘로 종료됩니다. 가장 최신 버전의 버그 및 보안 패치는 -더 이상 2.0.0 버전으로 백포트 되지 않을 것이며 2.0.0에 대한 더 이상의 패치 릴리즈는 없을 것입니다. +더 이상 2.0.0 버전으로 백포트 되지 않을 것이며 패치 릴리스도 더 이상 없을 것입니다. 루비 2.3 혹은 2.2 버전으로 가능하면 빨리 업그레이드하실 것을 강력히 권장합니다. -혹시라도 업그레이드할 수 없는 어쩔 수 없는 사유가 있어서 2.0.0 버전이 계속 유지되길 바라시는 경우 +혹시라도 업그레이드할 수 없는 어쩔 수 없는 사유가 있어서 2.0.0 버전의 릴리스 유지를 원하시면 ruby-core 메일링 리스트로 저희에게 연락 주시기 바랍니다. ## 루비 2.1에 대해 -루비 2.1.9의 릴리즈는 3월 말까지 하는 것으로 계획하고 있습니다. 이후에는 2.1 버전의 통상적인 +루비 2.1.9의 릴리스는 3월 말까지 하는 것으로 계획하고 있습니다. 이후에는 2.1 버전의 통상적인 유지보수 단계는 끝나게 되며 보안 유지보수 단계가 시작됩니다. 다시 말하면 2.1.9 버전 이후에는 버그 픽스에 대한 백포트는 없을 것이며 보안 패치만 이루어지게 되는 것입니다. 루비 2.3 혹은 2.2 버전으로 업그레이드하는 계획을 세우실 것을 권장합니다. -그런데 루비 2.1.9 릴리즈 바로 다음에는 루비 2.1.10 버전이 릴리즈 될 예정입니다. 이 버전은 -버그 픽스도 아니고 보안 패치도 아닙니다. 지금까지 루비에서는 두 자릿수 버전 넘버를 사용해본적이 +그런데 루비 2.1.9 릴리스 바로 다음에는 루비 2.1.10 버전이 릴리스 될 예정입니다. 이 버전은 +버그 픽스도 아니고 보안 패치도 아닙니다. 지금까지 루비에서는 두 자릿수 버전 넘버를 사용해본 적이 없었습니다. 따라서 두 자릿수 버전 넘버를 중요한 보안 패치 내용 없이 테스트하는 것이 중요하다고 생각했습니다. From 0c3685e5b9f648037488385f98564ac9ea52f896 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Fri, 4 Mar 2016 14:33:32 +0800 Subject: [PATCH 0032/3394] Translate support plan for Ruby 2.0 and 2.1 (zh_tw) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 zh_tw/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/zh_tw/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/zh_tw/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..93c14e60a8 --- /dev/null +++ b/zh_tw/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,29 @@ +--- +layout: news_post +title: "Ruby 2.0.0 和 Ruby 2.1 支援計畫" +author: "usa" +translator: "Juanito Fatas" +date: 2016-02-24 09:00:00 +0000 +lang: zh_tw +--- + +我們宣布 Ruby 2.0.0 和 Ruby 2.1 未來的支援計畫。 + +## 關於 Ruby 2.0.0 + +如之前所公告的,所有對 Ruby 2.0.0 的支援到今天終止。 +新版 Ruby 的 Bug 及安全性修正將不再移植到 2.0.0,2.0.0 以後也不再有補丁版本發佈。 + +我們強烈建議您儘速升級至 Ruby 2.3 或 2.2。 + +若有不可升級的理由,您要繼續維護 Ruby 2.0.0,請透過 ruby-core 郵件論壇聯絡我們。 + +## 關於 Ruby 2.1 + +我們預計在 3 月底發佈 Ruby 2.1.9。在此次發佈之後,我們將終止 2.1 的正常維護階段,進入安全性維護階段。這表示 Ruby 2.1.9 之後的發佈,不會再移植任何新版的 Bug 修正(除了安全性修正以外)。 + +我們建議您開始計畫升級至 Ruby 2.3 或 2.2。 + +除此之外,在 2.1.9 之後,我們也計畫要發佈 Ruby 2.1.10。這既不是錯誤修正發佈,也不是安全性修正發佈。Ruby 從來沒有第三位到達兩位數的版本號,因此我們考慮發佈來測試是否會有任何嚴重的安全性修正。 + +Ruby 2.1.10 除了版本號有變以外,不包含任何 2.1.9 的改動。不需要在上線環境使用,但應該要在 2.1.11 發佈(可能有安全性修正的發佈)以前先試用 2.1.10。 From 4de3db2418e5961ca2d599721d3e0631f53bbd63 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 17:58:08 +0100 Subject: [PATCH 0033/3394] Remove whitespace (zh_cn) --- zh_cn/about/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh_cn/about/index.md b/zh_cn/about/index.md index 3f2da063a9..e828fbc697 100644 --- a/zh_cn/about/index.md +++ b/zh_cn/about/index.md @@ -9,7 +9,7 @@ lang: zh_cn ### Ruby 发明者的理想 -Ruby 是一个注重均衡的语言,它的发明者[松本行弘(Yukihiro “Matz” Matsumoto)][matz],混合了他喜欢的多门语言(Perl、Smalltalk、 Eiffel、 Ada 和 Lisp ),创造出了一种兼具函数式编程和命令式编程特色的新语言。 +Ruby 是一个注重均衡的语言,它的发明者[松本行弘(Yukihiro “Matz” Matsumoto)][matz],混合了他喜欢的多门语言(Perl、Smalltalk、Eiffel、Ada 和 Lisp),创造出了一种兼具函数式编程和命令式编程特色的新语言。 他常说,他是“试着让 Ruby 更自然,而不是更简单”,让一切符合生活常规。 From 6144a2b77de69c72624f7da4d5fc993f30f77cda Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 17:58:46 +0100 Subject: [PATCH 0034/3394] Remove trailing whitespace --- en/community/conferences/index.md | 2 +- ...nsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md | 2 +- zh_cn/community/index.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/en/community/conferences/index.md b/en/community/conferences/index.md index b496c25690..f7a49f2de0 100644 --- a/en/community/conferences/index.md +++ b/en/community/conferences/index.md @@ -49,7 +49,7 @@ event dates, location, CFP (Call For Proposals) and Registration information. to offset expenses for local and regional groups wanting to organize events. -Ruby Central has also teamed up with [SVForum][7] (previously known as SDForum) +Ruby Central has also teamed up with [SVForum][7] (previously known as SDForum) to produce the Silicon Valley Ruby Conference, entering its second year in 2007. [RubyNation][8] is an annual Ruby conference serving the Virginia, West diff --git a/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index e12e08ed99..9144a58321 100644 --- a/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -36,7 +36,7 @@ function_pointer = handle[dangerous_user_input] {% endhighlight %} All users running an affected release should either upgrade or use one of -the work arounds immediately. +the work arounds immediately. ## Affected Versions diff --git a/zh_cn/community/index.md b/zh_cn/community/index.md index 86bd72e4fa..3fb0e53c6b 100644 --- a/zh_cn/community/index.md +++ b/zh_cn/community/index.md @@ -21,7 +21,7 @@ lang: zh_cn [IRC 中的 Ruby 频道(#ruby)](irc://irc.freenode.net/ruby) : 在 IRC 中的 Ruby 频道中,你可以与其他 Ruby 同道者畅谈。 - + [Ruby 核心](ruby-core/) : 现在是追踪 Ruby 开发的绝好时机。如果你想帮助开发 Ruby,请从这里开始。 From 10ab6a89564d7c2cd42ea9de50f4b9938ed73d38 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 18:32:53 +0100 Subject: [PATCH 0035/3394] Small improvements in 2.3.0 post (en) --- .../_posts/2015-12-25-ruby-2-3-0-released.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/en/news/_posts/2015-12-25-ruby-2-3-0-released.md b/en/news/_posts/2015-12-25-ruby-2-3-0-released.md index d1883f8be6..5d09fe4136 100644 --- a/en/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/en/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -9,40 +9,40 @@ lang: en We are pleased to announce the release of Ruby 2.3.0. -This is the first stable release of Ruby 2.3 series. -It introduces many new features for example: +This is the first stable release of the Ruby 2.3 series. +It introduces many new features, for example: -A [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473) +A [frozen string literal pragma](https://bugs.ruby-lang.org/issues/11473) is introduced. With Ruby 2.1, `"str".freeze` has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on -`"can't modify frozen String"` error by +`"can't modify frozen String"` error by using the `--debug=frozen-string-literal` command line option. A [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([so-called lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, which already exists in C#, Groovy, and Swift, is introduced to ease `nil` handling as `obj&.foo`. `Array#dig` and `Hash#dig` are also added. -Note that this behaves as [try! of Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), -which specially handle only nil. +Note that this behaves like [try! of Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +which specially handles only `nil`. The [did_you_mean gem is bundled](https://bugs.ruby-lang.org/issues/11252). The did_you_mean gem shows the candidates on the `NameError` and `NoMethodError` to ease debugging. -[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system. +[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) are introduced as experimental features. With these features, we can make a ISeq (bytecode) pre-compilation system. -It also includes many performance improvements for example, -[reconsider method entry data structure](https://bugs.ruby-lang.org/issues/11278), +Ruby 2.3 also includes many performance improvements, for example +[reconsidering method entry data structure](https://bugs.ruby-lang.org/issues/11278), [introducing new table data structure](https://bugs.ruby-lang.org/issues/11420), -[optimize Proc#call](https://bugs.ruby-lang.org/issues/11569), +[optimizing Proc#call](https://bugs.ruby-lang.org/issues/11569), machine code level tuning for object allocation and method calling code, [smarter instance variable data structure](https://bugs.ruby-lang.org/issues/11170), -[`exception: false` keyword argument support on Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229) -and so on. Check "Implementation improvements" section in NEWS file. +[`exception: false` keyword argument support on Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229), +and so on. Check the "Implementation improvements" section in the NEWS file. For a complete list of new features and compatibility notes, please see [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) and @@ -81,4 +81,3 @@ Merry Christmas, Happy Holidays, and enjoy programming with Ruby 2.3! SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef - From 6f37266ef19ac4745d757b1c7fd2acd1f51e7919 Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Sat, 5 Mar 2016 19:36:05 +0200 Subject: [PATCH 0036/3394] Update release list on downloads page (bg) --- bg/downloads/index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/bg/downloads/index.md b/bg/downloads/index.md index 989cbb9253..4178b7f303 100644 --- a/bg/downloads/index.md +++ b/bg/downloads/index.md @@ -37,17 +37,21 @@ Ruby може да бъде инсталиран и от изходен код може да използвате някое от приложенията за управление на Ruby версии, споменати по-горе. Те могат да ви помогнат. -* **Текуща стабилна версия:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **Предишна стабилна версия:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **Стара стабилна версия :** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **Стабилни версии:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.downloads.security_maintenance %} +* **Получават security ъпдейти (скоро ще бъдат преустановени!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **Преустановена поддръжка (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **Snapshots:** * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): From b9060cea19a1bf59af1c75398fda0de5f838b6a6 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 18:48:07 +0100 Subject: [PATCH 0037/3394] Fix link (bg) --- bg/downloads/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bg/downloads/index.md b/bg/downloads/index.md index 4178b7f303..ade91ef529 100644 --- a/bg/downloads/index.md +++ b/bg/downloads/index.md @@ -69,6 +69,7 @@ Ruby може да бъде инсталиран и от изходен код вас. + [license]: {{ site.license.url }} -[installation]: /bg/documentation/installation +[installation]: /bg/documentation/installation/ [mirrors]: /en/downloads/mirrors/ From cc006f9ab1e198e5970792fe586c852334bf55e3 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 18:58:22 +0100 Subject: [PATCH 0038/3394] Update release list on downloads page (de) --- de/downloads/index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/de/downloads/index.md b/de/downloads/index.md index a648005508..4d5e987d14 100644 --- a/de/downloads/index.md +++ b/de/downloads/index.md @@ -36,17 +36,21 @@ Siehe die [Installationsanleitung][installation] für Details. Falls es Schwierigkeiten beim Kompilieren geben sollte, solltest Du vielleicht zu einem der oben erwähnten Drittanbieter-Werkzeuge greifen. -* **Stabile Version:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **Stabile Vorgängerversion:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **Stabile Vorgängerversion:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **Stabile Versionen:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.downloads.security_maintenance %} +* **In der Phase der Sicherheits-Maintenance (Unterstützung endet bald!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **Nicht mehr unterstützt (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **Snapshots:** * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): From 86696bec57d9f276ca9b69781c554d248dcd0bdc Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 20:07:25 +0100 Subject: [PATCH 0039/3394] Remove deprecated 'generate' task --- Rakefile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Rakefile b/Rakefile index 2773097b1e..42888d4f8e 100644 --- a/Rakefile +++ b/Rakefile @@ -29,11 +29,6 @@ task :build do Jekyll::Site.new(options).process end -task :generate do - warn "Warning: The `generate' task is deprecated, use `build' instead." - Rake::Task[:build].invoke -end - desc "Serve the Jekyll site locally" task :serve do sh "rackup config.ru" From cb74e831d639055dd4dc8b706b97bcfac9dac897 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 5 Mar 2016 20:18:30 +0100 Subject: [PATCH 0040/3394] Small improvements in posts (en) --- en/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md | 4 ++-- en/news/_posts/2015-12-16-ruby-2-1-8-released.md | 4 ++-- en/news/_posts/2015-12-16-ruby-2-2-4-released.md | 2 +- ...afe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/en/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md index a55fa586f3..e59e08a025 100644 --- a/en/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md +++ b/en/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -9,13 +9,13 @@ lang: en Ruby 2.0.0-p648 has been released. -This release includes a security fix for Fiddle and DL extension. +This release includes a security fix for the Fiddle and DL extensions. Please view the topic below for more details. * [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) Ruby 2.0.0 is now under the state of the security maintenance phase, until Feb. 24th, 2016. -After the date, maintenance of Ruby 2.0.0 will be ended. +After that date, maintenance of Ruby 2.0.0 will be ended. We recommend you start planning migration to newer versions of Ruby, such as 2.1, 2.2 or 2.3 (scheduled to release within a few weeks). ## Download diff --git a/en/news/_posts/2015-12-16-ruby-2-1-8-released.md b/en/news/_posts/2015-12-16-ruby-2-1-8-released.md index 2c17152b48..0a4845cfd1 100644 --- a/en/news/_posts/2015-12-16-ruby-2-1-8-released.md +++ b/en/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -9,7 +9,7 @@ lang: en Ruby 2.1.8 has been released. -This release includes a security fix for Fiddle and DL extension. +This release includes a security fix for the Fiddle and DL extensions. Please view the topic below for more details. * [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) @@ -52,4 +52,4 @@ for details. Thanks to everyone who helped with this release. -The maintenance of Ruby 2.1, include this release, is based on the "Agreement for the Ruby stable version" of [the Ruby Association](http://www.ruby.or.jp/). +The maintenance of Ruby 2.1, including this release, is based on the "Agreement for the Ruby stable version" of the [Ruby Association](http://www.ruby.or.jp/). diff --git a/en/news/_posts/2015-12-16-ruby-2-2-4-released.md b/en/news/_posts/2015-12-16-ruby-2-2-4-released.md index 59c760b59d..ecc19dc6dd 100644 --- a/en/news/_posts/2015-12-16-ruby-2-2-4-released.md +++ b/en/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -9,7 +9,7 @@ lang: en Ruby 2.2.4 has been released. -This release includes a security fix for Fiddle extension. +This release includes a security fix for the Fiddle extension. Please view the topic below for more details. * [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) diff --git a/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index 9144a58321..528b35a0b1 100644 --- a/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/en/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -36,7 +36,7 @@ function_pointer = handle[dangerous_user_input] {% endhighlight %} All users running an affected release should either upgrade or use one of -the work arounds immediately. +the workarounds immediately. ## Affected Versions From ea6eda47995ed559b1cc8e840de084c8a68960f4 Mon Sep 17 00:00:00 2001 From: Shim Won Date: Sun, 6 Mar 2016 10:36:05 +0900 Subject: [PATCH 0041/3394] Update release list on downloads page (ko) --- ko/downloads/index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/ko/downloads/index.md b/ko/downloads/index.md index 722b7758a3..14911e5708 100644 --- a/ko/downloads/index.md +++ b/ko/downloads/index.md @@ -35,17 +35,21 @@ lang: ko 밑에서 소개하는 서드파티 도구 중 하나를 이용해볼 것을 고려해 보십시오. 도움이 될 것입니다. -* **안정버전:** - [루비 {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **이전버전:** - [루비 {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **낡은 버전:** - [루비 {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **안정 릴리스:**{% for release in site.downloads.stable %} + * [루비 {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.downloads.security_maintenance %} +* **보안 유지보수 단계 (곧 EOL 예정!):**{% for release in site.downloads.security_maintenance %} + * [루비 {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **더 이상 유지보수 없음 (EOL):**{% for release in site.downloads.eol %} + * [루비 {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **스냅숏:** * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): From 263ff5bfa684a7e7247caa7a988303298e78a47a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 6 Mar 2016 10:24:11 +0100 Subject: [PATCH 0042/3394] Small fix (ko) --- ko/downloads/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ko/downloads/index.md b/ko/downloads/index.md index 14911e5708..a06ec9c41e 100644 --- a/ko/downloads/index.md +++ b/ko/downloads/index.md @@ -40,13 +40,13 @@ lang: ko sha256: {{ release.sha256.gz }}{% endfor %} {% if site.downloads.security_maintenance %} -* **보안 유지보수 단계 (곧 EOL 예정!):**{% for release in site.downloads.security_maintenance %} +* **보안 유지보수 단계(곧 EOL 예정!):**{% for release in site.downloads.security_maintenance %} * [루비 {{ release.version }}]({{ release.url.gz }})
sha256: {{ release.sha256.gz }}{% endfor %} {% endif %} {% if site.downloads.eol %} -* **더 이상 유지보수 없음 (EOL):**{% for release in site.downloads.eol %} +* **더 이상 유지보수 없음(EOL):**{% for release in site.downloads.eol %} * [루비 {{ release.version }}]({{ release.url.gz }})
sha256: {{ release.sha256.gz }}{% endfor %} {% endif %} From 57d3bf6aea49fe63cc917c81898227821cbd1a6b Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 7 Mar 2016 17:52:15 +0100 Subject: [PATCH 0043/3394] Update community/mailing-lists page (de) Closes issue #1314. --- de/community/mailing-lists/index.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/de/community/mailing-lists/index.md b/de/community/mailing-lists/index.md index 1e4a80bee1..534385e8ab 100644 --- a/de/community/mailing-lists/index.md +++ b/de/community/mailing-lists/index.md @@ -12,24 +12,27 @@ Ruby hat vier vorrangige englischsprachige Mailinglisten: Ruby-Talk : Dies ist die höchstfrequentierte Liste. Sie behandelt alle allgemeinen - Themen zu Ruby. Ruby-Talk wird auf der - [comp.lang.ruby](news:comp.lang.ruby) Newsgroup und im - [Ruby-Forum.org][1] gespiegelt. ([Wöchentliche Zusammenfassung][2], - [FAQ][3], [Archiv][4]) + Themen zu Ruby. Ruby-Talk wird im [Ruby-Forum.com][1] gespiegelt. + ([FAQ][2], [Archiv][3]) Ruby-Core : Diese Liste behandelt die Core-Entwicklung von Ruby. Sie wird hauptsächlich zum Besprechen von Implementierungsfragen und - Patch-Reviews verwendet. ([Archiv][5]) + Patch-Reviews verwendet. ([Archiv][4]) Ruby-Doc : Diese Liste dient zur Diskussion der Ruby-Dokumentation und der dafür - verwendeten Programme. ([Archiv auf Gmane][6]) + verwendeten Programme. ([Archiv auf Gmane][5]) Ruby-CVS : Sämtliche Commits in das Ruby-Repository werden an diese Liste gesendet. +comp.lang.ruby (Newsgroup) +: Für diejenigen, die das Usenet bevorzugen, ist die + [comp.lang.ruby](news:comp.lang.ruby)-Newsgroup eine gute Anlaufstelle. + + ## An- oder Abmelden {% include subscription-form.html %} @@ -39,9 +42,8 @@ auch [manuell anmelden](manual-instructions/). -[1]: http://ruby-forum.org -[2]: http://www.rubyweeklynews.org/ -[3]: http://rubyhacker.com/clrFAQ.html -[4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml -[5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml -[6]: http://dir.gmane.org/gmane.comp.lang.ruby.documentation +[1]: https://www.ruby-forum.com/ +[2]: http://rubyhacker.com/clrFAQ.html +[3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml +[4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml +[5]: http://dir.gmane.org/gmane.comp.lang.ruby.documentation From 2bdfaecd87b36be9af55caca6cfe69e3d311ef15 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 7 Mar 2016 17:53:59 +0100 Subject: [PATCH 0044/3394] Fix link to ruby-forum.com --- bg/community/mailing-lists/index.md | 2 +- en/community/mailing-lists/index.md | 2 +- es/community/mailing-lists/index.md | 4 ++-- fr/community/mailing-lists/index.md | 2 +- id/community/mailing-lists/index.md | 4 ++-- it/community/mailing-lists/index.md | 2 +- ko/community/mailing-lists/index.md | 2 +- pl/community/mailing-lists/index.md | 4 ++-- pt/community/mailing-lists/index.md | 2 +- ru/community/mailing-lists/index.md | 2 +- vi/community/mailing-lists/index.md | 2 +- zh_cn/community/mailing-lists/index.md | 4 ++-- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bg/community/mailing-lists/index.md b/bg/community/mailing-lists/index.md index 11c147c672..7fb4a65dd2 100644 --- a/bg/community/mailing-lists/index.md +++ b/bg/community/mailing-lists/index.md @@ -40,7 +40,7 @@ comp.lang.ruby дискусионна група. -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/en/community/mailing-lists/index.md b/en/community/mailing-lists/index.md index 13ac77950b..6153b295ae 100644 --- a/en/community/mailing-lists/index.md +++ b/en/community/mailing-lists/index.md @@ -40,7 +40,7 @@ subscribing the [manual way](manual-instructions/). -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/es/community/mailing-lists/index.md b/es/community/mailing-lists/index.md index 5baf12c001..5794222b56 100644 --- a/es/community/mailing-lists/index.md +++ b/es/community/mailing-lists/index.md @@ -13,7 +13,7 @@ Ruby tiene cuatro listas de correo principales en inglés: Ruby-Talk : Esta es la lista más popular y trata temas en general sobre Ruby. Se mantiene una copia espejada de Ruby-Talk en el grupo de noticias - [comp.lang.ruby](news:comp.lang.ruby) y [Ruby-Forum.org][1]. + [comp.lang.ruby](news:comp.lang.ruby) y [Ruby-Forum.com][1]. ([Resúmenes semanales][2], [FAQ][3], [Archivos][4]) Ruby-Core @@ -38,7 +38,7 @@ manual](manual-instructions/). -[1]: http://ruby-forum.org +[1]: https://www.ruby-forum.com/ [2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml diff --git a/fr/community/mailing-lists/index.md b/fr/community/mailing-lists/index.md index 9ad8622590..e5f6fb1096 100644 --- a/fr/community/mailing-lists/index.md +++ b/fr/community/mailing-lists/index.md @@ -40,7 +40,7 @@ formulaire, essayez la [méthode manuelle](manual-instructions/). -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml diff --git a/id/community/mailing-lists/index.md b/id/community/mailing-lists/index.md index 9cad2c4559..5c3b7d6f3a 100644 --- a/id/community/mailing-lists/index.md +++ b/id/community/mailing-lists/index.md @@ -23,7 +23,7 @@ Ruby juga menyediakan milis berbahasa Inggris dengan komunitas global: Ruby-Talk : Milis Ruby internasional yang paling terkenal. Ruby-Talk juga tersedia melalui newsgroup [comp.lang.ruby](news:comp.lang.ruby) dan - [Ruby-Forum.org][8]. ([Rangkuman Mingguan][9], [FAQ][10], [Arsip][11]) + [Ruby-Forum.com][8]. ([Rangkuman Mingguan][9], [FAQ][10], [Arsip][11]) Ruby-Core : Mendiskusikan implementasi *interpreter* Ruby, terutama @@ -54,7 +54,7 @@ manual](/id/community/mailing-lists/manual-instructions/). [5]: http://blog.gmane.org/gmane.comp.lang.ruby.region.indonesia [6]: http://rss.gmane.org/gmane.comp.lang.ruby.region.indonesia [7]: http://www.mail-archive.com/id-ruby@yahoogroups.com/ -[8]: http://ruby-forum.org +[8]: https://www.ruby-forum.com/ [9]: http://www.rubyweeklynews.org/ [10]: http://rubyhacker.com/clrFAQ.html [11]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml diff --git a/it/community/mailing-lists/index.md b/it/community/mailing-lists/index.md index 5260cdb962..0f0bc6de34 100644 --- a/it/community/mailing-lists/index.md +++ b/it/community/mailing-lists/index.md @@ -38,7 +38,7 @@ manuale](/en/community/mailing-lists/manual-instructions/) (in inglese). -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml diff --git a/ko/community/mailing-lists/index.md b/ko/community/mailing-lists/index.md index af82576c43..4bad36816b 100644 --- a/ko/community/mailing-lists/index.md +++ b/ko/community/mailing-lists/index.md @@ -38,7 +38,7 @@ comp.lang.ruby 뉴스그룹 -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/pl/community/mailing-lists/index.md b/pl/community/mailing-lists/index.md index f071fd5c0e..d22ed1274e 100644 --- a/pl/community/mailing-lists/index.md +++ b/pl/community/mailing-lists/index.md @@ -14,7 +14,7 @@ Ruby-Talk : Najpopularniejsza lista mailingowa, która zajmuje się ogólnymi tematami związanymi z językiem Ruby. Ruby-Talk jest kopiowana na grupę newsową [comp.lang.ruby](news:comp.lang.ruby) oraz forum - [Ruby-Forum.org][1]. ([Tygodniowe Podsumowania][2], [FAQ][3], + [Ruby-Forum.com][1]. ([Tygodniowe Podsumowania][2], [FAQ][3], [Archiwa][4]) Ruby-Core @@ -44,7 +44,7 @@ way](/en/community/mailing-lists/manual-instructions/). -[1]: http://ruby-forum.org +[1]: https://www.ruby-forum.com/ [2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml diff --git a/pt/community/mailing-lists/index.md b/pt/community/mailing-lists/index.md index 1aa92e6e2a..8d335ba80f 100644 --- a/pt/community/mailing-lists/index.md +++ b/pt/community/mailing-lists/index.md @@ -53,7 +53,7 @@ tente se inscrever [manualmente](manual-instructions/). -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/ru/community/mailing-lists/index.md b/ru/community/mailing-lists/index.md index 3c076f9b7a..802322cac3 100644 --- a/ru/community/mailing-lists/index.md +++ b/ru/community/mailing-lists/index.md @@ -40,7 +40,7 @@ Ruby-CVS -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/vi/community/mailing-lists/index.md b/vi/community/mailing-lists/index.md index bddecbe009..d4dc0b6236 100644 --- a/vi/community/mailing-lists/index.md +++ b/vi/community/mailing-lists/index.md @@ -39,7 +39,7 @@ vui lòng thử lại theo cách [thủ công](manual-instructions/). -[1]: http://ruby-forum.com +[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/zh_cn/community/mailing-lists/index.md b/zh_cn/community/mailing-lists/index.md index 0d46980058..02c6015754 100644 --- a/zh_cn/community/mailing-lists/index.md +++ b/zh_cn/community/mailing-lists/index.md @@ -11,7 +11,7 @@ Ruby 最主要的四个使用英文语言交流的邮件列表: Ruby-Talk : 这是处理一般 Ruby 话题最流行的邮件列表。Ruby-Talk 被 [comp.lang.ruby](news:comp.lang.ruby) -新闻组和 [Ruby-Forum.org][1] 所效仿。([Weekly Summaries][2], [FAQ][3], [Archives][4]) +新闻组和 [Ruby-Forum.com][1] 所效仿。([Weekly Summaries][2], [FAQ][3], [Archives][4]) Ruby-Core : 该列表处理和 Ruby 相关的核心和重点专题,经常被用于补丁审核。([Archives][5]) @@ -30,7 +30,7 @@ Ruby-CVS -[1]: http://ruby-forum.org +[1]: https://www.ruby-forum.com/ [2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml From 6724b75a788c821528e37cee822edf676447e13f Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 7 Mar 2016 17:55:00 +0100 Subject: [PATCH 0045/3394] Remove link to weekly summaries of Ruby-Talk The site ceased to exist years ago. --- es/community/mailing-lists/index.md | 3 +-- fr/community/mailing-lists/index.md | 6 ++---- id/community/mailing-lists/index.md | 3 +-- it/community/mailing-lists/index.md | 3 +-- pl/community/mailing-lists/index.md | 3 +-- zh_cn/community/mailing-lists/index.md | 3 +-- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/es/community/mailing-lists/index.md b/es/community/mailing-lists/index.md index 5794222b56..461e9a8df3 100644 --- a/es/community/mailing-lists/index.md +++ b/es/community/mailing-lists/index.md @@ -14,7 +14,7 @@ Ruby-Talk : Esta es la lista más popular y trata temas en general sobre Ruby. Se mantiene una copia espejada de Ruby-Talk en el grupo de noticias [comp.lang.ruby](news:comp.lang.ruby) y [Ruby-Forum.com][1]. - ([Resúmenes semanales][2], [FAQ][3], [Archivos][4]) + ([FAQ][3], [Archivos][4]) Ruby-Core : Esta lista trata temas del núcleo y de implementación sobre Ruby, a @@ -39,7 +39,6 @@ manual](manual-instructions/). [1]: https://www.ruby-forum.com/ -[2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/fr/community/mailing-lists/index.md b/fr/community/mailing-lists/index.md index e5f6fb1096..044d701309 100644 --- a/fr/community/mailing-lists/index.md +++ b/fr/community/mailing-lists/index.md @@ -15,9 +15,8 @@ Ruby-Talk : C’est la plus populaire, elle accueille les discussions généralistes sur Ruby. Elle possède des miroirs sur le web, le *newsgroup* [comp.lang.ruby](news:comp.lang.ruby) et le forum - [*Ruby-Forum.com*][1]. Des résumés hebdomadaires, les [*Weekly - Summaries*][2], sont proposés. Voir aussi la [FAQ][3], les - [archives][4]. + [*Ruby-Forum.com*][1]. + Voir aussi la [FAQ][3], les [archives][4]. Ruby-Core : Cette liste accueille les sujets relatifs à l’implémentation et au @@ -41,7 +40,6 @@ formulaire, essayez la [méthode manuelle](manual-instructions/). [1]: https://www.ruby-forum.com/ -[2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/id/community/mailing-lists/index.md b/id/community/mailing-lists/index.md index 5c3b7d6f3a..27dc5c9c21 100644 --- a/id/community/mailing-lists/index.md +++ b/id/community/mailing-lists/index.md @@ -23,7 +23,7 @@ Ruby juga menyediakan milis berbahasa Inggris dengan komunitas global: Ruby-Talk : Milis Ruby internasional yang paling terkenal. Ruby-Talk juga tersedia melalui newsgroup [comp.lang.ruby](news:comp.lang.ruby) dan - [Ruby-Forum.com][8]. ([Rangkuman Mingguan][9], [FAQ][10], [Arsip][11]) + [Ruby-Forum.com][8]. ([FAQ][10], [Arsip][11]) Ruby-Core : Mendiskusikan implementasi *interpreter* Ruby, terutama @@ -55,7 +55,6 @@ manual](/id/community/mailing-lists/manual-instructions/). [6]: http://rss.gmane.org/gmane.comp.lang.ruby.region.indonesia [7]: http://www.mail-archive.com/id-ruby@yahoogroups.com/ [8]: https://www.ruby-forum.com/ -[9]: http://www.rubyweeklynews.org/ [10]: http://rubyhacker.com/clrFAQ.html [11]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [12]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/it/community/mailing-lists/index.md b/it/community/mailing-lists/index.md index 0f0bc6de34..1d5d35398a 100644 --- a/it/community/mailing-lists/index.md +++ b/it/community/mailing-lists/index.md @@ -14,7 +14,7 @@ Ruby-Talk : Questa è la lista di discussione più popolare e tratta di argomenti generali su Ruby. Ruby-Talk ha anche un mirror nel newsgroup [comp.lang.ruby](news:comp.lang.ruby) e [Ruby-Forum.com][1]. - ([Riassunti settimanali][2], [FAQ][3], [Archivi][4]). + ([FAQ][3], [Archivi][4]). Ruby-Core : Questa lista tratta argomenti che riguardano nucleo (“core”) e @@ -39,7 +39,6 @@ manuale](/en/community/mailing-lists/manual-instructions/) (in inglese). [1]: https://www.ruby-forum.com/ -[2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/pl/community/mailing-lists/index.md b/pl/community/mailing-lists/index.md index d22ed1274e..bc65a13850 100644 --- a/pl/community/mailing-lists/index.md +++ b/pl/community/mailing-lists/index.md @@ -14,7 +14,7 @@ Ruby-Talk : Najpopularniejsza lista mailingowa, która zajmuje się ogólnymi tematami związanymi z językiem Ruby. Ruby-Talk jest kopiowana na grupę newsową [comp.lang.ruby](news:comp.lang.ruby) oraz forum - [Ruby-Forum.com][1]. ([Tygodniowe Podsumowania][2], [FAQ][3], + [Ruby-Forum.com][1]. ([FAQ][3], [Archiwa][4]) Ruby-Core @@ -45,7 +45,6 @@ way](/en/community/mailing-lists/manual-instructions/). [1]: https://www.ruby-forum.com/ -[2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/zh_cn/community/mailing-lists/index.md b/zh_cn/community/mailing-lists/index.md index 02c6015754..9b29451f58 100644 --- a/zh_cn/community/mailing-lists/index.md +++ b/zh_cn/community/mailing-lists/index.md @@ -11,7 +11,7 @@ Ruby 最主要的四个使用英文语言交流的邮件列表: Ruby-Talk : 这是处理一般 Ruby 话题最流行的邮件列表。Ruby-Talk 被 [comp.lang.ruby](news:comp.lang.ruby) -新闻组和 [Ruby-Forum.com][1] 所效仿。([Weekly Summaries][2], [FAQ][3], [Archives][4]) +新闻组和 [Ruby-Forum.com][1] 所效仿。([FAQ][3], [Archives][4]) Ruby-Core : 该列表处理和 Ruby 相关的核心和重点专题,经常被用于补丁审核。([Archives][5]) @@ -31,7 +31,6 @@ Ruby-CVS [1]: https://www.ruby-forum.com/ -[2]: http://www.rubyweeklynews.org/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml From cd47a55b0ad7644660673668c9b586df94410df0 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 7 Mar 2016 19:54:00 +0100 Subject: [PATCH 0046/3394] Update gem bundle --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8ffca282ed..f1e32c82fb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.3.8) + addressable (2.4.0) blankslate (2.1.2.4) classifier-reborn (2.0.4) fast-stemmer (~> 1.0) @@ -40,7 +40,7 @@ GEM jekyll-watch (1.3.1) listen (~> 3.0) kgio (2.10.0) - kramdown (1.9.0) + kramdown (1.10.0) lanyon (0.2.3) jekyll (~> 2.0) rack (~> 1.6) @@ -54,8 +54,8 @@ GEM multipart_body (0.2.1) nokogiri (1.6.7.2) mini_portile2 (~> 2.0.0.rc2) - octokit (4.2.0) - sawyer (~> 0.6.0, >= 0.5.3) + octokit (4.3.0) + sawyer (~> 0.7.0, >= 0.5.3) paint (0.9.0) parslet (1.5.0) blankslate (~> 2.0) @@ -69,7 +69,7 @@ GEM rack-rewrite (1.5.1) rack-ssl (1.4.1) rack - raindrops (0.15.0) + raindrops (0.16.0) rake (10.5.0) rb-fsevent (0.9.7) rb-inotify (0.9.7) @@ -77,8 +77,8 @@ GEM redcarpet (3.3.4) safe_yaml (1.0.4) sass (3.4.21) - sawyer (0.6.0) - addressable (~> 2.3.5) + sawyer (0.7.0) + addressable (>= 2.3.5, < 2.5) faraday (~> 0.8, < 0.10) spidr (0.5.0) nokogiri (~> 1.3) From 770eed84e7349537a901e2a95cacad725dc30ed2 Mon Sep 17 00:00:00 2001 From: Alex S Date: Sun, 6 Mar 2016 16:38:54 +0800 Subject: [PATCH 0047/3394] Update release list on downloads page (zh_cn) --- zh_cn/downloads/index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/zh_cn/downloads/index.md b/zh_cn/downloads/index.md index da3b713607..b49e19ea01 100644 --- a/zh_cn/downloads/index.md +++ b/zh_cn/downloads/index.md @@ -26,17 +26,21 @@ lang: zh_cn 从源代码编译 Ruby 的详细说明,参见[安装页面][installation]。若编译 Ruby 时遇到问题,请参考安装页面罗列的第三方工具,可能会有帮助。 -* **当前稳定版:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **前一个稳定版:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **旧的稳定版:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **稳定版:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.downloads.security_maintenance %} +* **在做安全性维护的版本(很快 EOL!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **不再维护的版本(EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **快照:** * [稳定版快照]({{ site.downloads.stable_snapshot.url.gz }}):当前稳定版 tarball 的最新快照 From 283cca44efce6ab038e7f8c4a1cd19801635b562 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Fri, 11 Mar 2016 11:28:01 +0900 Subject: [PATCH 0048/3394] removed RubySpec, It was already sunsets --- en/about/index.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/en/about/index.md b/en/about/index.md index bbab05eebd..1155b1891a 100644 --- a/en/about/index.md +++ b/en/about/index.md @@ -212,10 +212,6 @@ Here’s a list: * [Cardinal][cardinal] is a “Ruby compiler for [Parrot][parrot] Virtual Machine” (Perl 6). -Some of those implementations, including MRI, follow the guidelines of -[RubySpec][rubyspec], a “complete executable specification for the Ruby -programming language”. - ### References 1 Matz, speaking on the Ruby-Talk mailing list, [May 12th, @@ -246,4 +242,3 @@ programming language”. [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org From 4bf1b5e32cff455efc8e424897f4e92c5023decc Mon Sep 17 00:00:00 2001 From: Andor Chen Date: Tue, 16 Feb 2016 12:25:51 +0800 Subject: [PATCH 0049/3394] Switch pygments to rouge Use rouge for syntax highlighting instead of pygments. --- Gemfile | 1 + Gemfile.lock | 2 ++ _config.yml | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 273263979a..748d907587 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ ruby ENV['CUSTOM_RUBY_VERSION'] || '2.3.0' gem 'rake', '~> 10.0' gem 'jekyll', '~> 2.0' +gem 'rouge', '~> 1.10' gem 'unicorn' gem 'lanyon', '~> 0.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index f1e32c82fb..3b783bd170 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,6 +75,7 @@ GEM rb-inotify (0.9.7) ffi (>= 0.5.0) redcarpet (3.3.4) + rouge (1.10.1) safe_yaml (1.0.4) sass (3.4.21) sawyer (0.7.0) @@ -104,6 +105,7 @@ DEPENDENCIES rack-rewrite rack-ssl rake (~> 10.0) + rouge (~> 1.10) spidr (~> 0.4) unicorn validate-website (~> 0.9) diff --git a/_config.yml b/_config.yml index 79b250a451..4c64280618 100644 --- a/_config.yml +++ b/_config.yml @@ -1,6 +1,6 @@ markdown: kramdown permalink: pretty -highlighter: pygments +highlighter: rouge timezone: UTC From ae55032288ca0e565c5ae2cc73af7964ff16ddfc Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 12 Mar 2016 21:04:15 +0100 Subject: [PATCH 0050/3394] Remove mention of Pygments from README --- README.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index 1037916fd2..36581cdeb5 100644 --- a/README.md +++ b/README.md @@ -19,12 +19,7 @@ Please help us stay on top of things by following our ## Get It! -The site uses Pygments for syntax highlighting. In order to generate the -site locally, you need to have Python installed on your system -(refer to the [pygments.rb gem homepage](https://github.com/tmm1/pygments.rb) -for more detailed information). - -Bundler will take care of the rest of the dependencies, so unless you +Bundler will take care of the dependencies, so unless you already have done so, you might need to install bundler with: ``` sh From 971554c6cbe563d94dd75f3fcccc1fe15774c457 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Thu, 17 Mar 2016 11:21:10 +0700 Subject: [PATCH 0051/3394] Translate support plans of Ruby 2.0.0 and Ruby 2.1 (id) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 id/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/id/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/id/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..1da7387672 --- /dev/null +++ b/id/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,42 @@ +--- +layout: news_post +title: "Rencana Dukungan untuk Ruby 2.0.0 dan Ruby 2.1" +author: "usa" +translator: "meisyal" +date: 2016-02-24 09:00:00 +0000 +lang: id +--- + +Kami mengumumkan rencana dukungan untuk Ruby 2.0.0 dan Ruby 2.1. + +## Tentang Ruby 2.0.0 + +Seperti yang telah diumumkan sebelumnya, semua dukungan untuk Ruby 2.0.0 telah berakhir hari ini. +*Bug* dan perbaikan keamanan dari versi Ruby terakhir tidak akan lagi +di-*backport* ke 2.0.0, dan tidak ada *patch* 2.0.0 yang akan dirilis. + +Kami sangat merekomendasikan Anda untuk memperbarui ke Ruby 2.3 atau 2.2 segera mungkin. + +Mohon hubungi kami lewat ruby-core ML jika Anda ingin melanjutkan perawatan +*branch* 2.0.0 karena beberapa alasan yang dapat dibenarkan Anda tidak dapat memperbarui. + +## Tentang Ruby 2.1 + +Kami sedang merencanakan untuk merilis Ruby 2.1.9 pada akhir bulan Maret. +Setelah rilis, kami akan mengakhiri fase perawatan biasa dari 2.1, +dan memulai fase perawatan keamanannya. +Ini berarti setelah rilis 2.1.9 kami tidak akan pernah *backport* +perbaikan *bug* apapun ke 2.1 kecuali perbaikan keamanan. + +Kami merekomendasikan Anda untuk mulai merencanakan pembaruan ke Ruby 2.3 atau 2.2. + +Ngomong-ngomong, kami juga sedang merencanakan untuk merilis Ruby 2.1.10 setelah +merilis 2.1.9. Rilis ini bukan sebuah perbaikan *bug* atau keamanan. +Kami tidak pernah mengalami versi Ruby dengan dua digit angka. +Sehingga, kami menganggap penting untuk menguji rilis tersebut +tanpa ada perbaikan keamanan yang kritis. + +Ruby 2.1.10 tidak akan mencakup perubahan apapun dari 2.1.9, +kecuali untuk nomor versinya. +Anda tidak harus menggunakannya saat produksi, tetapi Anda seharusnya mengujinya sebelum +rilis 2.1.11 yang mungkin akan mencakup perbaikan keamanan. From d51d171a2de754f5c0ba103fecba70483261e859 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sun, 20 Mar 2016 12:41:56 +0800 Subject: [PATCH 0052/3394] Update download page (zh_tw) --- zh_tw/downloads/index.md | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/zh_tw/downloads/index.md b/zh_tw/downloads/index.md index 83481d37fd..1b89a9546f 100644 --- a/zh_tw/downloads/index.md +++ b/zh_tw/downloads/index.md @@ -4,8 +4,8 @@ title: "下載安裝" lang: zh_tw --- -您可以在這裡下載適合最新的 Ruby 發行版。目前最新的穩定版本是 -{{ site.downloads.stable[0].version }}。另外,請先閱讀 [Ruby 版權說明][license]。 +您可以在這裡下載最適合的 Ruby 發行版。目前最新的穩定版本是 +{{ site.downloads.stable[0].version }}。請記得詳閱 [Ruby 版權說明][license]。 {: .summary} ### 安裝 Ruby 的方法 @@ -22,28 +22,32 @@ lang: zh_tw ### 從原始碼編譯 Ruby -如果您非常熟悉您的作業系統,或是您的環境需要特別設定,那麼直接使用原始碼來安裝是個極佳的方式。如果您的平台沒有編譯好的套件,則會需要透過原始碼來安裝。 +如果您非常熟悉您的作業系統,或是您的環境需要特別設定,那麼直接使用原始碼來安裝是最適合的方式。如果您的平台沒有編譯好的套件,則會需要透過原始碼來安裝。 進一步關於從原始碼編譯 Ruby 的資訊,請參考[安裝][installation]頁面。若編譯 Ruby 時遇到任何問題,請參考安裝頁面羅列的第三方工具,可能會有幫助。 -* **當前穩定版:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} +* **穩定版本:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} -* **穩定上一版:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} +{% if site.downloads.security_maintenance %} +* **處於安全維護週期(即將停止維護!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} -* **舊穩定版:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +{% if site.downloads.eol %} +* **不再維護(停止維護):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **快照:** - * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): - 當前穩定版 tarball 的最新快照 - * [Nightly Snapshot]({{ site.downloads.nightly_snapshot.url.gz }}): + * [穩定版快照]({{ site.downloads.stable_snapshot.url.gz }}): + 這是當前穩定版本分支的 tarball 的最新快照; + * [最新版本]({{ site.downloads.nightly_snapshot.url.gz }}): 這是 SVN 上的 tarball,每晚更新。 - 可能有問題或 bug,謹慎使用! + 可能有問題或 bug,謹慎使用,風險自負! 關於 Ruby Subversion 與 Git Repositories 的資訊,參見 [Ruby Core](/en/community/ruby-core/) 頁面。 From 39c1178219100548690b3b82cb2b79b640b2b127 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 20 Mar 2016 14:50:53 +0100 Subject: [PATCH 0053/3394] Upgrade to lanyon 0.3.0 --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 748d907587..3d8434c862 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem 'jekyll', '~> 2.0' gem 'rouge', '~> 1.10' gem 'unicorn' -gem 'lanyon', '~> 0.2.0' +gem 'lanyon', '~> 0.3.0' gem 'rack-rewrite' gem 'rack-ssl' gem 'rack-protection' diff --git a/Gemfile.lock b/Gemfile.lock index 3b783bd170..7ec0648cce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,8 +41,8 @@ GEM listen (~> 3.0) kgio (2.10.0) kramdown (1.10.0) - lanyon (0.2.3) - jekyll (~> 2.0) + lanyon (0.3.0) + jekyll (>= 2.0, < 4.0) rack (~> 1.6) liquid (2.6.3) listen (3.0.6) @@ -100,7 +100,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 2.0) - lanyon (~> 0.2.0) + lanyon (~> 0.3.0) rack-protection rack-rewrite rack-ssl From 2ecaaf7098fe9152a2cb3e92ce7404a03067282a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 20 Mar 2016 15:28:44 +0100 Subject: [PATCH 0054/3394] Revert "Upgrade to lanyon 0.3.0" This reverts commit 39c1178219100548690b3b82cb2b79b640b2b127. --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 3d8434c862..748d907587 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem 'jekyll', '~> 2.0' gem 'rouge', '~> 1.10' gem 'unicorn' -gem 'lanyon', '~> 0.3.0' +gem 'lanyon', '~> 0.2.0' gem 'rack-rewrite' gem 'rack-ssl' gem 'rack-protection' diff --git a/Gemfile.lock b/Gemfile.lock index 7ec0648cce..3b783bd170 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,8 +41,8 @@ GEM listen (~> 3.0) kgio (2.10.0) kramdown (1.10.0) - lanyon (0.3.0) - jekyll (>= 2.0, < 4.0) + lanyon (0.2.3) + jekyll (~> 2.0) rack (~> 1.6) liquid (2.6.3) listen (3.0.6) @@ -100,7 +100,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 2.0) - lanyon (~> 0.3.0) + lanyon (~> 0.2.0) rack-protection rack-rewrite rack-ssl From 9a1d0997e6eaa62417921fb29913b436a4160d4c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 20 Mar 2016 16:04:52 +0100 Subject: [PATCH 0055/3394] Upgrade to lanyon 0.3.1 --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 748d907587..904ecf5ae6 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem 'jekyll', '~> 2.0' gem 'rouge', '~> 1.10' gem 'unicorn' -gem 'lanyon', '~> 0.2.0' +gem 'lanyon', '~> 0.3.1' gem 'rack-rewrite' gem 'rack-ssl' gem 'rack-protection' diff --git a/Gemfile.lock b/Gemfile.lock index 3b783bd170..566088840c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,8 +41,8 @@ GEM listen (~> 3.0) kgio (2.10.0) kramdown (1.10.0) - lanyon (0.2.3) - jekyll (~> 2.0) + lanyon (0.3.1) + jekyll (>= 2.0, < 4.0) rack (~> 1.6) liquid (2.6.3) listen (3.0.6) @@ -100,7 +100,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 2.0) - lanyon (~> 0.2.0) + lanyon (~> 0.3.1) rack-protection rack-rewrite rack-ssl From 57eba54ea33c655e3ca75da0624ff52a4be001f4 Mon Sep 17 00:00:00 2001 From: Zhang Dan Jie Date: Tue, 22 Mar 2016 14:12:03 +0800 Subject: [PATCH 0056/3394] Minor fix, spanish correction --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 4c64280618..6ed98676cd 100644 --- a/_config.yml +++ b/_config.yml @@ -938,7 +938,7 @@ locales: text: Listas de correo url: /es/community/mailing-lists/ description: | - Habla sobre Ruby con desarrolladores al rededor del mundo. + Habla sobre Ruby con desarrolladores alrededor del mundo. user_groups: text: Grupos de usuarios url: /es/community/user-groups/ From 9c3604a044bd2258ec9bb796c68e635f8cc7c63b Mon Sep 17 00:00:00 2001 From: Fer Perales Date: Fri, 11 Mar 2016 14:58:12 -0600 Subject: [PATCH 0057/3394] Translate Support plan of ruby 2.0.0 and 2.1 (es) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md diff --git a/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md new file mode 100644 index 0000000000..5eddf41a1d --- /dev/null +++ b/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -0,0 +1,47 @@ +--- +layout: news_post +title: "Planes de soporte para Ruby 2.0.0 y Ruby 2.1" +author: "usa" +translator: "Fernando Perales" +date: 2016-02-24 09:00:00 +0000 +lang: es +--- + +Anunciamos los planes de soporte a futuro para Ruby 2.0.0 y Ruby 2.1. + +## Sobre Ruby 2.0.0 + + +Como se anunció anteriormente, todo el soporte para Ruby 2.0.0 ha terminado el día de hoy. + +Las correcciones de seguridad y errores de las versiones más recientes de Ruby ya no serán +portados a 2.0.0, y ningún parche de 2.0.0 será liberado. + +Te recomendamos altamente que actualices a Ruby 2.3 o 2.2 lo más pronto posible. + +Por favor contáctanos a través de la lista de correo ruby-core si quieres seguir manteniendo +la rama 2.0.0 o si por alguna razón justificada no puedes actualizar tu versión de Ruby. + +## Sobre Ruby 2.1 + +Estamos planeando liberar Ruby 2.1.9 a finales de marzo. +Después del lanzamiento, finalizaremos la fase normal de mantenimiento de 2.1, +y empezaremos la fase de mantenimiento de seguridad de dicha versión. +Eso significa que, después del lanzamiento de la versión 2.1.9, ya no +adaptaremos ningúna corrección de errores a 2.1 con excepción de los parches +de seguridad. + +Te recomendamos que comiences a planear la actualización a Ruby 2.3 o 2.2. + +Por cierto, también estamos planeando lanzar Ruby 2.1.10 inmediatamente +después de lanzar la versión 2.1.9. Este no es un lanzamiento ni de +correción de errores ni de seguridad. +Nunca hemos experimentado una versión de Ruby de dos dígitos. +Por lo tanto, consideramos importante probar dicho lanzamiento sin parches +de seguridad alguno. + +Ruby 2.1.10 no incluirá cambios de la versión 2.1.9, con excepción del número +de versión. +No es necesario que la uses en producción, pero deberías probarla antes del +lanzamiento de la versión 2.1.11 que probablemente ya incluya parches de +seguridad. From 786a623eed8931525e3865f03807fe61e7b1889d Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Sat, 26 Mar 2016 01:55:49 +0900 Subject: [PATCH 0058/3394] Update about page (ja) --- ja/about/index.md | 216 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 198 insertions(+), 18 deletions(-) diff --git a/ja/about/index.md b/ja/about/index.md index f50b69d9dd..7722cad1d1 100644 --- a/ja/about/index.md +++ b/ja/about/index.md @@ -4,30 +4,210 @@ title: "Rubyとは" lang: ja --- -Rubyは、手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援することを目的としています。もちろん通常の手続き型のプログラミングも可能です。 +なぜRubyはこんなに人気なのでしょうか?Rubyのファンは、Rubyを美しく芸術的な言語だと言います。 +なおかつ、便利で実用的だとも言います。 +一体どういうことでしょうか? +{: .summary} -Rubyはテキスト処理関係の能力などに優れ、Perlと同じくらい強力です。さらにシンプルな文法と、例外処理やイテレータなどの機構によって、より分かりやすいプログラミングが出来ます。 +### Rubyの作者の理念 -まあ、簡単にいえばPerlのような手軽さで「楽しく」オブジェクト指向しようという言語です。どうぞ使ってみてください。 +Rubyは絶妙にバランスのとれた言語です。 +Rubyの作者である、Matzこと[まつもと ゆきひろ][matz]氏は、好みの言語(Perl、Smalltalk、Eiffel、Ada、Lisp)の一部をブレンドし、 +関数型プログラミングと命令型プログラミングが絶妙に調和された新しい言語を作りました。 -Rubyはまつもと ゆきひろが個人で開発しているフリーソフトウェアです。 +Matzはよく、「Rubyをシンプルなものではなく、自然なものにしようとしている」と言います。 -## Rubyの特長 +付け加えて、こんな風にも言っています。 -* シンプルな文法 -* 普通のオブジェクト指向機能(クラス、メソッドコールなど) -* 特殊なオブジェクト指向機能(Mixin、特異メソッドなど) -* 演算子オーバーロード -* 例外処理機能 -* イテレータとクロージャ -* ガーベージコレクタ -* ダイナミックローディング(アーキテクチャによる) -* 移植性が高い。多くのUNIX上で動くだけでなく、DOSやWindows、Mac、BeOSなどの上でも動く +>Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 +>それはちょうど私たちの身体と同じようなものです[1](#fn1)。 -## Rubyの作者 +### Rubyの成長について -まつもと ゆきひろ [matz@netlab.jp](mailto:matz@netlab.jp) +1995年の一般公開以来、Rubyは世界中から熱心なプログラマーを集めています。 +2006年になると、Rubyは大量の支持を集めました。 +現在では、世界中の主要都市に活発なユーザーグループが形成され、 +そしてRubyに関する大規模なカンファレンスが開かれています。 -Posted by Shugo Maeda on 26 May 2006 -{: .post-info} +![Gmaneのグラフ](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity +"Graph courtesy of Gmane."){: style="padding-left:8px;"} +{: style="float:right"} +英語でRubyについて会話するための[メーリングリスト](/ja/community/mailing-lists/)であるruby-talkでは、 +2006年には平均して日に200通ものメッセージがやりとりされていました。 +最近ではそういった大きな場所での流量は低下しているものの、 +たくさんの小さなグループに分かれて、さまざまな会話がされています。 + +[TOIBE指標][tiobe]のような、人気や成長の度合いからプログラミング言語を測る指標のほとんどで、 +Rubyはトップ10内にランクインしています。 +こうした成長は、Rubyで書かれたソフトウェア、 +とりわけWebアプリケーションフレームワーク[Ruby on Rails][ror]の人気に起因しています。 + +また、Rubyは[フリーソフトウェア]({{ site.license.url }})です。 +無料とか自由に使えるといったことだけでなく、コピー、変更、および再配布の自由を約束しています。 + +### すべてがオブジェクト + +理想的な構文を見つけようと、Matzは当初、他の言語を調査したそうです。 +その時のことを思い出して、Matzは「Perlよりも強力で、Python2よりもオブジェクト指向な言語が欲しかったんだ[2](#fn2)」と語っています。 + +Rubyでは、すべてのものはオブジェクトです。 +すべての情報の塊・コードには、固有のプロパティとアクションを与えることができます。 +オブジェクト指向プログラミングでは、プロパティはインスタンス変数、アクションはメソッドと呼ばれます。 +Rubyによる純粋なオブジェクト指向のアプローチは、 +最もよくみられる、数にアクションを与える以下のようなコード片で確認できます。 + +{% highlight ruby %} +5.times { print "We *love* Ruby -- it's outrageous!" } +{% endhighlight %} + +多くの言語では、数やそれ以外のプリミティブな型はオブジェクトではありません。 +ですが、RubyはSmalltalkの影響を受け、すべての型がメソッドやインスタンス変数を与えられるようになっています。 +これがRubyが使いやすい理由の一つです。 +Rubyの世界では、オブジェクトに適用できることは、すべてのものに対して適用できるのです。 + +### Rubyの柔軟性 + +Rubyは柔軟な言語として知られています。 +Rubyでは、ユーザーが自由にその一部を変更することができます。 +やろうと思えば、Rubyのコアな部分でさえ、削除したり再定義したりできます。 +既存の部品をその上に追加することすらできます。 +Rubyはプログラマを制限しない言語なのです。 + +たとえば、加算は加算演算子(`+`)を用いて行われますが、 +`plus`という単語の方が読み取りやすいというのであれば、 +Rubyの組み込みクラスである`Numeric`クラスに次のようなメソッドを追加できます。 + +{% highlight ruby %} +class Numeric + def plus(x) + self.+(x) + end +end + +y = 5.plus 6 +# y は 11 になります +{% endhighlight %} + +Rubyの演算子はメソッドの糖衣構文(シンタックスシュガー)ですので、 +演算子もまた同様に再定義できます。 + +### ブロック: 表現力豊かな機能 + +Rubyのブロックもまた、偉大な柔軟性の源泉として知られています。 +プログラマーは、どんなメソッドへも、メソッドがどのように振る舞うべきかを記述したクロージャを付け加えることができます。 +このクロージャは *ブロック* と呼ばれます。 +ブロックは、PHPやVisual Basicなどの命令型言語からRubyの世界に新しく入ってきた人たちにもっとも人気のある機能の一つになっています。 + +ブロックは関数型言語に影響された機能です。Matzは「Rubyのクロージャでは、Lispの文化に敬意を表したかった」と語っています[3](#fn3)。 + +{% highlight ruby %} +search_engines = + %w[Google Yahoo MSN].map do |engine| + "http://www." + engine.downcase + ".com" + end +{% endhighlight %} + +上のコードで、ブロックは`do...end`定数の内側に書かれています。 +`map`メソッドは定義された単語のリストに与えられたブロックを適用します。 +Rubyのメソッドの多くは、メソッドを使用するプログラマーが処理の詳細を埋めれるような独自のブロックをかけるように定義されています。 + +### RubyとMixin + +多くのオブジェクト指向言語と異なり、Rubyは **わざと** 単一継承しか備えていません。 +けれど、Rubyはモジュール(Object-Cではカテゴリと呼ばれているもの)の概念を持ちます。モジュールとはメソッドの集合です。 + +クラスはモジュールをミックスイン(Mixin)し、モジュールのすべてのメソッドを自由に受け取ることができます。 +たとえば、`each`メソッドが実装されたクラスは、`Enumerable`モジュールをミックスインして、 +繰り返し処理に`each`を使うメソッド群を追加することができます。 + +{% highlight ruby %} +class MyArray + include Enumerable +end +{% endhighlight %} + +一般的にこちらの方が、複雑で制限の強い多重継承よりもRubyistにとって明瞭な表現です。 + +### Rubyの外観 + +Rubyはとても限られた句読法を使い、英語のキーワードを好みます。 +いくつかの句読法はRubyを修飾するためだけに使われます。 +Rubyは変数宣言を必要としません。 +変数のスコープを示すためには単純な命名規則が使われます。 + +* `var` はローカル変数になります。 +* `@var` はインスタンス変数です。 +* `$var` はグローバル変数です。 + +上記の印は、プログラマがそれぞれの変数の役割を識別することを容易にし、読みやすさを向上させます。 +また、すべてのインスタンスのメンバの前に付く億劫な`self.`をつける必要も無くなります。 + +### 基礎を超えて + +Rubyは次に示すような豊富な機能を持っています。 + +* Rubyは、JavaやPythonのような、エラーを処理するための例外処理機構を備えています。 + +* Rubyには、すべてのRubyオブジェクトを扱うマークスイープ方式のガベージコレクション機能(GC)があります。 + 拡張ライブラリ内の参照カウンタを管理する必要はありません。Matzは「これは健康に良い」と言っています。 + +* RubyでC拡張を書くことは、PerlやPythonで同じことをやるよりも簡単です。CからRubyを呼び出すためのよくできたAPIがあるからです。 + このAPIはソフトウェア内に組み込まれたRubyを呼び出し、スクリプト言語のように使います。SWIGインターフェイスも存在しています。 + +* OSが許すなら、Rubyは動的なライブラリ拡張をロードすることもできます。 + +* RubyはOSに依存しないスレッド機構を備えています。これによって、Rubyが動作するすべてのプラットフォーム上で、 + OSのサポートなしに(MS-DOSだとしても!)マルチスレッド処理を扱えます。 + +* Rubyにはとても高い可搬性があります。Rubyは主にGNU/Linux上で開発されていますが、 + UNIX、Max OS X、Windows 95/98/Me/NT/2000/XP、DOS、BeOS、OS/2など、多くのOSで動作します。 + +### さまざまなRuby処理系 + +言語としてのRubyには、いくつか別の処理系が存在しています。 +このページでは、**MRI** (Matz Ruby Interpreter)あるいは **CRuby** (Cで書かれていることに由来する)と呼ばれる +Rubyのリファンレス実装について記載していますが、別のRuby処理系も存在します。 +他の言語や環境と統合したりMRIにはないような特別な機能を使いたい場合など、 +ある特定の状況でそうしたRuby処理系は役に立ちます。 + +MRI以外のRuby処理系には以下のようなものがあります。 + +* [JRuby][jruby]は、JVM(Java仮想マシン)上に構築されたRubyです。 + JVMの最適化されたJITコンパイラやGC、並行スレッド、ツール群、そして膨大なコレクションのライブラリを使うことができます。 +* [Rubinius][rubinius]は「Rubyで書かれたRuby」です。LLVM上に構築されています。LLVMは他の言語も構築されるよくできた仮想マシンです。 +* [MacRuby][macruby]は、Mac OS X用のCocoaライブラリとしっかり統合されたRubyです。デスクトップアプリケーションを作成できます。 +* [mruby][mruby]はRubyの軽量実装です。アプリケーションにリンクし、組み込むことができます。Rubyの作者であるまつもと ゆきひろ氏によって開発が進められています。 +* [IronRuby][ironruby]は、.Netフレームワークにしっかりと統合されたRuby処理系です。 +* [MagLev][maglev]は、オブジェクトの永続化と分散共有キャッシュを持った、高速で安定したRuby処理系です。 +* [Cardinal][cardinal]はPerl6用の仮想マシンである[Parrot][parrot]上のRubyコンパイラです。 + +MRIを含めて、これらの処理系は「Ruby言語のための実行可能な仕様」である[RubySpec][rubyspec]のガイドラインに沿っています。 + +### 参照リンク + +1 Matz, ruby-talk メーリンクリスト上での会話, [2000年5月12日][blade]。 +{: #fn1} + +2 Matz, [An Interview with the Creator of Ruby][linuxdevcenter]から, 2001年11月29日。 +{: #fn2} + +3 Matz, [Blocks and Closures in Ruby][artima]から, 2003年12月22日。 +{: #fn3} + + +[matz]: http://www.rubyist.net/~matz/ +[blade]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773 +[ror]: http://rubyonrails.org/ +[linuxdevcenter]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html +[artima]: http://www.artima.com/intv/closures2.html +[tiobe]: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html +[jruby]: http://jruby.org +[rubinius]: http://rubini.us +[macruby]: http://www.macruby.org +[mruby]: http://www.mruby.org/ +[ironruby]: http://www.ironruby.net +[maglev]: http://ruby.gemstone.com +[cardinal]: https://github.com/parrot/cardinal +[parrot]: http://parrot.org +[rubyspec]: http://rubyspec.org From d8fd1907a287da9f9086ae7f372e8702c88c8d5d Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Sat, 26 Mar 2016 08:08:36 +0900 Subject: [PATCH 0059/3394] Add atom to editor list on documentation page (ja) --- ja/documentation/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ja/documentation/index.md b/ja/documentation/index.md index 63ccc20981..694df96bba 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -77,16 +77,19 @@ Rubyistに人気のあるソフトウェアには次のようなものがあり * [SciTe][28] * [NetBeans][36] * [Sublime Text][37] + * [Atom][atom] * Windows * [Notepad++][29] * [E-TextEditor][30] * [Ruby In Steel][31] + * [Atom][atom] * OS X * [TextMate][32] * [TextWrangler][33] * [Dash][39] (ドキュメント表示ツール) + * [Atom][atom] Posted by Shugo Maeda on 26 May 2006 {: .post-info} @@ -136,3 +139,4 @@ Posted by Shugo Maeda on 26 May 2006 [36]: https://netbeans.org/ [37]: http://www.sublimetext.com/ [39]: http://kapeli.com/dash +[atom]: https://atom.io/ From 2a769287676136d508e124a1359d360d360d0577 Mon Sep 17 00:00:00 2001 From: Gustavo Villa Date: Sat, 26 Mar 2016 03:34:32 -0300 Subject: [PATCH 0060/3394] Improvement release plans note of Ruby 2.0.0 and 2.1 (es) --- ...2-24-support-plan-of-ruby-2-0-0-and-2-1.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md b/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md index 5eddf41a1d..0af0f12320 100644 --- a/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md +++ b/es/news/_posts/2016-02-24-support-plan-of-ruby-2-0-0-and-2-1.md @@ -11,11 +11,10 @@ Anunciamos los planes de soporte a futuro para Ruby 2.0.0 y Ruby 2.1. ## Sobre Ruby 2.0.0 - Como se anunció anteriormente, todo el soporte para Ruby 2.0.0 ha terminado el día de hoy. Las correcciones de seguridad y errores de las versiones más recientes de Ruby ya no serán -portados a 2.0.0, y ningún parche de 2.0.0 será liberado. +portadas a 2.0.0, y ningún parche de 2.0.0 será liberado. Te recomendamos altamente que actualices a Ruby 2.3 o 2.2 lo más pronto posible. @@ -24,24 +23,24 @@ la rama 2.0.0 o si por alguna razón justificada no puedes actualizar tu versió ## Sobre Ruby 2.1 -Estamos planeando liberar Ruby 2.1.9 a finales de marzo. -Después del lanzamiento, finalizaremos la fase normal de mantenimiento de 2.1, +Planeamos liberar Ruby 2.1.9 a fines de marzo. +Después del lanzamiento, pondremos fin a la fase normal de mantenimiento de 2.1, y empezaremos la fase de mantenimiento de seguridad de dicha versión. -Eso significa que, después del lanzamiento de la versión 2.1.9, ya no -adaptaremos ningúna corrección de errores a 2.1 con excepción de los parches +Esto significa que después del lanzamiento de la versión 2.1.9, ya no +portaremos ninguna corrección de errores a 2.1 con excepción de las correcciones de seguridad. -Te recomendamos que comiences a planear la actualización a Ruby 2.3 o 2.2. +Te recomendamos que comiences a planear una actualización a Ruby 2.3 o 2.2. -Por cierto, también estamos planeando lanzar Ruby 2.1.10 inmediatamente -después de lanzar la versión 2.1.9. Este no es un lanzamiento ni de -correción de errores ni de seguridad. +Por cierto, también planeamos liberar Ruby 2.1.10 inmediatamente +después de liberar la versión 2.1.9. Este no es un lanzamiento ni de +corrección de errores ni de seguridad. Nunca hemos experimentado una versión de Ruby de dos dígitos. -Por lo tanto, consideramos importante probar dicho lanzamiento sin parches -de seguridad alguno. +Por lo tanto, consideramos importante probar dicho lanzamiento sin ningún tipo de +correcciones de seguridad. Ruby 2.1.10 no incluirá cambios de la versión 2.1.9, con excepción del número de versión. No es necesario que la uses en producción, pero deberías probarla antes del -lanzamiento de la versión 2.1.11 que probablemente ya incluya parches de +lanzamiento de la versión 2.1.11 que probablemente ya incluya correcciones de seguridad. From 1d25cc3dd2144370e372d680162f7f4523eb6b14 Mon Sep 17 00:00:00 2001 From: Anastasiya Lazutkina Date: Wed, 23 Mar 2016 17:29:01 +0600 Subject: [PATCH 0061/3394] Update examples for Ruby 2.3 (en) --- en/documentation/quickstart/2/index.md | 2 +- en/documentation/quickstart/3/index.md | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/en/documentation/quickstart/2/index.md b/en/documentation/quickstart/2/index.md index 3fbc4e92b9..e117255c0f 100644 --- a/en/documentation/quickstart/2/index.md +++ b/en/documentation/quickstart/2/index.md @@ -113,7 +113,7 @@ irb(main):031:1> def say_bye irb(main):032:2> puts "Bye #{@name}, come back soon." irb(main):033:2> end irb(main):034:1> end -=> nil +=> :say_bye {% endhighlight %} The new keyword here is `class`. This defines a new class called Greeter diff --git a/en/documentation/quickstart/3/index.md b/en/documentation/quickstart/3/index.md index 3074586f58..402d908d5a 100644 --- a/en/documentation/quickstart/3/index.md +++ b/en/documentation/quickstart/3/index.md @@ -35,9 +35,7 @@ what if we want to get at the name directly? {% highlight irb %} irb(main):038:0> greeter.@name -SyntaxError: compile error -(irb):52: syntax error - from (irb):52 +SyntaxError: (irb):38: syntax error, unexpected tIVAR, expecting '(' {% endhighlight %} Nope, can’t do it. @@ -53,16 +51,18 @@ So what methods do exist for Greeter objects? {% highlight irb %} irb(main):039:0> Greeter.instance_methods -=> ["method", "send", "object_id", "singleton_methods", - "__send__", "equal?", "taint", "frozen?", - "instance_variable_get", "kind_of?", "to_a", - "instance_eval", "type", "protected_methods", "extend", - "eql?", "display", "instance_variable_set", "hash", - "is_a?", "to_s", "class", "tainted?", "private_methods", - "untaint", "say_hi", "id", "inspect", "==", "===", - "clone", "public_methods", "respond_to?", "freeze", - "say_bye", "__id__", "=~", "methods", "nil?", "dup", - "instance_variables", "instance_of?"] +=> [:say_hi, :say_bye, :h, :instance_of?, :public_send, + :instance_variable_get, :instance_variable_set, + :instance_variable_defined?, :remove_instance_variable, + :private_methods, :kind_of?, :instance_variables, :tap, + :is_a?, :extend, :define_singleton_method, :to_enum, + :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?, + :freeze, :inspect, :display, :send, :object_id, :to_s, + :method, :public_method, :singleton_method, :nil?, :hash, + :class, :singleton_class, :clone, :dup, :itself, :taint, + :tainted?, :untaint, :untrust, :trust, :untrusted?, :methods, + :protected_methods, :frozen?, :public_methods, :singleton_methods, + :!, :==, :!=, :__send__, :equal?, :instance_eval, :instance_exec, :__id__] {% endhighlight %} Whoa. That’s a lot of methods. We only defined two methods. What’s going @@ -74,7 +74,7 @@ methods defined by ancestors. {% highlight irb %} irb(main):040:0> Greeter.instance_methods(false) -=> ["say_bye", "say_hi"] +=> [:say_hi, :say_bye] {% endhighlight %} Ah, that’s more like it. So let’s see which methods our greeter object From faa1b9aa303572ca17b014966ed2d1795ddbe7b6 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 26 Mar 2016 15:43:52 +0100 Subject: [PATCH 0062/3394] Remove trailing whitespace --- en/documentation/quickstart/3/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/documentation/quickstart/3/index.md b/en/documentation/quickstart/3/index.md index 402d908d5a..b5c29c91c3 100644 --- a/en/documentation/quickstart/3/index.md +++ b/en/documentation/quickstart/3/index.md @@ -55,8 +55,8 @@ irb(main):039:0> Greeter.instance_methods :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :private_methods, :kind_of?, :instance_variables, :tap, - :is_a?, :extend, :define_singleton_method, :to_enum, - :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?, + :is_a?, :extend, :define_singleton_method, :to_enum, + :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?, :freeze, :inspect, :display, :send, :object_id, :to_s, :method, :public_method, :singleton_method, :nil?, :hash, :class, :singleton_class, :clone, :dup, :itself, :taint, From ec865f9e127f82fc0547dcc6a48e0a89c322fdc2 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sun, 27 Mar 2016 00:04:27 +0800 Subject: [PATCH 0063/3394] Add atom to "documentation" page (zh_tw) --- zh_tw/documentation/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zh_tw/documentation/index.md b/zh_tw/documentation/index.md index 5a1bf03d8b..db07c1bba5 100644 --- a/zh_tw/documentation/index.md +++ b/zh_tw/documentation/index.md @@ -89,16 +89,19 @@ lang: zh_tw * [SciTe][28] * [NetBeans][36] * [Sublime Text][37] + * [Atom][atom] * Windows 作業系統: * [Notepad++][29] * [E-TextEditor][30] * [Ruby In Steel][31] + * [Atom][atom] * Mac OS X 作業系統: * [TextMate][32] * [TextWrangler][33] * [Dash][39] (瀏覽文件用) + * [Atom][atom] ### 進階閱讀 @@ -145,6 +148,7 @@ lang: zh_tw [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash +[atom]: https://atom.io/ [rubytw]: http://ruby.tw [ruby-user-guide-zh_tw]: http://guides.ruby.tw/ruby/ From f5f49edb6797099e464398f66d5329d232f4150f Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sun, 27 Mar 2016 00:07:29 +0800 Subject: [PATCH 0064/3394] Add Omniref to "documentation" page (zh_tw) --- zh_tw/documentation/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zh_tw/documentation/index.md b/zh_tw/documentation/index.md index db07c1bba5..e14ade989f 100644 --- a/zh_tw/documentation/index.md +++ b/zh_tw/documentation/index.md @@ -73,6 +73,9 @@ lang: zh_tw [APIdock][18] : Ruby、Rails 與 RSpec 的文件,具有使用者的評論。 +[Omniref: 有注釋的 Ruby、Rails、以及 Gem 文件][40] +: 擁有所有 Ruby 與 RubyGem 的文件。易於理解的 Ruby 參考手冊,可以搜尋程式碼,注釋原始碼並進行問答的功能。 + ### 編輯器與整合開發環境 您可以用操作系統內建的編輯器來撰寫 Ruby。為了更有效的寫程式,值得選個 Ruby 基本特性支援良好的編輯器(如:語法高亮、檔案瀏覽)或是有更進階功能的整合開發環境(如:程式碼補全、重構、支持測試等。) From 47edcdd9797758dc22edafd2387975d9db168ab2 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sun, 27 Mar 2016 00:08:32 +0800 Subject: [PATCH 0065/3394] Add missing Omniref link to "documentation" page (zh_tw) --- zh_tw/documentation/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/zh_tw/documentation/index.md b/zh_tw/documentation/index.md index e14ade989f..7008b30c3a 100644 --- a/zh_tw/documentation/index.md +++ b/zh_tw/documentation/index.md @@ -151,6 +151,7 @@ lang: zh_tw [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash +[40]: https://www.omniref.com [atom]: https://atom.io/ [rubytw]: http://ruby.tw From 172095ff6849370d87ebad6262a8c529357a9125 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 27 Mar 2016 15:58:26 +0200 Subject: [PATCH 0066/3394] Small markdown style fix --- ja/about/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/about/index.md b/ja/about/index.md index 7722cad1d1..4d5fdc4200 100644 --- a/ja/about/index.md +++ b/ja/about/index.md @@ -19,8 +19,8 @@ Matzはよく、「Rubyをシンプルなものではなく、自然なものに 付け加えて、こんな風にも言っています。 ->Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 ->それはちょうど私たちの身体と同じようなものです[1](#fn1)。 +> Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 +> それはちょうど私たちの身体と同じようなものです[1](#fn1)。 ### Rubyの成長について From d6f15f8cd789b11e21aeb2a8f785ec0f322e300d Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Fri, 4 Mar 2016 20:03:51 +0700 Subject: [PATCH 0067/3394] Add installation page, update downloads page (id) --- id/documentation/installation/index.md | 297 +++++++++++++++++++++++++ id/downloads/index.md | 209 ++++------------- 2 files changed, 343 insertions(+), 163 deletions(-) create mode 100644 id/documentation/installation/index.md diff --git a/id/documentation/installation/index.md b/id/documentation/installation/index.md new file mode 100644 index 0000000000..87c3f2b7ba --- /dev/null +++ b/id/documentation/installation/index.md @@ -0,0 +1,297 @@ +--- +layout: page +title: "Instalasi Ruby" +lang: id +--- + +Anda dapat menggunakan beberapa kakas bantu untuk memasang Ruby. +Halaman ini menjelaskan bagaimana menggunakan *package management systems* +dan kakas bantu pihak ketiga untuk mengatur dan memasang Ruby +dan bagaimana membangun Ruby dari kode sumbernya. +{: .summary} + + +## Pilih Metode Instalasi Anda + +Ada banyak jalan untuk memasang Ruby: + +* Saat Anda menggunakan sistem operasi UNIX-like, menggunakan **package manager** + sistem adalah jalan paling mudah untuk memulai. + Namun, versi Ruby yang akan dipasang biasanya bukan yang terbaru. +* **Installers** dapat digunakan untuk memasang versi Ruby tertentu + atau banyak versi Ruby. Ada juga sebuah *installer* untuk Windows. +* **Managers** membantu Anda untuk berpindah antar instalasi Ruby yang berbeda + pada sistem Anda. +* Dan terakhir, Anda juga dapat **membangun Ruby dari kode sumbernya**. + +Berikut adalah daftar metode instalasi yang tersedia +sesuai kebutuhan dan *platform* tertentu. + +* [Package Management Systems](#package-management-systems) + * [Debian, Ubuntu](#apt) + * [CentOS, Fedora, RHEL](#yum) + * [Gentoo](#portage) + * [Arch Linux](#pacman) + * [OS X](#homebrew) + * [Solaris, OpenIndiana](#solaris) + * [Other Distributions](#other-systems) +* [Installers](#installers) + * [ruby-build](#ruby-build) + * [ruby-install](#ruby-install) + * [RubyInstaller](#rubyinstaller) (Windows) + * [RailsInstaller and Ruby Stack](#railsinstaller) +* [Managers](#managers) + * [chruby](#chruby) + * [rbenv](#rbenv) + * [RVM](#rvm) + * [uru](#uru) +* [Membangun Ruby dari kode sumbernya](#building-from-source) + + +## Package Management Systems +{: #package-management-systems} + +Jika Anda tidak dapat mengkompilasi Ruby sendiri, dan tidak ingin menggunakan sebuah +kakas bantu pihak ketiga, Anda dapat menggunakan *package manager* sistem untuk memasang Ruby. + +Beberapa anggota komunitas Ruby sangat menyarankan Anda untuk +tidak menggunakan *package manager* untuk memasang Ruby dan sebaiknya menggunakan kakas +bantu. Selagi penuh pro dan kontra di luar bahasan +halaman ini, alasan mendasarnya adalah kebanyakan *package manager* memiliki +versi Ruby lama di dalam *repository* mereka. Jika Anda ingin +menggunakan Ruby terbaru, pastikan Anda menggunakan nama *package* yang benar, +atau menggunakan kakas bantu yang dijelaskan di bawah ini. + + +### apt (Debian atau Ubuntu) +{: #apt} + +Debian GNU/Linux dan Ubuntu menggunakan *apt package manager*. +Anda dapat menggunakannya seperti ini: + +{% highlight sh %} +$ sudo apt-get install ruby-full +{% endhighlight %} + +Sesuai penulisan, paket `ruby-full` menyediakan Ruby 1.9.3, yang mana adalah versi +lama yang stabil, pada Debian dan Ubuntu. + + +### yum (CentOS, Fedora, atau RHEL) +{: yum} + +CentOS, Fedora, dan RHEL menggunakan *yum package manager*. +Anda dapat menggunakannya seperti ini: + +{% highlight sh %} +$ sudo yum install ruby +{% endhighlight %} + +Versi yang terpasang adalah versi Ruby terbaru yang tersedia +saat waktu rilis versi distribusi tertentu. + + +### portage (Gentoo) +{: portage} + +Gentoo menggunakan *portage package manager*. + +{% highlight sh %} +$ sudo emerge dev-lang/ruby +{% endhighlight %} + +Secara otomatis, ini akan mencoba untuk memasang Ruby versi 1.9 dan 2.0, +tetapi versi lainnya juga tersedia. +Untuk memasang versi tertentu, atur `RUBY_TARGETS` di dalam `make.conf` Anda. +Lihat [Gentoo Ruby Project website][gentoo-ruby] untuk detail. + + +### pacman (Arch Linux) +{: #pacman} + +Arch Linux menggunakan sebuah *package manager* bernama *pacman*. +Untuk mendapatkan Ruby, lakukan ini: + +{% highlight sh %} +$ sudo pacman -S ruby +{% endhighlight %} + +Ini semestinya memasang versi Ruby terbaru. + + +### Homebrew (OS X) +{: homebrew} + +Pada OS X Yosemite dan Mavericks, Ruby 2.0 sudah tersedia. +OS X Mountain Lion, Lion, dan Snow Leopard terisi dengan Ruby 1.8.7. + +Banyak pengguna OS X menggunakan [Homebrew][homebrew] sebagai *package manager*. +Hal ini sangat mudah untuk mendapatkan versi terbaru menggunakan Homebrew: + +{% highlight sh %} +$ brew install ruby +{% endhighlight %} + +Ini semestinya memasang versi Ruby terbaru. + + +### Ruby di Solaris dan OpenIndiana +{: #solaris} + +Ruby 1.8.7 tersedia untuk Solaris 8 hingga Solaris 10 di +[Sunfreeware][sunfreeware] dan Ruby 1.8.7 tersedia di +[Blastwave][blastwave]. +Ruby 1.9.2p0 juga tersedia di [Sunfreeware][sunfreeware], +namun sudah tidak diperbarui lagi. + +Untuk memasang Ruby pada [OpenIndiana][openindiana], mohon gunakan +[Image Package Systems (IPS)][opensolaris-pkg] *client*. +Ini akan memasang *binary* Ruby terbaru dan RubyGems secara langsung +dari jaringan *repository* OpenSolaris untuk Ruby 1.9. Ini mudah: + +{% highlight sh %} +$ pkg install runtime/ruby-18 +{% endhighlight %} + +Namun demikian, kakas bantu pihak ketiga mungkin adalah jalan terbaik untuk mendapatkan +Ruby versi terbaru. + + +### Distribusi Lainnya +{: #other-systems} + +Pada sistem lain, Anda dapat mencari *package repository* dari +*manager* distribusi Linux Anda untuk Ruby, atau kakas bantu pihak ketiga mungkin +pilihan tepat untuk Anda. + + +## Installers +{: #installers} + +Jika versi Ruby yang disediakan oleh system atau *package manager* Anda telah +usang, versi terbaru dapat dipasang menggunakan sebuah *installer* pihak ketiga. +Beberapa dari mereka juga memperbolehkan Anda untuk memasang banyak versi dalam sistem yang sama; +*manager* yang bersesuaian dapat membantu berpindah antar versi Ruby yang berbeda. +Jika Anda sedang merencanakan untuk mengunakan [RVM](#rvm) sebagai *version manager* Anda tidak perlu +*installer* terpisah, ini sudah ada dengan sendirinya. + + +### ruby-build +{: #ruby-buid} + +[ruby-buid][ruby-buid] adalah sebuah *plugin* untuk [rbenv](#rbenv) yang +memperbolehkan Anda untuk mengkompilasi dan memasang versi Ruby yang berbeda +ke dalam *directory* pilihan Anda. +ruby-buid juga dapat digunakan sebagai *standalone program* tanpa rbenv. +ruby-buid tersedia untuk OS X, Linux, dan sistem operasi UNIX-like lainnya. + + +### ruby-install +{: #ruby-install} + +[ruby-install][ruby-install] memperbolehkan Anda untuk mengkompilasi dan memasang +versi Ruby yang berbeda ke dalam *directory* pilihan Anda. +Ini juga ada saudaranya, [chruby](#chruby), yang menangani perpindahan antar +versi Ruby. +ruby-install tersedia untuk OS X, Linux, dan sistem operasi UNIX-like lainnya. + + +### RubyInstaller +{: #rubyinstaller} + +Jika Anda di Windows, ada sebuah kakas bantu yang membantu Anda memasang Ruby: +[RubyInstaller][rubyinstaller]. Ini memberikan apapun yang Anda butuhkan untuk memasang +Ruby *development environment* sepenuhnya pada Windows. + +Unduh, jalankan, dan selesai! + + +### RailsInstaller dan Ruby Stack +{: #railsinstaller} + +Jika Anda sedang memasang Ruby untuk menggunakan Ruby on Rails, +Anda dapat menggunakan *installer* berikut: + +* [RailsInstaller][railsinstaller], + yang mana menggunakan RubyInstaller tetapi memberikan + kakas tambahan untuk pengembangan dengan Rails. + RailsInstaller mendukung OS X dan Windows. +* [Bitnami Ruby Stack][rubystack], + yang mana menyediakan *development environment* lengkap untuk Rails. + Bitnami Ruby Stack mendukung OS X, Linux, Windows, *virtual machines*, dan *cloud images*. + + +## Managers +{: #manager} + +Banyak Rubyists menggunakan Ruby *manager* untuk mengatur banyak versi Ruby. +Ruby *manager* memberikan banyak keuntungan tetapi tidak didukung secara resmi. +Meskipun demikian, perhatian komunitas ini sangat membantu. + + +### chruby +{: #chruby} + +[chruby][chruby] memperbolehkan Anda untuk berpindah antar banyak versi Ruby. +chruby dapat mengatur Ruby yang terpasang dengan [ruby-install](#ruby-install) +atau bahkan dari kode sumber. + + +### rbenv +{: #rbenv} + +[rbenv][rbenv] memperbolehkan Anda untuk mengatur banyak instalasi Ruby. +rbenv tidak mendukung instalasi Ruby, tetapi ada sebuah *plugin* populer +yang bernama [ruby-build](#ruby-build) untuk memasang Ruby. +Kedua kakas bantu ini tersedia untuk OS X, Linux, atau sistem operasi UNIX-like lainnya. + + +### RVM ("Ruby Version Manager") +{: #rvm} + +[RVM][rvm] memperbolehkan Anda untuk memasang dan mengatur banyak instalasi Ruby +pada sistem Anda. RVM juga dapat mengatur *gemsets* yang berbeda. +RVM tersedi untuk OS X, Linux, dan sistem operasi UNIX-like lainnya. + + +## uru +{: #uru} + +[Uru][uru] adalah sebuah *command line tool* yang ringan dan mendukung banyak *platform* yang membantu Anda +untuk menggunakan banyak versi Ruby pada sistem operasi OS X, Linux, atau Windows. + + +## Membangun dari Kode Sumber +{: #building-from-source} + +Tentu saja, Anda dapat memasang Ruby dari kode sumbernya. +[Download](/id/downloads/) dan *unpack tarball* tersebut, kemudian lakukan ini: + +{% highlight sh %} +$ ./configure +$ make +$ sudo make install +{% endhighlight %} + +Secara otomatis, ini akan memasang Ruby pada `/usr/local`. +Untuk mengubahnya, tambahkan opsi `--prefix=DIR` di dalam skrip `./configure`. + +Meskipun begitu, menggunakan kakas bantu pihak ketiga atau *package manager* mungkin adalah solusi yang terbaik, +karena Ruby yang terpasang tidak akan diatur oleh kakas apapun. + + +[rvm]: http://rvm.io/ +[rbenv]: https://github.com/sstephenson/rbenv#readme +[ruby-build]: https://github.com/sstephenson/ruby-build#readme +[ruby-install]: https://github.com/postmodern/ruby-install#readme +[chruby]: https://github.com/postmodern/chruby#readme +[uru]: https://bitbucket.org/jonforums/uru +[rubyinstaller]: http://rubyinstaller.org/ +[railsinstaller]: http://railsinstaller.org/ +[rubystack]: http://bitnami.com/stack/ruby/installer +[sunfreeware]: http://www.sunfreeware.com +[blastwave]: http://www.blastwave.org +[openindiana]: http://openindiana.org/ +[opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ +[gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ +[homebrew]: http://brew.sh/ diff --git a/id/downloads/index.md b/id/downloads/index.md index 5b22344367..a66430c0dd 100644 --- a/id/downloads/index.md +++ b/id/downloads/index.md @@ -4,185 +4,68 @@ title: "Unduh Ruby" lang: id --- -{% include out-of-date.html %} - -Di sini Anda bisa mendapatkan distribusi Ruby terbaru. Versi stabil saat -ini adalah {{ site.downloads.stable[0].version }}. Ruby disediakan secara gratis, -namun pastikan Anda membaca [Lisensi Ruby][license] terlebih dahulu sebelum -menggunakannya. +Di sini Anda bisa mendapatkan distribusi Ruby terbaru sesuai pilihan Anda. +Versi stabil saat ini adalah {{ site.downloads.stable[0].version }}. +Pastikan Anda membaca [Lisensi Ruby][license] terlebih dahulu. {: .summary} -### Tiga Cara Menginstall Ruby - -Anda bisa mendapatkan copy dari Ruby dalam berbagai cara, dan ada tiga -metode untuk alasan yang berbeda: - -* **Kompilasi dari Sumber** adalah cara standar memasang perangkat lunak - telah dipakai selama bertahun-tahun. Ini dikhususkan bagi developer - yang terbiasa mengkompilasi sendiri. -* Ada beberapa perangkat lunak **pihak ketiga** untuk menginstall Ruby. - Ini paling sederhana untuk pemula total. -* Terakhir, sebuah **sistem manajemen paket** yang mendukung Ruby. Cara - ini paling akrab bagi orang yang menggunakan sistem operasi berbasis - Linux seperti [Linux Mint][2], [Ubuntu][3], [Debian][4], dan - [Fedora][5]. - -Jika Anda ingin menjalankan beberapa versi Ruby pada mesin yang sama, -silakan gunakan RVM. Ini cara terbaik melakukannya, kecuali Anda tahu -persis apa yang Anda lakukan. - -### Ruby di Windows - -Jika Anda menggunakan Windows, ada sebuah proyek besar untuk membantu -Anda menginstal Ruby: [RubyInstaller][6]. Ini memberi Anda semua yang -anda butuhkan untuk menyiapkan lingkungan pengembangan Ruby lengkap pada -Windows. - -Untuk menggunakan RubyInstaller, download dari [laman download -RubyInstaller][7]. Kemudian jalankan installer, dan Anda selesai! - -Jika Anda menginstal Ruby untuk menggunakan Rails, Anda harus -menggunakan [RailsInstaller][8] yang menggunakan RubyInstaller tapi -memberi Anda tambahan yang membantu untuk pengembangan website berbasis -Ruby on Rails. - -### Ruby di Linux - -Ada beberapa pilihan untuk melakukan instalasi Ruby di Linux yang -bergantung pada distro Linux yang digunakan. Cara yang paling mudah -adalah menggunakan *package manager* masing-masing distro. Apabila -distro Anda tidak menyediakan paket Ruby, Anda juga bisa melakukan -instalasi dari *source code* Ruby di bawah. - -### Debian dan Ubuntu - -Apabila Anda menggunakan [Debian][4] atau [Ubuntu][3] (juga distribusi -turunan Debian yang lain), Anda bisa menggunakan `apt-get` untuk -melakukan instalasi Ruby dengan mudah: - -{% highlight sh %} -$ sudo apt-get install ruby1.9.1-full -{% endhighlight %} - -Catatan: Banyak package Ruby (termasuk `irb` dan `rdoc`) terdapat dalam -*package repository* `universe`. Gunakan package manager yang Anda pakai -(Synaptic atau Adept) untuk mengaktifkan *package repository* tersebut. - -Perintah di atas akan menginstall Ruby stabil terakhir versi 1.9.1. -Untuk menginstall versi 1.8.x, gunakan perintah: - -{% highlight sh %} -$ sudo apt-get install ruby-full -{% endhighlight %} - -### Fedora dan CentOS - -Apabila Anda menggunakan [Fedora][9] atau [CentOS][10] (juga distribusi -berbasis Fedora yang lain), login sebagai `root` dan gunakan *package -manager* `yum`\: - -{% highlight sh %} -# yum install ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs -{% endhighlight %} - -### Ruby di Mac OS X - -Ada beberapa pilihan untuk melakukan instalasi Ruby di Macintosh OS X. -[Locomotive][11] adalah pilihan yang paling praktis untuk segera memulai -pemrograman menggunakan Ruby dan Rails. Apabila Anda hanya membutuhkan -*installer* berukuran kecil yang berisi Ruby dan beberapa *library* lain -(tanpa Rails), Anda bisa menggunakan [Ruby One-Click Installer for Mac -OS X][12]. Untuk Anda yang lebih berpengalaman, Anda juga bisa -menggunakan [MacPorts][13] atau [Fink][14]. - -Untuk melakukan instalasi Ruby menggunakan MacPorts… - -{% highlight sh %} -$ port install ruby -{% endhighlight %} - -Fink mempunyai tampilan grafis (Fink Commander) untuk melakukan -instalasi Ruby. - -OS X merupakan sistem operasi berbasis Unix, oleh karena itu Anda juga -bisa melakukan instalasi Ruby dari paket *source code* di bawah. - -Untuk instalasi Ruby (dan Rails) di Mac OS X yang lebih detail, Anda -bisa mengikuti artikel [*Building Ruby, Rails, LightTPD, and MySQL on -Tiger*][15] yang ditulis oleh Dan Benjamin. +### Cara Memasang Ruby -*Catatan: Ruby 1.8.6 dan Rails akan dimasukkan dalam distribusi Mac OS X -rilis selanjutnya, 10.5 “Leopard”. [Informasi lebih lanjut][16].* +Kami memiliki beberapa kakas bantu untuk memasang Ruby pada perangkat berikut: -### Ruby di FreeBSD +* Di Linux/UNIX, Anda dapat menggunakan *package management system* dari + distribusi Linux/UNIX Anda atau kakas pihak ketiga (rbenv dan RVM). +* Di OS X, Anda dapat menggunakan kakas pihak ketiga (rbenv dan RVM). +* Di Windows, Anda dapat menggunakan RubyInstaller. -Gunakan [Ports][17] untuk menginstall Ruby di [FreeBSD][18]\: +Lihat halaman [Instalasi][installation] untuk detail menggunakan +*package management system* atau kakas bantu pihak ketiga. -{% highlight sh %} -# pkg_add -r ruby ruby18-gems -{% endhighlight %} +Tentu saja, Anda juga dapat memasang Ruby dari kode sumbernya. -### Ruby di Solaris +### Kompilasi Ruby - Kode Sumber -Untuk melakukan instalasi Ruby di [Solaris][19], download distribusi -*source code* Ruby terlebih dahulu. Dengan login sebagai root -menggunakan console atau xterm: +Memasang dari kode sumber adalah salah satu solusi yang tepat ketika Anda +nyaman dengan perangkat Anda dan mungkin membutuhkan konfigurasi tertentu +sesuai perangkat Anda gunakan. Ini juga termasuk solusi yang baik saat +tidak ada *package* yang sebelumnya telah dibuat di dalam perangkat Anda. -{% highlight sh %} -$ tar -xzv -f ruby-1.8.6.tar.gz -$ cd ruby-1.8.6 -$ ./configure --enable-pthread -$ make -$ make install -{% endhighlight %} +Lihat halaman [Instalasi][installation] untuk detail membangun +Ruby dari kode sumbernya. Jika Anda memiliki masalah kompilasi Ruby, pertimbangkan menggunakan +salah satu kakas bantu pihak ketiga yang telah disebutkan sebelumnya. Itu mungkin membantu Anda. -Apabila Anda menggunakan [Nexenta][20], Anda bisa menggunakan Synaptic -untuk melakukan instalasi paket bernama **ruby**. Anda juga bisa -menggunakan console: +* **Stable releases:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} -{% highlight sh %} -sudo apt-get install ruby -{% endhighlight %} +{% if site.downloads.security_maintenance %} +* **Pada fase perawatan keamanan (akan EOL segera!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} -### Source Code Ruby +{% if site.downloads.eol %} +* **Tidak dirawat sama sekali (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} -Melakukan instalasi dari *source code* adalah solusi yang baik apabila -Anda berpengalaman dengan sistem operasi Anda atau membutuhkan -konfigurasi yang spesifik. Apabila tidak ada paket distribusi siap pakai -untuk sistem operasi Anda, alternatif ini juga solusi yang baik. +* **Snapshots:** + * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): + Ini adalah *tarball* dari *snapshot branch* yang stabil saat ini. + * [Nightly Snapshot]({{ site.downloads.nightly_snapshot.url.gz }}): + Ini adalah *tarball* dari apapun yang ada di SVN, *nightly*. + Ini mungkin terdapat *bugs* atau masalah lain, gunakan secara hati-hati! -* [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }}) - (sha256: {{ site.downloads.stable[0].sha256.gz }}) Stable (*dianjurkan*) -* [Ruby 1.9.3 preview1][22] (md5: 0f0220be4cc7c51a82c1bd8f6a0969f3) -* [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}) -* [Nightly Snapshot]({{ site.downloads.nightly_snapshot.url.gz }}) - Ini adalah versi paling mutakhir langsung dari - Subversion *repository* dalam format tar+gzip. Versi ini mungkin - memiliki bug yang belum diperbaiki. +Untuk informasi *repository* Ruby Subversion dan Git, lihat +halaman [Ruby core](/id/community/ruby-core/) kami. -Untuk informasi lebih lengkap mengenai Subversion *repository* untuk -Ruby, silakan kunjungi halaman [Ruby Core](/id/community/ruby-core/). +Kode sumber Ruby tersedia dari kumpulan +[Mirror Sites][mirrors] di seluruh dunia. +Coba gunakan salah satu *mirror* yang dekat dengan Anda. [license]: {{ site.license.url }} -[2]: http://www.linuxmint.com/ -[3]: http://www.ubuntu.com -[4]: http://www.debian.org -[5]: http://fedoraproject.org -[6]: http://rubyinstaller.org/ -[7]: http://rubyinstaller.org/downloads/ -[8]: http://railsinstaller.org/ -[9]: http://fedoraproject.org/ -[10]: http://www.centos.org/ -[11]: http://locomotive.raaum.org/ -[12]: http://rubyosx.rubyforge.org/ -[13]: http://www.macports.org/ -[14]: http://fink.sourceforge.net/ -[15]: http://hivelogic.com/articles/ruby_rails_lighttpd_mysql_tiger -[16]: http://weblog.rubyonrails.org/2006/8/7/ruby-on-rails-will-ship-with-os-x-10-5-leopard -[17]: http://www.freebsd.org/ports/ -[18]: http://www.freebsd.org/ -[19]: http://www.sun.com/software/solaris/ -[20]: http://www.gnusolaris.org/ -[22]: https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-preview1.tar.gz +[installation]: /id/documentation/installation/ +[mirrors]: /en/downloads/mirrors/ From 3918e0e97f17186d00e4d99d72a82f4f7967449a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 27 Mar 2016 16:37:44 +0200 Subject: [PATCH 0068/3394] Small fixes on installation page (id) --- id/documentation/installation/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/id/documentation/installation/index.md b/id/documentation/installation/index.md index 87c3f2b7ba..d2cc7c3d51 100644 --- a/id/documentation/installation/index.md +++ b/id/documentation/installation/index.md @@ -78,7 +78,7 @@ lama yang stabil, pada Debian dan Ubuntu. ### yum (CentOS, Fedora, atau RHEL) -{: yum} +{: #yum} CentOS, Fedora, dan RHEL menggunakan *yum package manager*. Anda dapat menggunakannya seperti ini: @@ -92,7 +92,7 @@ saat waktu rilis versi distribusi tertentu. ### portage (Gentoo) -{: portage} +{: #portage} Gentoo menggunakan *portage package manager*. @@ -120,7 +120,7 @@ Ini semestinya memasang versi Ruby terbaru. ### Homebrew (OS X) -{: homebrew} +{: #homebrew} Pada OS X Yosemite dan Mavericks, Ruby 2.0 sudah tersedia. OS X Mountain Lion, Lion, dan Snow Leopard terisi dengan Ruby 1.8.7. @@ -177,13 +177,13 @@ Jika Anda sedang merencanakan untuk mengunakan [RVM](#rvm) sebagai *version mana ### ruby-build -{: #ruby-buid} +{: #ruby-build} -[ruby-buid][ruby-buid] adalah sebuah *plugin* untuk [rbenv](#rbenv) yang +[ruby-build][ruby-build] adalah sebuah *plugin* untuk [rbenv](#rbenv) yang memperbolehkan Anda untuk mengkompilasi dan memasang versi Ruby yang berbeda ke dalam *directory* pilihan Anda. -ruby-buid juga dapat digunakan sebagai *standalone program* tanpa rbenv. -ruby-buid tersedia untuk OS X, Linux, dan sistem operasi UNIX-like lainnya. +ruby-build juga dapat digunakan sebagai *standalone program* tanpa rbenv. +ruby-build tersedia untuk OS X, Linux, dan sistem operasi UNIX-like lainnya. ### ruby-install @@ -222,7 +222,7 @@ Anda dapat menggunakan *installer* berikut: ## Managers -{: #manager} +{: #managers} Banyak Rubyists menggunakan Ruby *manager* untuk mengatur banyak versi Ruby. Ruby *manager* memberikan banyak keuntungan tetapi tidak didukung secara resmi. From 9d81594013ca10f2f8e47485320aac21d6198675 Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Tue, 29 Mar 2016 21:36:24 +0900 Subject: [PATCH 0069/3394] fix typos (Object-C -> Objective-C) --- ja/about/index.md | 2 +- ko/about/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/about/index.md b/ja/about/index.md index 4d5fdc4200..d0bb913929 100644 --- a/ja/about/index.md +++ b/ja/about/index.md @@ -115,7 +115,7 @@ Rubyのメソッドの多くは、メソッドを使用するプログラマー ### RubyとMixin 多くのオブジェクト指向言語と異なり、Rubyは **わざと** 単一継承しか備えていません。 -けれど、Rubyはモジュール(Object-Cではカテゴリと呼ばれているもの)の概念を持ちます。モジュールとはメソッドの集合です。 +けれど、Rubyはモジュール(Objective-Cではカテゴリと呼ばれているもの)の概念を持ちます。モジュールとはメソッドの集合です。 クラスはモジュールをミックスイン(Mixin)し、モジュールのすべてのメソッドを自由に受け取ることができます。 たとえば、`each`メソッドが実装されたクラスは、`Enumerable`モジュールをミックスインして、 diff --git a/ko/about/index.md b/ko/about/index.md index 8e163bf1ed..550c25a60e 100644 --- a/ko/about/index.md +++ b/ko/about/index.md @@ -98,7 +98,7 @@ search_engines = ### 루비와 믹스인 -다른 객체지향 언어와 달리 루비는 **의도적으로** 단일 상속만을 제공합니다. 대신 루비에는 모듈 개념(Object-C에서는 +다른 객체지향 언어와 달리 루비는 **의도적으로** 단일 상속만을 제공합니다. 대신 루비에는 모듈 개념(Objective-C에서는 카테고리라 불리는)이 있습니다. 모듈은 메소드의 컬렉션입니다. 클래스에 모듈을 믹스인할 수 있는데, 그렇게 하면 유용한 메소드를 손쉽게 얻을 수 있습니다. 예를 들어 `each` 메소드를 구현하고 From 5db92e2e99057635d9df0485efce2dcf9b3f9079 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 16 Feb 2014 17:57:42 +0900 Subject: [PATCH 0070/3394] translate "Ruby in Twenty Minutes" (ja) --- ja/documentation/index.md | 6 + ja/documentation/quickstart/2/index.md | 129 ++++++++++++++ ja/documentation/quickstart/3/index.md | 233 +++++++++++++++++++++++++ ja/documentation/quickstart/4/index.md | 157 +++++++++++++++++ ja/documentation/quickstart/index.md | 139 +++++++++++++++ 5 files changed, 664 insertions(+) create mode 100644 ja/documentation/quickstart/2/index.md create mode 100644 ja/documentation/quickstart/3/index.md create mode 100644 ja/documentation/quickstart/4/index.md create mode 100644 ja/documentation/quickstart/index.md diff --git a/ja/documentation/index.md b/ja/documentation/index.md index 63ccc20981..f6b84bc731 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -29,6 +29,12 @@ lang: ja ドキュメントは全て [<URL:http://doc.okkez.net/>][man-mirror] でもミラーされています +### 入門 + +[20分ではじめるRuby](/ja/documentation/quickstart/) +: Rubyの基本をカバーしている便利なチュートリアルです。始めから終わりまで読んでも20分かからないでしょう。 + + ### リファレンス [Ruby コアリファレンス (英語)](http://www.ruby-doc.org/core/) diff --git a/ja/documentation/quickstart/2/index.md b/ja/documentation/quickstart/2/index.md new file mode 100644 index 0000000000..b2edff7637 --- /dev/null +++ b/ja/documentation/quickstart/2/index.md @@ -0,0 +1,129 @@ +--- +layout: page +title: "20分ではじめるRuby" +lang: ja + +header: | +
+ 1 + | + 2 + | + 3 + | + 4 +
+

20分ではじめるRuby

+ +--- + +いちいち入力せずに、何度も“Hello”と言いたい時にはどうすればいいでしょうか? +メソッドを定義しましょう! + +{% highlight irb %} +irb(main):010:0> def hi +irb(main):011:1> puts "Hello World!" +irb(main):012:1> end +=> :hi +{% endhighlight %} + +`def hi`というコードがメソッド定義のはじまりになります。 +これは、`hi`という名前のメソッドを定義しようとしていることをRubyに伝えるものです。 +次の行はメソッドの本体になります。この行は、すでに見た行、`puts "Hello World"`と +同じものです。 +そして、最後の行の `end` は、Rubyにメソッド定義が終わったことをRubyに伝えます。 +Rubyのレスポンス `=> :hi` は、メソッド定義の終了を理解したことを表しています。 +なお、Ruby 2.0やそれ以前のバージョンのRubyでは、このレスポンスは `=> nil` +になります。が、その違いはここでは特に重要なことではないので、先に進みます。 + +## 簡潔で繰り返せるメソッド + +それではこのメソッドを何度か実行してみましょう。 + +{% highlight irb %} +irb(main):013:0> hi +Hello World! +=> nil +irb(main):014:0> hi() +Hello World! +=> nil +{% endhighlight %} + +簡単ですね。Rubyでのメソッド呼び出しはその名前をRubyに伝えるのと同じくらい簡単です。 +引数がなければ、名前以外は不要です。 +メソッドが引数を持たない場合、メソッド名の後ろに空のカッコをつけることができますが、 +省略しても構いません。 + +全世界ではなく、特定の人にhelloと言いたい場合はどうすればいいでしょうか? +名前を引数としてとるように`hi`を再定義すればいいのです。 + +{% highlight irb %} +irb(main):015:0> def hi(name) +irb(main):016:1> puts "Hello #{name}!" +irb(main):017:1> end +=> :hi +irb(main):018:0> hi("Matz") +Hello Matz! +=> nil +{% endhighlight %} + +ちゃんと動いているようです。しかし、ここで何が起きているのか、ちょっと詳しく見てみましょう。 + +## Stringに穴を開ける + +`#{name}`とは一体何なのでしょうか。これは、文字列に何かを挿入する際の +Rubyでのやり方なのです。 +ブレースの間にあるものは(もし文字列でなければ)文字列に変換され、 +その外側の文字列の中に置き換えられます。 +このしくみは、誰かの名前を正しくcapitalizedするのにも使えます。 + +{% highlight irb %} +irb(main):019:0> def hi(name = "World") +irb(main):020:1> puts "Hello #{name.capitalize}!" +irb(main):021:1> end +=> :hi +irb(main):022:0> hi "chris" +Hello Chris! +=> nil +irb(main):023:0> hi +Hello World! +=> nil +{% endhighlight %} + +ここでは他にもいろいろなトリックが使われています。 +一つはカッコなしでメソッド呼び出しが使われていることです。 +何をやっているか明確であれば、カッコは省略できます。 +それ以外のトリックは、デフォルト引数の`World`です。 +これは、「もしnameが与えられなければ、nameのデフォルト値である`"World"`を +使う」という定義になります。 + +## 挨拶人(Greeter)への進化 + +もし本物の挨拶人がいたのなら、あなたの名前を覚えてくれる上、 +歓迎し、いつでも丁重に扱ってくれるでしょう。 +そのためにオブジェクトを使いたくなりそうです。 +“Greeter”クラスを作ってみましょう。 + +{% highlight irb %} +irb(main):024:0> class Greeter +irb(main):025:1> def initialize(name = "World") +irb(main):026:2> @name = name +irb(main):027:2> end +irb(main):028:1> def say_hi +irb(main):029:2> puts "Hi #{@name}!" +irb(main):030:2> end +irb(main):031:1> def say_bye +irb(main):032:2> puts "Bye #{@name}, come back soon." +irb(main):033:2> end +irb(main):034:1> end +=> :say_bye +{% endhighlight %} + +新しいキーワードは`class`です。これはGreeterという新しいクラスと、 +そのクラスのメソッドをいくつか定義しています。また、`@name`にも +気づいたかもしれません。これはインスタンス変数で、このクラスにある +全てのメソッドで使うことができます。見ての通り、 +`say_hi` と `say_bye`で使われています。 + +さて、どうすればこのGreeterクラスを動かせるでしょうか? +[オブジェクトを作りましょう。](../3/) diff --git a/ja/documentation/quickstart/3/index.md b/ja/documentation/quickstart/3/index.md new file mode 100644 index 0000000000..e4b614d2ef --- /dev/null +++ b/ja/documentation/quickstart/3/index.md @@ -0,0 +1,233 @@ +--- +layout: page +title: "20分ではじめるRuby" +lang: ja + +header: | +
+ 1 + | + 2 + | + 3 + | + 4 +
+

20分ではじめるRuby

+ +--- + +それではgreeterオブジェクトを作り、使ってみましょう。 + +{% highlight irb %} +irb(main):035:0> greeter = Greeter.new("Pat") +=> # +irb(main):036:0> greeter.say_hi +Hi Pat! +=> nil +irb(main):037:0> greeter.say_bye +Bye Pat, come back soon. +=> nil +{% endhighlight %} + +一度`greeter` オブジェクトを作ると、Patという名前をおぼえてくれます。 +ふむ、名前を直接取得しようとするとどうなるでしょう? + +{% highlight irb %} +irb(main):038:0> greeter.@name +SyntaxError: compile error +(irb):52: syntax error + from (irb):52 +{% endhighlight %} + +おっと、これはできませんでした。 + +## Objectの殻の中 + +インスタンス変数はオブジェクトの内側に隠されています。とはいえ完全に +見えないようになっているのではなく、オブジェクトをinspectすれば +いつでも見ることはできますし、他にもアクセスする手段はあるのですが、 +Rubyはデータを隠しておく、適切なオブジェクト指向アプローチをとっています。 + +では、Greeterオブジェクトにはどんなメソッドがあるのでしょうか? + +{% highlight irb %} +irb(main):039:0> Greeter.instance_methods +=> [:say_hi, :say_bye, :h, :instance_of?, :public_send, + :instance_variable_get, :instance_variable_set, + :instance_variable_defined?, :remove_instance_variable, + :private_methods, :kind_of?, :instance_variables, :tap, + :is_a?, :extend, :define_singleton_method, :to_enum, + :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?, + :freeze, :inspect, :display, :send, :object_id, :to_s, + :method, :public_method, :singleton_method, :nil?, :hash, + :class, :singleton_class, :clone, :dup, :itself, :taint, + :tainted?, :untaint, :untrust, :trust, :untrusted?, :methods, + :protected_methods, :frozen?, :public_methods, :singleton_methods, + :!, :==, :!=, :__send__, :equal?, :instance_eval, :instance_exec, :__id__] +{% endhighlight %} + +おー。メソッドがいっぱいありますね。 +メソッドは2つしか定義していないのに。 +ここでは何が起こっているのでしょうか? +そう、これはGreeterオブジェクトの **すべての** メソッドで、 +親やその上の祖先のクラスで定義されたメソッドを含めた、 +完全なリストになっているのです。 +Greeterで定義されたメソッドだけを一覧したいのなら、引数`false`を渡します。 +これは祖先のクラスで定義されたメソッドが不要であることを意味します。 + +{% highlight irb %} +irb(main):040:0> Greeter.instance_methods(false) +=> [:say_hi, :say_bye] +{% endhighlight %} + +お、こちらの方がよさそうですね。では、greeterオブジェクトがどのメソッドに +反応するか見てみましょう。 + +{% highlight irb %} +irb(main):041:0> greeter.respond_to?("name") +=> false +irb(main):042:0> greeter.respond_to?("say_hi") +=> true +irb(main):043:0> greeter.respond_to?("to_s") +=> true +{% endhighlight %} + +このように、`say_hi` と`to_s`(何かを文字列に変換するもので、 +すべてのオブジェクトに標準で定義されているメソッドです) +は知っていましたが、`name`は知りませんでした。 + +## クラスの変更 - まだ間に合います + +しかし、名前を表示したり変えたりしたい場合はどうでしょう? +Rubyはオブジェクトの変数にアクセスできる簡単な方法を用意しています。 + +{% highlight irb %} +irb(main):044:0> class Greeter +irb(main):045:1> attr_accessor :name +irb(main):046:1> end +=> nil +{% endhighlight %} + +Rubyでは、定義されたクラスをさらに変更できます。 +この変更は新たに作られたオブジェクトすべてはもちろん、すでにあるオブジェクトにも +反映されます。それでは、`@name`属性のついた新しくオブジェクトを作って +試してみましょう。 + +{% highlight irb %} +irb(main):047:0> greeter = Greeter.new("Andy") +=> # +irb(main):048:0> greeter.respond_to?("name") +=> true +irb(main):049:0> greeter.respond_to?("name=") +=> true +irb(main):050:0> greeter.say_hi +Hi Andy! +=> nil +irb(main):051:0> greeter.name="Betty" +=> "Betty" +irb(main):052:0> greeter +=> # +irb(main):053:0> greeter.name +=> "Betty" +irb(main):054:0> greeter.say_hi +Hi Betty! +=> nil +{% endhighlight %} + +`attr_accessor`を使うと2つの新しいメソッドが定義されます。 +`name`は値を参照するメソッドで、`name=`は値を設定するメソッドです。 + +## 何にでも挨拶してくれる、MegaGreeterは無視しない! + +このgreeterはそれほど興味深いものではないですが、一度に扱えるのは +1人だけです。世界にも、1人の人にも、リストの全員にも挨拶してくれる +MegaGreeterのようなものがあればどうでしょう? + +対話式RubyインタプリタのIRBで直接書くのではなく、ファイルに書いてみましょう。 + +IRBを抜けるには、“quit”や“exit”とタイプするか、コントロールキーを押しながらDキーを押します。 + +{% highlight ruby %} +#!/usr/bin/env ruby + +class MegaGreeter + attr_accessor :names + + # Create the object + def initialize(names = "World") + @names = names + end + + # Say hi to everybody + def say_hi + if @names.nil? + puts "..." + elsif @names.respond_to?("each") + # @names is a list of some kind, iterate! + @names.each do |name| + puts "Hello #{name}!" + end + else + puts "Hello #{@names}!" + end + end + + # Say bye to everybody + def say_bye + if @names.nil? + puts "..." + elsif @names.respond_to?("join") + # Join the list elements with commas + puts "Goodbye #{@names.join(", ")}. Come back soon!" + else + puts "Goodbye #{@names}. Come back soon!" + end + end +end + + +if __FILE__ == $0 + mg = MegaGreeter.new + mg.say_hi + mg.say_bye + + # Change name to be "Zeke" + mg.names = "Zeke" + mg.say_hi + mg.say_bye + + # Change the name to an array of names + mg.names = ["Albert", "Brenda", "Charles", + "Dave", "Engelbert"] + mg.say_hi + mg.say_bye + + # Change to nil + mg.names = nil + mg.say_hi + mg.say_bye +end +{% endhighlight %} + +このファイルを“ri20min.rb”という名前で保存して、“ruby ri20min.rb”と +実行しましょう。結果は以下のようになるはずです。 + + Hello World! + Goodbye World. Come back soon! + Hello Zeke! + Goodbye Zeke. Come back soon! + Hello Albert! + Hello Brenda! + Hello Charles! + Hello Dave! + Hello Engelbert! + Goodbye Albert, Brenda, Charles, Dave, Engelbert. Come + back soon! + ... + ... +{: .code} + +この最後の例では新しいことがたくさん詰め込まれています。 +[詳しく見てみましょう。](../4/) + diff --git a/ja/documentation/quickstart/4/index.md b/ja/documentation/quickstart/4/index.md new file mode 100644 index 0000000000..29ea59af91 --- /dev/null +++ b/ja/documentation/quickstart/4/index.md @@ -0,0 +1,157 @@ +--- +layout: page +title: "20分ではじめるRuby" +lang: ja + +header: | +
+ 1 + | + 2 + | + 3 + | + 4 +
+

20分ではじめるRuby

+ +--- + +この新しいプログラムを調べようとすると、最初の行がハッシュマーク(#)で +始まっていることに気づきます。Rubyでは、ハッシュマークで始まる行の内容は +コメントになり、インタプリタからは無視されます。このファイルの最初の行は +特別な行で、Unix系のOSではファイルをどう実行するかをシェルに知らせてくれます。 +その他のコメントは処理内容の説明になっています。 + +この`say_hi`メソッドはちょっと複雑になっています。 + +{% highlight ruby %} +# Say hi to everybody +def say_hi + if @names.nil? + puts "..." + elsif @names.respond_to?("each") + # @names is a list of some kind, iterate! + @names.each do |name| + puts "Hello #{name}!" + end + else + puts "Hello #{@names}!" + end +end +{% endhighlight %} + +インスタンス変数の`@names`によって判断が行われているように見えます。 +もしこれがnilなら、ドットを3つ表示するだけです。誰もいなければ誰にも挨拶しない、 +ということでよいですね? + +## サイクルとループ - 別名: イテレーション + +`@names`オブジェクトが`each`メソッドを持っている場合、 +イテレーションできる何かであるということで、それぞれの人に対して +挨拶をするイテレーションを行います。最後に、 +`@names`がそれ以外であれば、自動的に文字列へ変換させてデフォルトの挨拶を行います。 + +このイテレーションを詳しく見てみましょう。 + +{% highlight ruby %} +@names.each do |name| + puts "Hello #{name}!" +end +{% endhighlight %} + +`each`はコードブロックをとるメソッドで、リストにある要素それぞれに対して +ブロック内のコードを実行します。`do` と `end`で囲われている部分がそのブロックです。 +ブロックは無名関数や`lambda`に似ています。 +パイプ文字の挟まれた変数がこのブロックのパラメタになります。 + +ここでは、リスト内のすべての要素の値について、1つずつnameという変数に代入され、 +そして`puts "Hello #{name}!"`という表現がそのnameの値を使って実行されます。 + +他の多くのプログラミング言語では`for`ループを使ってリストを扱います。 +たとえばCでは以下のようになります。 + +{% highlight c %} +for (i=0; i + 1 + | + 2 + | + 3 + | + 4 + +

20分ではじめるRuby

+ +--- + +## はじめに + +これは20分程度で一通り読み通せる、簡単なRubyチュートリアルです。 +Rubyはあらかじめインストールされていることとします +(もしお使いのマシンにRubyが入っていない場合、始める前に +[インストール][installation]しておいてください)。 + +## インタラクティブRuby + +Rubyの処理系には、入力したRubyの文を実行して結果を出力するプログラムが付属しています。 +このように対話的なセッションでRubyのコードを試してみるのは、新しい言語を学ぶのに最適です。 + +IRBを立ち上げましょう(IRBはInteractive Rubyの略です)。 + +* **Mac OS X** をお使いの場合、`Terminal`を立ち上げて`irb`と入力し、enterキーを押して下さい。 +* **Linux** をお使いの場合、shellを立ち上げて`irb`と入力し、enterキーを押して下さい。 +* **Windows** をお使いの場合、スタートメニューのRubyから`Interactive Ruby`を起動してください。 + +{% highlight irb %} +irb(main):001:0> +{% endhighlight %} + +実行するとこのようになります。この次はどうしましょうか? + +`"Hello World"` と入力してください。 + +{% highlight irb %} +irb(main):001:0> "Hello World" +=> "Hello World" +{% endhighlight %} + +## Rubyはあなたの言うとおりにします! + +何が起こったのでしょうか。世界一短い “Hello World” プログラムを書いたのでしょうか? +ちょっと違います。2行目はIRBが最後の式を実行した結果を教えてくれているのです。 +“Hello World”と出力したいのであれば、もう少し書き加えます: + +{% highlight irb %} +irb(main):002:0> puts "Hello World" +Hello World +=> nil +{% endhighlight %} + +`puts`はRubyで何かを出力する基本的なコマンドです。 +では、`=> nil`は何でしょうか? これはこのコマンドの評価結果です。 +`puts`は必ずnilを返します。nilは、「まったく何もない」ことを表すRubyの「値」です。 + +## 好きなだけ使える計算機をどうぞ + +ここまで来れば、IRBを簡単な計算機として使いこなせるはずです。 + +{% highlight irb %} +irb(main):003:0> 3+2 +=> 5 +{% endhighlight %} + +3足す2。簡単ですね。3 *かける* 2はどうでしょうか? +短いのでそのまま入力し直してもよいですが、先ほど入力したところに戻って +変更することもできます。その場合、キーボードの **上向き矢印**(↑) キーを押して、 +その行に `3+2` と表示されているのを確認します。確認できたら、 +左向き矢印(←)キーを使って、 `+` の直後まで動かし、 +バックスペースキーを使って `*` 記号に変更します。 + +{% highlight irb %} +irb(main):004:0> 3*2 +=> 6 +{% endhighlight %} + +続いて、3を2乗してみましょう。 + +{% highlight irb %} +irb(main):005:0> 3**2 +=> 9 +{% endhighlight %} + +Rubyでは、 `**` はべき乗するときに使います。 +では、平方根(square root)を求めるにはどうすればいいでしょうか? + +{% highlight irb %} +irb(main):006:0> Math.sqrt(9) +=> 3.0 +{% endhighlight %} + +これは一体何なんでしょうか? 「9の平方根を計算しているのでは」と +思った方は、それで正解です。しかし、もうちょっと詳しく見てみましょう。 +まず、 `Math` は一体なんでしょうか? + +## 関連コードをグループ化するモジュール + +`Math` は数学のためのビルトインモジュール(標準で組み込まれているモジュール)です。 +Rubyでは、モジュールには2通りの役割があります。これはその1つ目の役割、 +関連するメソッドを馴染みのある名前でグループ化するものです。 +`Math` は `sin()` や `tan()` といったメソッドも持っています。 + +その次はドット(.)です。このドットは何でしょうか? +これは、レシーバの「メッセージ」を指定するためのものです。 +では「メッセージ」とは何でしょうか? この例では、`sqrt(9)`がメッセージになります。 +これは「平方根(square root)」の省略形、 +`sqrt`というメソッドにパラメータとして`9`を与えて呼び出しています。 +このメソッド呼び出しの実行結果は`3.0`という値になります。 +`3` ではないことに気づいたかもしれません。 +平方根はたいてい整数にならないためです。 +そのため、このメソッドは必ず小数(浮動小数点数)を返します。 + +この計算結果を覚えさせるにはどうすればいいでしょうか? 実行結果を変数に代入しましょう。 + +{% highlight irb %} +irb(main):007:0> a = 3 ** 2 +=> 9 +irb(main):008:0> b = 4 ** 2 +=> 16 +irb(main):009:0> Math.sqrt(a+b) +=> 5.0 +{% endhighlight %} + +たいへん素晴らしい計算機を紹介してきましたが、素晴らしすぎてチュートリアルの冒頭で触れた +伝統的な `Hello World` メッセージからはだいぶ脱線してしまいました……。 +[そろそろ本題に戻りましょう。](2/) + +[installation]: /ja/documentation/installation/ From f705a774e5e176b484dad5bb5cc6f5a3cac49b8a Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Wed, 30 Mar 2016 12:30:03 +0900 Subject: [PATCH 0071/3394] Translated and applied e8e91bd and 2c353e4. ref #1321 --- ja/downloads/index.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/ja/downloads/index.md b/ja/downloads/index.md index 60badb47f7..7a5b01f283 100644 --- a/ja/downloads/index.md +++ b/ja/downloads/index.md @@ -28,22 +28,20 @@ lang: ja もしコンパイルで問題がある場合、[インストールガイド][installation] ページで解説しているサードパーティーツールの利用が助けになるかもしれません。 -* **最新の安定版:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **前世代の安定版:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **古い安定版:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **安定版:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} {% if site.downloads.security_maintenance %} -* **さらに古い安定版 (まもなく EOL):** - [Ruby {{ site.downloads.security_maintenance[0].version }}]({{ site.downloads.security_maintenance[0].url.gz }})
- sha256: {{ site.downloads.security_maintenance[0].sha256.gz }} +* **セキュリティ修正のみの安定版 (まもなく EOL):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **メンテナンス終了 (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} {% endif %} * **スナップショット:** From c0bc8167e9ca78d29c72316db9ce0df0126c9d91 Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 30 Mar 2016 19:19:20 +0900 Subject: [PATCH 0072/3394] Announcements of Ruby 2.1.9 release. --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 58 ++++++++++++++++++ .../_posts/2016-03-30-ruby-2-1-9-released.md | 60 +++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 en/news/_posts/2016-03-30-ruby-2-1-9-released.md create mode 100644 ja/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/en/news/_posts/2016-03-30-ruby-2-1-9-released.md b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..8eff121852 --- /dev/null +++ b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,58 @@ +--- +layout: news_post +title: "Ruby 2.1.9 Released" +author: "usa" +translator: +date: 2016-03-30 12:00:00 +0000 +lang: en +--- + +Ruby 2.1.9 has been released. + +This release includes many bug fixes. +See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +for details. + +[As announced before](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), this is the last normal release of Ruby 2.1 series. +After this release we will never backport any bug fixes to 2.1 except security fixes. +We recommend that you start planning to upgrade to Ruby 2.3 or 2.2. + +By the way, we are planning to release Ruby 2.1.10 in a few days. +Ruby 2.1.10 will not include any changes from 2.1.9, except for its version number. +You do not have to use it on production, but you should test it because it has two-digit version number. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Release Comment + +Thanks to everyone who helped with this release. + +The maintenance of Ruby 2.1, including this release, is based on the "Agreement for the Ruby stable version" of the [Ruby Association](http://www.ruby.or.jp/). diff --git a/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md b/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..8eba3b4799 --- /dev/null +++ b/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,60 @@ +--- +layout: news_post +title: "Ruby 2.1.9 リリース" +author: "usa" +translator: +date: 2016-03-30 12:00:00 +0000 +lang: ja +--- + +Ruby 2.1.9 がリリースされました。 +これは安定版 2.1 系列の TEENY リリースです。 + +今回のリリースでは、多数のバグ修正が行われています。 +詳しくは、対応する [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) を参照してください。 + +[以前からの予告どおり](https://www.ruby-lang.org/ja/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/)、本リリースが 2.1 系列の最後の通常リリースとなります。 +以後、2.1 系列はセキュリティメンテナンスに移行し、セキュリティ対応以外のバグ修正・リリースは行われなくなります。 +この期間は 1 年間を予定しており、その後は 2.1 系列のサポートは終了となります。 +現在 2.1 系列の Ruby を使用しているユーザーには、より新しいバージョン系列への移行をなるべく早く準備するようお勧めします。 + +なお、近日中に、Ruby 2.1.10 を特別にリリースする予定です。 +2.1.10 は、単にバージョン番号が異なるだけで、それ以外の中身は 2.1.9 と全く同じパッケージとなります。 +2 桁のバージョン番号のリリースに対するテスト用のリリースですので、Ruby のバージョン番号に依存したコードが含まれうるアプリケーション・ライブラリの作者の方は、これを使って互換性の検証を行うようお願いします。 +互換性検証以外の目的で 2.1.10 を使用する必要性はありません。 + +## ダウンロード + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## リリースコメント + +リリースに協力してくれた皆様に感謝します。 + +このリリースを含む Ruby 2.1 系列の保守は、[一般財団法人 Ruby アソシエーション](http://www.ruby.or.jp/)の Ruby 安定版保守委託事業に基いています。 From 66e382bf3d1077fc3f6389268459f1db15a337a5 Mon Sep 17 00:00:00 2001 From: unak Date: Wed, 30 Mar 2016 19:45:14 +0900 Subject: [PATCH 0073/3394] 2.1.9 --- _config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/_config.yml b/_config.yml index 6ed98676cd..bf553042dd 100644 --- a/_config.yml +++ b/_config.yml @@ -46,17 +46,17 @@ downloads: gz: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 xz: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c zip: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 - - version: 2.1.8 + - version: 2.1.9 url: - bz2: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2 - gz: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz - xz: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz - zip: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip + bz2: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip sha256: - bz2: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 - gz: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d - xz: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d - zip: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee + bz2: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + gz: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + xz: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + zip: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 security_maintenance: eol: - version: 2.0.0-p648 From 01acb3952a11f96add88ad7624ba9f492f45f424 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 13:26:54 +0200 Subject: [PATCH 0074/3394] Small fixes in release post (en) --- en/news/_posts/2016-03-30-ruby-2-1-9-released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2016-03-30-ruby-2-1-9-released.md b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md index 8eff121852..b992fe945e 100644 --- a/en/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -13,13 +13,13 @@ This release includes many bug fixes. See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) for details. -[As announced before](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), this is the last normal release of Ruby 2.1 series. +[As announced before](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), this is the last normal release of the Ruby 2.1 series. After this release we will never backport any bug fixes to 2.1 except security fixes. We recommend that you start planning to upgrade to Ruby 2.3 or 2.2. By the way, we are planning to release Ruby 2.1.10 in a few days. Ruby 2.1.10 will not include any changes from 2.1.9, except for its version number. -You do not have to use it on production, but you should test it because it has two-digit version number. +You do not have to use it on production, but you should test it because it has a two-digit version number. ## Download From 56e8f78936129671b1a7797a1e955c3c4d2282fc Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Wed, 30 Mar 2016 19:37:31 +0800 Subject: [PATCH 0075/3394] Translate 2.1.9 release post (zh_tw) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..0d0efa1cf5 --- /dev/null +++ b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Ruby 2.1.9 Released" +author: "usa" +translator: "Juanito Fatas" +date: 2016-03-30 12:00:00 +0000 +lang: zh_tw +--- + +Ruby 2.1.9 釋出。 + +本次發行版包含了許多錯誤修正。 +請參考 [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +來進一步了解。 + +[如先前所宣布](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/),這是 2.1 系列的最後一次正常發行版。 +這次發行版之後,除了安全性修正之外,就不再將錯誤修正移植到 2.1 版本。 +我們建議您開始計畫升級到 Ruby 2.3 或 2.2。 + +除此之外,我們計畫在數日內發佈 Ruby 2.1.10。 +Ruby 2.1.10 除了版本號有變以外,不包含任何 2.1.9 的改動。不用在上線環境使用,但應該要測試看看,因為這是第一個有版本號兩位數字的 Ruby。 + +## 下載 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## 發佈記 + +感謝所有幫助此次發佈的朋友。 + +Ruby 2.1 的維護(包含本版本)是基於 [Ruby 協會](http://www.ruby.or.jp/)關於穩定版本的協議。 From d322365cb40ec551568c7b781daa76b976642f1c Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Wed, 30 Mar 2016 19:42:25 +0800 Subject: [PATCH 0076/3394] Update 2.1.9 release post (zh_tw) - use Traditional Chinese support plans link --- zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md index 0d0efa1cf5..18f9fb04dd 100644 --- a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -13,7 +13,7 @@ Ruby 2.1.9 釋出。 請參考 [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) 來進一步了解。 -[如先前所宣布](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/),這是 2.1 系列的最後一次正常發行版。 +[如先前所宣布](https://www.ruby-lang.org/zh_tw/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/),這是 2.1 系列的最後一次正常發行版。 這次發行版之後,除了安全性修正之外,就不再將錯誤修正移植到 2.1 版本。 我們建議您開始計畫升級到 Ruby 2.3 或 2.2。 From f184117ca6318ce9f12359ac0f2e5cdf549e8d9c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 13:57:56 +0200 Subject: [PATCH 0077/3394] Fix title of 2.1.9 release post (zh_tw) --- zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md index 18f9fb04dd..2a7a586903 100644 --- a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "Ruby 2.1.9 Released" +title: "Ruby 2.1.9 發佈了" author: "usa" translator: "Juanito Fatas" date: 2016-03-30 12:00:00 +0000 From 9041427140af2eafe6e17ff8ecb3353c559eb8ca Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 17:29:03 +0200 Subject: [PATCH 0078/3394] Update error message to current Ruby version (ja) --- ja/documentation/quickstart/3/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ja/documentation/quickstart/3/index.md b/ja/documentation/quickstart/3/index.md index e4b614d2ef..2d30ff68f7 100644 --- a/ja/documentation/quickstart/3/index.md +++ b/ja/documentation/quickstart/3/index.md @@ -35,9 +35,7 @@ Bye Pat, come back soon. {% highlight irb %} irb(main):038:0> greeter.@name -SyntaxError: compile error -(irb):52: syntax error - from (irb):52 +SyntaxError: (irb):38: syntax error, unexpected tIVAR, expecting '(' {% endhighlight %} おっと、これはできませんでした。 From aa2eef196bcf55dc41f7b1b022265d1d3ebd1889 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 17:29:32 +0200 Subject: [PATCH 0079/3394] Update sidebar translations (ja) --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index bf553042dd..663627608b 100644 --- a/_config.yml +++ b/_config.yml @@ -1148,7 +1148,7 @@ locales: # text: Try Ruby! (in your browser) # <<: *try_ruby # quickstart: -# text: Ruby in Twenty Minutes +# text: 20分ではじめるRuby # url: /ja/documentation/quickstart/ # ruby_from_other_languages: # text: Ruby from Other Languages From 82cebab431bfb03e7c0e822a8b45d314da92691f Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 17:29:54 +0200 Subject: [PATCH 0080/3394] Fix code example on quickstart page --- en/documentation/quickstart/3/index.md | 2 +- ja/documentation/quickstart/3/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/documentation/quickstart/3/index.md b/en/documentation/quickstart/3/index.md index b5c29c91c3..d7d45ff5c2 100644 --- a/en/documentation/quickstart/3/index.md +++ b/en/documentation/quickstart/3/index.md @@ -51,7 +51,7 @@ So what methods do exist for Greeter objects? {% highlight irb %} irb(main):039:0> Greeter.instance_methods -=> [:say_hi, :say_bye, :h, :instance_of?, :public_send, +=> [:say_hi, :say_bye, :instance_of?, :public_send, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :private_methods, :kind_of?, :instance_variables, :tap, diff --git a/ja/documentation/quickstart/3/index.md b/ja/documentation/quickstart/3/index.md index 2d30ff68f7..fd5d76b146 100644 --- a/ja/documentation/quickstart/3/index.md +++ b/ja/documentation/quickstart/3/index.md @@ -51,7 +51,7 @@ Rubyはデータを隠しておく、適切なオブジェクト指向アプロ {% highlight irb %} irb(main):039:0> Greeter.instance_methods -=> [:say_hi, :say_bye, :h, :instance_of?, :public_send, +=> [:say_hi, :say_bye, :instance_of?, :public_send, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :private_methods, :kind_of?, :instance_variables, :tap, From 8441740f1e71a1a4a5e647ee1e83a900eb6b569c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 18:19:18 +0200 Subject: [PATCH 0081/3394] Combine attribute lists for graph into a single one --- bg/about/index.md | 3 +-- de/about/index.md | 3 +-- en/about/index.md | 3 +-- es/about/index.md | 3 +-- fr/about/index.md | 3 +-- id/about/index.md | 3 +-- it/about/index.md | 3 +-- ja/about/index.md | 3 +-- ko/about/index.md | 3 +-- pl/about/index.md | 3 +-- pt/about/index.md | 3 +-- ru/about/index.md | 3 +-- tr/about/index.md | 3 +-- vi/about/index.md | 3 +-- zh_cn/about/index.md | 3 +-- zh_tw/about/index.md | 3 +-- 16 files changed, 16 insertions(+), 32 deletions(-) diff --git a/bg/about/index.md b/bg/about/index.md index d6efdf22a5..161eda14cd 100644 --- a/bg/about/index.md +++ b/bg/about/index.md @@ -30,8 +30,7 @@ Ruby e перфектно балансиран език за програмир ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk – основният [пощенски списък](/bg/community/mailing-lists/) за дискусии относно Ruby достигна 200 съобщения на ден. diff --git a/de/about/index.md b/de/about/index.md index 5451907bc1..d5a6c14dc1 100644 --- a/de/about/index.md +++ b/de/about/index.md @@ -36,8 +36,7 @@ Konferenzen rund um Ruby sind ausverkauft. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, die wichtigste [Mailingliste](/de/community/mailing-lists/) für Diskussionen rund um Ruby, erreichte 2006 einen Spitzenwert von etwa diff --git a/en/about/index.md b/en/about/index.md index bbab05eebd..3b5b2139bc 100644 --- a/en/about/index.md +++ b/en/about/index.md @@ -32,8 +32,7 @@ filled to capacity. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, the primary [mailing list](/en/community/mailing-lists/) for discussion of the Ruby language, climbed to an average of 200 messages diff --git a/es/about/index.md b/es/about/index.md index fb73e2a980..ccbdc5384c 100644 --- a/es/about/index.md +++ b/es/about/index.md @@ -34,8 +34,7 @@ conferencias relacionadas a Ruby. ![Gráfica cortesía de Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Actividad+en+Ruby-Talk -"Gráfica cortesía de Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Gráfica cortesía de Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, la [lista de correo](/es/community/mailing-lists/) más importante sobre el lenguaje Ruby ha crecido hasta lograr un promedio de diff --git a/fr/about/index.md b/fr/about/index.md index b217c764f1..f3a24f510f 100644 --- a/fr/about/index.md +++ b/fr/about/index.md @@ -42,8 +42,7 @@ propos de Ruby affichent complet. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, la toute première [liste de diffusion](/fr/community/mailing-lists/) recevant les discussions à diff --git a/id/about/index.md b/id/about/index.md index 182b3973dc..7fbde71e45 100644 --- a/id/about/index.md +++ b/id/about/index.md @@ -36,8 +36,7 @@ konferensi-konferensi beserta pertemuan Ruby terkait. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, [milis](/id/community/mailing-lists/) utama untuk diskusi Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap diff --git a/it/about/index.md b/it/about/index.md index 555a4d5c4c..d4cebdf97e 100644 --- a/it/about/index.md +++ b/it/about/index.md @@ -34,8 +34,7 @@ del mondo e conferenze a tema capaci di fare il tutto esaurito. ![Grafico per cortesia di Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Grafico per cortesia di Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Grafico per cortesia di Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, la prima [lista di discussione](/it/community/mailing-lists/) del linguaggio Ruby, ha raggiunto il traguardo di 200 nuovi messaggi diff --git a/ja/about/index.md b/ja/about/index.md index d0bb913929..4a1a867714 100644 --- a/ja/about/index.md +++ b/ja/about/index.md @@ -30,8 +30,7 @@ Matzはよく、「Rubyをシンプルなものではなく、自然なものに そしてRubyに関する大規模なカンファレンスが開かれています。 ![Gmaneのグラフ](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} 英語でRubyについて会話するための[メーリングリスト](/ja/community/mailing-lists/)であるruby-talkでは、 2006年には平均して日に200通ものメッセージがやりとりされていました。 diff --git a/ko/about/index.md b/ko/about/index.md index 550c25a60e..50476d0d64 100644 --- a/ko/about/index.md +++ b/ko/about/index.md @@ -27,8 +27,7 @@ lang: ko ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} 루비의 주된 [메일링 리스트](/ko/community/mailing-lists/)인 루비 토크는 2006년까지 하루에 평균 200개의 글이 올라올 정도로 성장하였습니다. 최근 몇 년 동안 커뮤니티의 경향이 하나의 집중된 메일링 리스트보다 작은 그룹에서의 토론을 선호하게 바뀌어 diff --git a/pl/about/index.md b/pl/about/index.md index 297315207b..fbf6f8ddd1 100644 --- a/pl/about/index.md +++ b/pl/about/index.md @@ -35,8 +35,7 @@ konferencyjnych wypełnionych po brzegi. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, główna [lista mailingowa](/en/community/mailing-lists/) na tematy związane z Rubim, osiągnęła średnio ruch 200 wiadomości dziennie diff --git a/pt/about/index.md b/pt/about/index.md index a9e8f9b8f7..fdfc0423a9 100644 --- a/pt/about/index.md +++ b/pt/about/index.md @@ -34,8 +34,7 @@ cidades do mundo e com as conferências sobre Ruby com lotação esgotada. ![Gráfico cortesia de Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} A Ruby-Talk, a principal [lista de e-mails](/pt/community/mailing-lists/) para a discussão sobre a diff --git a/ru/about/index.md b/ru/about/index.md index 3b111c1296..afd3415b20 100644 --- a/ru/about/index.md +++ b/ru/about/index.md @@ -35,8 +35,7 @@ Ruby – это тщательно сбалансированный язык. Е ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, основная [рассылка](/en/community/mailing-lists/) для обсуждения языка Ruby, содержала в среднем 200 сообщений ежедневно в 2006 diff --git a/tr/about/index.md b/tr/about/index.md index d35d2ddbd0..dbb51dd8a7 100644 --- a/tr/about/index.md +++ b/tr/about/index.md @@ -33,8 +33,7 @@ ilgili konferanslar gerçekleştirilmiştir. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk, en çok kullanılan Ruby [e-posta listesi](/en/community/mailing-lists/) günde ortalama 200 mesaj diff --git a/vi/about/index.md b/vi/about/index.md index ff195e25c8..bb1a089a45 100644 --- a/vi/about/index.md +++ b/vi/about/index.md @@ -31,8 +31,7 @@ và cả các hội nghị liên quan Ruby luôn bán hết vé. ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} Ruby-Talk là [mailing list](/vi/community/mailing-lists/) chính để thảo luận về ngôn ngữ Ruby. Theo thống kê trung bình có trên 200 bài mỗi ngày trong năm 2006. diff --git a/zh_cn/about/index.md b/zh_cn/about/index.md index e828fbc697..6dd33e53a8 100644 --- a/zh_cn/about/index.md +++ b/zh_cn/about/index.md @@ -23,8 +23,7 @@ Ruby 是一个注重均衡的语言,它的发明者[松本行弘(Yukihiro ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} 在主要的[邮件列表](/zh_cn/community/mailing-lists/) Ruby-Talk 中,讨论 Ruby 语言的消息攀升到每日 200 封。近几年,消息数量有所下降,因为社区在不断变大,由一个集中的邮件列表分成了很多小型的讨论组。 diff --git a/zh_tw/about/index.md b/zh_tw/about/index.md index 14000a3d9c..55a619502b 100644 --- a/zh_tw/about/index.md +++ b/zh_tw/about/index.md @@ -22,8 +22,7 @@ Matz 常說: “不斷嘗試讓 Ruby 更為自然,而不是簡單”,就 ![Graph courtesy of Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=320&height=160&title=Ruby-Talk+Activity -"Graph courtesy of Gmane."){: style="padding-left:8px;"} -{: style="float:right"} +"Graph courtesy of Gmane."){: style="padding-left:8px; float:right;"} 2006 年,Ruby 主要的[郵件列表:Ruby-Talk](/en/community/mailing-lists/) 上,討論 Ruby 語言的文章爬升到每日 200 封。近幾年郵件列表討論下降了,因為各個社群有著自己的討論小組。 From 133dafc29e0d5d5566351df4173145693ac843d9 Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Mon, 28 Mar 2016 16:09:07 +0900 Subject: [PATCH 0082/3394] Drop unnecessary mention of Ruby 1.8 (en) Closes #1334. --- .../ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md index ff359d6a3a..bff725681c 100644 --- a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md +++ b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md @@ -78,7 +78,7 @@ Unlike C, in Ruby,... * There are no header files. You just define your functions (usually referred to as “methods”) and classes in the main source code files. * There’s no `#define`. Just use constants instead. -* As of Ruby 1.8, code is interpreted at run-time rather than compiled +* Code is interpreted at run-time rather than compiled to any sort of machine- or byte-code. * All variables live on the heap. Further, you don’t need to free them yourself—the garbage collector takes care of that. From 1a625d89cb3ebb86f673c5b200d8c47e93b6fff8 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 30 Mar 2016 21:49:43 +0200 Subject: [PATCH 0083/3394] Improve statement about Ruby as interpreted language (en) Copied from to-ruby-from-java. --- .../ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md index bff725681c..3555df8cdd 100644 --- a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md +++ b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md @@ -71,6 +71,7 @@ As with C++, in Ruby,... Unlike C, in Ruby,... +* You don’t need to compile your code. You just run it directly. * Objects are strongly typed (and variable names themselves have no type at all). * There’s no macros or preprocessor. No casts. No pointers (nor pointer @@ -78,8 +79,6 @@ Unlike C, in Ruby,... * There are no header files. You just define your functions (usually referred to as “methods”) and classes in the main source code files. * There’s no `#define`. Just use constants instead. -* Code is interpreted at run-time rather than compiled - to any sort of machine- or byte-code. * All variables live on the heap. Further, you don’t need to free them yourself—the garbage collector takes care of that. * Arguments to methods (i.e. functions) are passed by reference, not by From 8c9375807cb269eece3ea4669566129f2ef25b04 Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Thu, 31 Mar 2016 20:46:11 +0900 Subject: [PATCH 0084/3394] Add 'Get Started' section to sidebar(ja) --- _config.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/_config.yml b/_config.yml index 663627608b..862f773946 100644 --- a/_config.yml +++ b/_config.yml @@ -1142,19 +1142,19 @@ locales: text: Ultime Notizie (RSS) url: /it/feeds/news.rss ja: -# get_started: -# text: Get Started, it's easy! -# try_ruby: -# text: Try Ruby! (in your browser) -# <<: *try_ruby -# quickstart: -# text: 20分ではじめるRuby -# url: /ja/documentation/quickstart/ + get_started: + text: はじめよう! + try_ruby: + text: 試してみる! (ブラウザから) + <<: *try_ruby + quickstart: + text: 20分ではじめるRuby + url: /ja/documentation/quickstart/ # ruby_from_other_languages: # text: Ruby from Other Languages # url: /ja/documentation/ruby-from-other-languages/ explore: - text: 探求しよう! + text: 探求しよう documentation: text: ドキュメント url: /ja/documentation/ From 88bc39e041574e9fb87af7e0acc3eee7942bb2e2 Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Fri, 1 Apr 2016 01:22:46 +0900 Subject: [PATCH 0085/3394] Announcement of Ruby 2.1.10 release. --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 49 ++++++++++++++++++ .../_posts/2016-04-01-ruby-2-1-10-released.md | 51 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 en/news/_posts/2016-04-01-ruby-2-1-10-released.md create mode 100644 ja/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..08274d18ca --- /dev/null +++ b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.1.10 Released" +author: "usa" +translator: +date: 2016-04-01 02:00:00 +0000 +lang: en +--- + +Ruby 2.1.10 has been released. +This release is not for production environment, but for compatibility test with two-digit version number. +You don't have to replace Ruby 2.1.9 by 2.1.10 in normal use. + +[As announced in 2.1.9 release](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 does not include any changes from 2.1.9, except for its version number. (And, this includes only one small change in its test suite.) +Please test your applications and/or libraries for testing compatibility with two-digit version number. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Release Comment + +Thanks to everyone who helped with this release. diff --git a/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md b/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..e15cbee9fb --- /dev/null +++ b/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Ruby 2.1.10 リリース" +author: "usa" +translator: +date: 2016-04-01 02:00:00 +0000 +lang: ja +--- + +Ruby 2.1.10 がリリースされました。 +これは安定版 2.1 系列の TEENY リリースです。 +が、これは正規のリリースではありますが、プロダクション環境での利用を意図したものではありません。 +一般のユーザーは、先日リリースされた 2.1.9 を 2.1.10 で置き換える必要はありません。 + +2.1.9 のリリース時に[予告されていた](https://www.ruby-lang.org/ja/news/2016/03/30/ruby-2-1-9-released/)ように、2.1.10 は 2.1.9 とバージョン番号が異なるだけのパッケージです。(実際には、同梱のテストスイートの修正も 1 件含まれています。) +2.1.10 は 2 桁のバージョン番号に対するテスト用のリリースです。 +Ruby のバージョン番号に依存したコードが含まれうるアプリケーション・ライブラリの作者の方は、これを使って互換性の検証を行うようお願いします。 + +## ダウンロード + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## リリースコメント + +いつもながら、リリースに協力してくれた皆様に感謝します。 From b977f249fec4824da91da2649519cbd4202ed028 Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Fri, 1 Apr 2016 03:15:15 +0900 Subject: [PATCH 0086/3394] Applied @stomar comments. --- en/news/_posts/2016-04-01-ruby-2-1-10-released.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md index 08274d18ca..9c40dacfb6 100644 --- a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -8,11 +8,11 @@ lang: en --- Ruby 2.1.10 has been released. -This release is not for production environment, but for compatibility test with two-digit version number. +This release is not intended for production use, but for compatibility tests with two-digit version numbers. You don't have to replace Ruby 2.1.9 by 2.1.10 in normal use. -[As announced in 2.1.9 release](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 does not include any changes from 2.1.9, except for its version number. (And, this includes only one small change in its test suite.) -Please test your applications and/or libraries for testing compatibility with two-digit version number. +[As announced in 2.1.9 release post](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 does not include any changes from 2.1.9, except for its version number (and only one small related change in its test suite). +Please test your applications and/or libraries for compatibility with two-digit version numbers. ## Download From 75e1bc6aa103412ea5ec9c25df90ff4026d1a916 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 1 Apr 2016 09:14:55 +0200 Subject: [PATCH 0087/3394] Small fix (en) --- en/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md index 9c40dacfb6..097c6b6324 100644 --- a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -11,7 +11,7 @@ Ruby 2.1.10 has been released. This release is not intended for production use, but for compatibility tests with two-digit version numbers. You don't have to replace Ruby 2.1.9 by 2.1.10 in normal use. -[As announced in 2.1.9 release post](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 does not include any changes from 2.1.9, except for its version number (and only one small related change in its test suite). +As announced in the [2.1.9 release post](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 does not include any changes from 2.1.9, except for its version number (and only one small related change in its test suite). Please test your applications and/or libraries for compatibility with two-digit version numbers. ## Download From 7e0653b29aa1dfd7338cb6b48c8e593214a5b196 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 1 Apr 2016 12:18:48 +0200 Subject: [PATCH 0088/3394] Remove now obsolete tweak of Encoding.default_external This was introduced a long time ago (commit f47d8058) to avoid exceptions for site generation in LC_ALL=C environments, like "YAML Exception reading index.md: invalid byte sequence in US-ASCII". With the current gem bundle it is not needed anymore. --- Rakefile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Rakefile b/Rakefile index 42888d4f8e..5e37c1f827 100644 --- a/Rakefile +++ b/Rakefile @@ -18,11 +18,6 @@ task :default => [:build] desc "Build the Jekyll site" task :build do require 'jekyll' - # workaround for LANG=C environment - module Jekyll::Convertible - Encoding.default_external = Encoding::UTF_8 - end - options = Jekyll.configuration puts "Building site: #{options['source']} -> #{options['destination']}" $stdout.flush From fb6cd1ef0b5a5680f4388e39c5b06e3f0bea415c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 1 Apr 2016 12:20:47 +0200 Subject: [PATCH 0089/3394] Build site using Lanyon's build method --- Rakefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Rakefile b/Rakefile index 5e37c1f827..4b97685f6c 100644 --- a/Rakefile +++ b/Rakefile @@ -17,11 +17,9 @@ task :default => [:build] desc "Build the Jekyll site" task :build do - require 'jekyll' - options = Jekyll.configuration - puts "Building site: #{options['source']} -> #{options['destination']}" - $stdout.flush - Jekyll::Site.new(options).process + require "lanyon" + + Lanyon.build end desc "Serve the Jekyll site locally" From e0bb94835e9d6eb6256a34c16b924239feee1b0d Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Fri, 1 Apr 2016 20:00:28 +0700 Subject: [PATCH 0090/3394] Update documentation page (id) --- id/documentation/index.md | 67 ++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 18 deletions(-) diff --git a/id/documentation/index.md b/id/documentation/index.md index 17e08a4771..e506e4af63 100644 --- a/id/documentation/index.md +++ b/id/documentation/index.md @@ -4,10 +4,25 @@ title: "Dokumentasi" lang: id --- -Di sini Anda akan menemukan petunjuk untuk manual, tutorial dan referensi yang -akan berguna ketika Anda merasa seperti coding di Ruby. +Di sini Anda akan menemukan petunjuk manual, tutorial, dan referensi yang +akan berguna ketika Anda merasa seperti meng-*coding* di Ruby. {: .summary} +### Memasang Ruby + +Kecuali jika Anda hanya ingin mencoba Ruby di *browser* (lihat tautan di bawah ini) +Anda perlu memasang Ruby di dalam komputer Anda. +Anda dapat mengecek apakah Ruby telah tersedia dengan membuka *terminal* +dan mengetik + +{% highlight sh %} +ruby -v +{% endhighlight %} + +Ini seharusnya mengeluarkan informasi versi Ruby yang terpasang. +Jika tidak, lihat [halaman instalasi](installation/) untuk berbagai pilihan +mendapatkan Ruby. + ### Langkah Pertama [Try Ruby!][1] @@ -44,7 +59,8 @@ akan berguna ketika Anda merasa seperti coding di Ruby. [Learning Ruby][6] : Sebuah koleksi menyeluruh dari catatan pelajaran Ruby bagi mereka yang baru ke - bahasa Ruby dan sedang mencari pengenalan konsep dan konstruksi Ruby. + bahasa Ruby dan sedang mencari pengenalan konsep dan konstruksi + Ruby. [Ruby Essentials][7] : Ruby Essentials adalah buku online gratis yang dirancang untuk memberikan @@ -54,14 +70,9 @@ akan berguna ketika Anda merasa seperti coding di Ruby. : Tutorial kecil yang indah Chris Pine untuk pemula pemrograman. Jika Anda tidak tahu bagaimana membuat program, mulai di sini. -[Coba Ruby](http://id-ruby.org/coba-ruby/) -: Situs ini mirip dengan [Try Ruby!][1], tetapi isinya diterjemah dan - diadaptasikan ke Bahasa Indonesia. - -[Mengenal Ruby](http://nyan.catcyb.org/mengenal-ruby/) -: Tempat mengenal dasar-dasar Ruby secara singkat dalam Bahasa Indonesia. - Isinya mencakup fitur-fitur Ruby yang biasa dipakai, RubyGems dan cara - instalasi Ruby. Terdapat juga contoh-contoh kode Ruby dapat dicoba langsung online. +[Learn Ruby the Hard Way][38] +: Sebuah kumpulan latihan yang sangat baik dengan penjelasan yang memandu Anda dari + semua dasar Ruby hingga OOP dan pengembangan *web*. ### Manual @@ -89,6 +100,11 @@ akan berguna ketika Anda merasa seperti coding di Ruby. : Juga diambil langsung dari source code menggunakan RDoc, referensi ini mendokumentasikan library standar. +[Ruby C API Reference][extensions] +: Pengenalan Ruby C API. + Bagus jika Anda ingin membuat *extension* C + atau membantu pengembangan Ruby. + [RubyDoc.info][16] : Situs web lengkap untuk dokumentasi referensi tentang gem Ruby dan proyek Ruby yang di-host di GitHub. @@ -99,17 +115,23 @@ akan berguna ketika Anda merasa seperti coding di Ruby. [APIdock][18] : Dokumentasi Ruby, Rails dan RSpec dengan catatan para pengguna. +[Omniref: Annotated Ruby, Rails, dan Gem Documentation][40] +: Dokumentasi setiap versi Ruby dan setiap versi dari setiap + RubyGem. Sebuah referensi manual Ruby yang lengkat, dengan pencarian *code*, + *source annotation*, dan fitur Q&A. + ### Editor dan IDE -Untuk koding Ruby, Anda dapat menggunakan editor default dari sistem operasi. -Supaya lebih efektif koding, alangkah sangat berguna untuk memilih editor -dengan dukungan Ruby dasar (misalnya highlight sintaks, browsing file) -atau integrated development environment yang memiliki fitur canggih -(misalnya code completion, refactoring, support untuk testing). +Untuk meng-*coding* Ruby, Anda dapat menggunakan *default editor* dari sistem operasi +Anda. Supaya lebih efektif koding, alangkah sangat berguna untuk +memilih editor dengan dukungan Ruby dasar (misalnya +*highlight* sintaks, *browsing file*) atau *integrated development environment* +yang memiliki fitur canggih (misalnya *code completion*, *refactoring*, +*testing support*). -Berikut adalah daftar alat populer yang digunakan oleh para pengguna Ruby. +Berikut adalah daftar kakas populer yang digunakan oleh para pengguna Ruby. -* Alat pada Linux dan lintas platform: +* Kakas pada Linux dan lintas platform: * [Aptana Studio][19] * [Emacs][20] with [Ruby mode][21] and [Rsense][22] * [Geany][23] @@ -119,15 +141,19 @@ Berikut adalah daftar alat populer yang digunakan oleh para pengguna Ruby. * [SciTe][28] * [NetBeans][36] * [Sublime Text][37] + * [Atom][atom] * Pada Windows: * [Notepad++][29] * [E-TextEditor][30] * [Ruby In Steel][31] + * [Atom][atom] * Pada Mac OS X: * [TextMate][32] * [TextWrangler][33] + * [Dash][39] (documentation browser) + * [Atom][atom] ### Bacaan selanjutnya @@ -153,6 +179,7 @@ adalah tempat yang baik untuk memulai. [13]: http://www.ruby-doc.org/core [14]: http://docs.seattlerb.org/rdoc/ [15]: http://www.ruby-doc.org/stdlib +[extensions]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html [16]: http://www.rubydoc.info/ [17]: http://rubydocs.org/ [18]: http://apidock.com/ @@ -175,3 +202,7 @@ adalah tempat yang baik untuk memulai. [35]: http://www.ruby-doc.org/bookstore [36]: https://netbeans.org/ [37]: http://www.sublimetext.com/ +[38]: http://ruby.learncodethehardway.org/ +[39]: http://kapeli.com/dash +[40]: https://www.omniref.com +[atom]: https://atom.io/ From 30804d341bf5e53182ecb3eec63925cd1f0e2229 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 1 Apr 2016 16:54:34 +0200 Subject: [PATCH 0091/3394] Fix link on documentation page (id) --- id/documentation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/documentation/index.md b/id/documentation/index.md index e506e4af63..49601f5bde 100644 --- a/id/documentation/index.md +++ b/id/documentation/index.md @@ -159,7 +159,7 @@ Berikut adalah daftar kakas populer yang digunakan oleh para pengguna Ruby. [Ruby-Doc.org][34] me-maintain daftar lengkap dokumentasi bahasa Inggris. Ada juga banyak [buku tentang Ruby] [35]. Jika Anda memiliki pertanyaan -tentang Ruby, [mailing list](/en/community/mailing-lists/) +tentang Ruby, [mailing list](/id/community/mailing-lists/) adalah tempat yang baik untuk memulai. From 220d7cbb8a456896901a33e01a3ce000d4903c5f Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sat, 2 Apr 2016 23:07:35 +0800 Subject: [PATCH 0092/3394] Update title of 2.1.9 release post (zh_tw) --- zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md index 2a7a586903..4958d063ce 100644 --- a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "Ruby 2.1.9 發佈了" +title: "Ruby 2.1.9 發佈" author: "usa" translator: "Juanito Fatas" date: 2016-03-30 12:00:00 +0000 From 2003559ac5871a744d27dd99cb5bfe69fa08fb14 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Sat, 2 Apr 2016 23:08:00 +0800 Subject: [PATCH 0093/3394] Translate 2.1.10 release post (zh_tw) --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md b/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..9e50df9656 --- /dev/null +++ b/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,48 @@ +--- +layout: news_post +title: "Ruby 2.1.10 發佈" +author: "usa" +translator: "Juanito Fatas" +date: 2016-04-01 02:00:00 +0000 +lang: zh_tw +--- + +Ruby 2.1.10 釋出。 +本次發行版不適合在 production 使用,是為了測試有兩位數字版本號的兼容性。 +正常情況不需要把 Ruby 2.1.9 換成 2.1.10。 + +如先前在 [2.1.9 發佈一文](https://www.ruby-lang.org/zh_tw/news/2016/03/30/ruby-2-1-9-released/)所述,Ruby 2.1.10,除了版本號跟 2.1.9 不一樣之外,沒有任何新的改變(僅有一小處和測試有關的修改)。請測試您的應用程式或函式庫與 Ruby 2.1.10 的兼容性。 + +## 下載 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## 發佈記 + +感謝所有幫忙此次發行版的人。 From 4bd71455e2ca5ebff15b9f0d49f34acd698095df Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 2 Apr 2016 19:09:26 +0200 Subject: [PATCH 0094/3394] Update gem bundle --- Gemfile.lock | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 566088840c..f7a088cd5e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -41,7 +41,7 @@ GEM listen (~> 3.0) kgio (2.10.0) kramdown (1.10.0) - lanyon (0.3.1) + lanyon (0.3.2) jekyll (>= 2.0, < 4.0) rack (~> 1.6) liquid (2.6.3) @@ -77,7 +77,7 @@ GEM redcarpet (3.3.4) rouge (1.10.1) safe_yaml (1.0.4) - sass (3.4.21) + sass (3.4.22) sawyer (0.7.0) addressable (>= 2.3.5, < 2.5) faraday (~> 0.8, < 0.10) @@ -85,9 +85,8 @@ GEM nokogiri (~> 1.3) toml (0.1.2) parslet (~> 1.5.0) - unicorn (5.0.1) + unicorn (5.1.0) kgio (~> 2.6) - rack raindrops (~> 0.7) validate-website (0.9.5) multipart_body (~> 0.2) From 9fc8288dd808a51d63cba90e0a29112afe089363 Mon Sep 17 00:00:00 2001 From: kurotaky Date: Sun, 3 Apr 2016 19:15:33 +0900 Subject: [PATCH 0095/3394] Rubyist Magazine 0053 published! --- ...6-04-03-rubyist-magazine-0053-published.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md diff --git a/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md b/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md new file mode 100644 index 0000000000..2b03a06522 --- /dev/null +++ b/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md @@ -0,0 +1,29 @@ +--- +layout: news_post +title: "Rubyist Magazine 0053号 発行" +author: "kurotaky" +date: 2016-04-03 18:50:00 +0000 +lang: ja +--- + +[日本Rubyの会][1]有志による、ウェブ雑誌[Rubyist Magazine][2]の[0053号][3]がリリースされました([\[ruby-list:50299\] + +今号は、 + +* [巻頭言](http://magazine.rubyist.net/?0053-ForeWord) +* [Rubyist Hotlinks 【第 36 回】 須藤功平さん](http://magazine.rubyist.net/?0053-Hotlinks) +* [YARV Maniacs 【第 13 回】 事前コンパイルへの道](http://magazine.rubyist.net/?0053-YarvManiacs) +* [RegionalRubyKaigi レポート (56) TokyuRuby 会議 09](http://magazine.rubyist.net/?0053-TokyuRubyKaigi09Report) +* [RegionalRubyKaigi レポート (57) 大江戸 Ruby 会議 05](http://magazine.rubyist.net/?0053-OoedoRubyKaigi05Report) +* [TRICK2015 開催報告&入賞作品紹介](http://magazine.rubyist.net/?0053-TRICK2015) +* [るびまアクセスランキング Vol.53](http://magazine.rubyist.net/?0053-RubyistMagazineRanking) +* [0053 号 読者プレゼント](http://magazine.rubyist.net/?0053-Present) + +という構成となっています。 + +お楽しみください。 + +[1]: http://ruby-no-kai.org +[2]: http://magazine.rubyist.net/ +[3]: http://magazine.rubyist.net/?0053 +[4]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/50299 From e25b183f75f846af059d44b231e7842e17572384 Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Sun, 3 Apr 2016 19:21:30 +0900 Subject: [PATCH 0096/3394] Update book guide URL from 2015 to 2016 --- ja/documentation/quickstart/4/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/documentation/quickstart/4/index.md b/ja/documentation/quickstart/4/index.md index 29ea59af91..52ef8bcedd 100644 --- a/ja/documentation/quickstart/4/index.md +++ b/ja/documentation/quickstart/4/index.md @@ -151,7 +151,7 @@ Rubyにはこの他にもたくさんの異なる制御構造や、ブロック あるいは、書籍で探してみたいのであれば、 ネット書店やリアル書店で購入できる書籍の[ブックガイド][1]を -(訳注: これは2015年4月現在の関連書籍紹介ページに置き換えています) +(訳注: これは2016年4月現在の関連書籍紹介ページに置き換えています) チェックしてみてください。 -[1]: http://magazine.rubyist.net/?0050-ForeWord +[1]: http://magazine.rubyist.net/?0053-ForeWord From b803c1ffc8a896fdd95716ab7f1b4a4e7240d51c Mon Sep 17 00:00:00 2001 From: Yuta Kurotaki Date: Mon, 4 Apr 2016 00:52:43 +0900 Subject: [PATCH 0097/3394] Fix ruby-list URL in the Rubyist Magazine 0053 (ja) --- ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md b/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md index 2b03a06522..b63d84de13 100644 --- a/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md +++ b/ja/news/_posts/2016-04-03-rubyist-magazine-0053-published.md @@ -6,7 +6,7 @@ date: 2016-04-03 18:50:00 +0000 lang: ja --- -[日本Rubyの会][1]有志による、ウェブ雑誌[Rubyist Magazine][2]の[0053号][3]がリリースされました([\[ruby-list:50299\] +[日本Rubyの会][1]有志による、ウェブ雑誌[Rubyist Magazine][2]の[0053号][3]がリリースされました([\[ruby-list:50299\]][4])。 今号は、 From 2e69b07648bca54226603e593068a2a2d64e9ffc Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Mon, 4 Apr 2016 20:23:02 +0300 Subject: [PATCH 0098/3394] Translate 2016-03-30-ruby-2-1-9-released (bg) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 bg/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..e3172a2816 --- /dev/null +++ b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,60 @@ +--- +layout: news_post +title: "Излезе Ruby 2.1.9" +author: "usa" +translator: "Georgi Mitrev" +date: 2016-03-30 12:00:00 +0000 +lang: bg +--- + +Излезе Ruby 2.1.9. + +Рилийзът съдържа много бъгфиксове. Вижте +[Списък с промени](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +за повече информация. + +[Както бе обявено по-рано](https://www.ruby-lang.org/bg/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), +това ще бъде последният нормален рилийз от серията 2.1 и +след него ще бъдат backport-вани единствено поправки по сигурността. +Препоръчваме да планирате ъпгрейд към Ruby 2.3 или 2.2. + +След няколко дни ще излезе Ruby 2.1.10, който няма да включва никакви промени +от 2.1.9. Това е удобна възможност да се тества версия с двуцифрен номер. + +## Сваляне + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Коментар + +Благодарим на всички, помогнали при подготвянето на тази версия. +Thanks to everyone who helped with this release. + +Поддръжката на Ruby 2.1, включително този рилийз, е базирана на +"Agreement for the Ruby stable version" от [Ruby Association](http://www.ruby.or.jp/). From 0ca78566d1c5c8c23a716eaae668c2f285cde62d Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Mon, 4 Apr 2016 20:29:05 +0300 Subject: [PATCH 0099/3394] Translate ruby-2-1-10-released (bg) --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 bg/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..533c4f57e2 --- /dev/null +++ b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Излезе Ruby 2.1.10" +author: "usa" +translator: "Georgi Mitrev" +date: 2016-04-01 02:00:00 +0000 +lang: bg +--- + +Излезе Ruby 2.1.10. Този рилийз не е предназначен за употреба в продукция, а за +да се тества съвместимостта на версия с двуцифрено число. Може да продължите да +използвате Ruby 2.1.9. + +Както бе обявено при [излизането на Ruby 2.1.9](https://www.ruby-lang.org/bg/news/2016/03/30/ruby-2-1-9-released/), +Ruby 2.1.10 не включва никакви промени от 2.1.9 освен смяната на номера (и +малка промяна в тестовете). Моля тествайте приложенията и библиотеките си за +съвместимост с двуцифрена версия. + +## Сваляне + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Коментар + +Благодарим на всички, помогнали при подготвянето на тази версия. From 563dfd8def32bd7900e407f3a204b00769852cfe Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Mon, 4 Apr 2016 20:32:40 +0300 Subject: [PATCH 0100/3394] Improve wording in latest Bulgarian news articles --- bg/news/_posts/2016-03-30-ruby-2-1-9-released.md | 1 - bg/news/_posts/2016-04-01-ruby-2-1-10-released.md | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md index e3172a2816..2fb7c136a3 100644 --- a/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -54,7 +54,6 @@ lang: bg ## Коментар Благодарим на всички, помогнали при подготвянето на тази версия. -Thanks to everyone who helped with this release. Поддръжката на Ruby 2.1, включително този рилийз, е базирана на "Agreement for the Ruby stable version" от [Ruby Association](http://www.ruby.or.jp/). diff --git a/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md index 533c4f57e2..ab102dc9b2 100644 --- a/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -8,8 +8,7 @@ lang: bg --- Излезе Ruby 2.1.10. Този рилийз не е предназначен за употреба в продукция, а за -да се тества съвместимостта на версия с двуцифрено число. Може да продължите да -използвате Ruby 2.1.9. +да се тества съвместимостта на версия с двуцифрено число. Както бе обявено при [излизането на Ruby 2.1.9](https://www.ruby-lang.org/bg/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 не включва никакви промени от 2.1.9 освен смяната на номера (и From ee4e5ce943e3ed0c35f3347a9a19e00898fd10f4 Mon Sep 17 00:00:00 2001 From: Matheus Andrade Date: Tue, 5 Apr 2016 19:31:12 -0300 Subject: [PATCH 0101/3394] Update documentation page (pt). --- pt/documentation/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pt/documentation/index.md b/pt/documentation/index.md index 5462266a62..c7c28f2e9b 100644 --- a/pt/documentation/index.md +++ b/pt/documentation/index.md @@ -110,6 +110,11 @@ diversas maneiras de obter o Ruby. [APIdock][18] : Documentação do Ruby, Rails e RSpec com notas de usuários. +[Omniref: Annotated Ruby, Rails, and Gem Documentation][40] +: Documentação de todas as versões do Ruby e todas as versões de cada gem do + RubyGem. Um manual de referência completo para Ruby com pesquisa de código, + anotações, além de seção de Perguntas & Respostas. + ### Editores e IDEs Para programar em Ruby, você pode usar o editor padrão do seu sistema @@ -132,16 +137,19 @@ programadores Ruby: * [SciTe][28] * [NetBeans][36] * [Sublime Text][37] + * [Atom][atom] * No Windows: * [Notepad++][29] * [E-TextEditor][30] * [Ruby In Steel][31] + * [Atom][atom] * No Mac OS X: * [TextMate][32] * [TextWrangler][33] * [Dash][39] (navegador de documentação) + * [Atom][atom] ### Leitura Complementar @@ -191,3 +199,5 @@ perguntas sobre Ruby, a [lista de e-mails](/pt/community/mailing-lists/) [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash +[40]: https://www.omniref.com +[atom]: https://atom.io/ From acccd54f93678ab0a5103c0fbbd3115d25319fda Mon Sep 17 00:00:00 2001 From: Matheus Andrade Date: Tue, 5 Apr 2016 20:21:28 -0300 Subject: [PATCH 0102/3394] Update release list on download page (pt). --- pt/downloads/index.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/pt/downloads/index.md b/pt/downloads/index.md index 28aeae7a31..24ad704316 100644 --- a/pt/downloads/index.md +++ b/pt/downloads/index.md @@ -36,17 +36,21 @@ como compilar Ruby a partir dos fontes. Se você tiver algum problema compilando Ruby, considere utilizar uma das ferramentas de terceiros mencionadas acima. Elas podem te ajudar. -* **Versão estável atual:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} - -* **Versão estável anterior:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} - -* **Versão estável antiga:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +* **Versões estáveis:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} + +{% if site.downloads.security_maintenance %} +* **Com suporte a atualizações de segurança (EOL em breve!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} + +{% if site.downloads.eol %} +* **Sem suporte a atualizações (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **Snapshots:** * [Snapshot Estável]({{ site.downloads.stable_snapshot.url.gz }}): From ae90be3eebbb345140f0a6fbd8ca0df5a6cb9972 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Fri, 8 Apr 2016 11:36:16 +0700 Subject: [PATCH 0103/3394] Translate Ruby 2.1.9 and 2.1.10 released news (id) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 58 +++++++++++++++++++ .../_posts/2016-04-01-ruby-2-1-10-released.md | 49 ++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 id/news/_posts/2016-03-30-ruby-2-1-9-released.md create mode 100644 id/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/id/news/_posts/2016-03-30-ruby-2-1-9-released.md b/id/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..d258f247c8 --- /dev/null +++ b/id/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,58 @@ +--- +layout: news_post +title: "Ruby 2.1.9 Rilis" +author: "usa" +translator: "meisyal" +date: 2016-03-30 12:00:00 +0000 +lang: id +--- + +Ruby 2.1.9 telah rilis. + +Rilis ini mencakup banyak perbaikan *bug*. +Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +untuk detail. + +[Seperti yang diumumkan sebelumnya](https://www.ruby-lang.org/id/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), ini adalah rilis terakhir dari rangkaian versi Ruby 2.1. +Setelah rilis ini, kami tidak akan pernah *backport* perbaikan *bug* apapun ke 2.1 kecuali perbaikan keamanan. +Kami merekomendasikan Anda untuk mulai merencanakan pembaruan ke Ruby 2.3 atau 2.2. + +Kami juga sedang merencanakan untuk merilis Ruby 2.1.10 dalam beberapa hari. +Ruby 2.1.10 tidak akan mencakup perubahan apapun dari 2.1.9, kecuali untuk nomor versinya. +Anda tidak harus menggunakannya saat produksi, tetapi Anda harus mengujinya karena versi ini memiliki dua digit angka. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Komentar Rilis + +Terima kasih kepada semua yang telah membantu rilis ini. + +Perawatan Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for the Ruby stable version" dari [Ruby Association](http://www.ruby.or.jp/). diff --git a/id/news/_posts/2016-04-01-ruby-2-1-10-released.md b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..14b2563269 --- /dev/null +++ b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.1.10 Rilis" +author: "usa" +translator: "meisyal" +date: 2016-04-01 02:00:00 +0000 +lang: id +--- + +Ruby 2.1.0 telah rilis. +Rilis ini tidak ditujukan untuk penggunaan saat produksi, tetapi untuk *compatibility test* dengan versi dua digit angka. +Kamu tidak harus mengganti Ruby 2.1.9 dengan 2.1.10 untuk penggunaan biasa. + +Seperti yang diumumkan pada [berita 2.1.9 rilis](https//www.ruby-lang.org/id/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 tidak mencakup perubahan apapun dari 2.1.9, kecuali nomor versinya (dan hanya satu perubahan kecil terkait dengan *test suite*-nya). +Mohon uji aplikasi dan/atau pustaka Anda untuk *compatibility* dengan versi dua digit angka. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Komentar Rilis + +Terima kasih kepada semua yang telah membantu rilis ini. From 91a7c7dd4ebe5b61cd40c47bd5072ad5a233629a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 9 Apr 2016 13:56:36 +0200 Subject: [PATCH 0104/3394] Fix link (id) --- id/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/news/_posts/2016-04-01-ruby-2-1-10-released.md b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md index 14b2563269..11da014900 100644 --- a/id/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -11,7 +11,7 @@ Ruby 2.1.0 telah rilis. Rilis ini tidak ditujukan untuk penggunaan saat produksi, tetapi untuk *compatibility test* dengan versi dua digit angka. Kamu tidak harus mengganti Ruby 2.1.9 dengan 2.1.10 untuk penggunaan biasa. -Seperti yang diumumkan pada [berita 2.1.9 rilis](https//www.ruby-lang.org/id/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 tidak mencakup perubahan apapun dari 2.1.9, kecuali nomor versinya (dan hanya satu perubahan kecil terkait dengan *test suite*-nya). +Seperti yang diumumkan pada [berita 2.1.9 rilis](https://www.ruby-lang.org/id/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 tidak mencakup perubahan apapun dari 2.1.9, kecuali nomor versinya (dan hanya satu perubahan kecil terkait dengan *test suite*-nya). Mohon uji aplikasi dan/atau pustaka Anda untuk *compatibility* dengan versi dua digit angka. ## Unduh From dbefc88165ce411e63b9e69c485f496389ed46cf Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 9 Apr 2016 20:20:32 +0200 Subject: [PATCH 0105/3394] Drop unnecessary YAML front matter from index.html --- index.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/index.html b/index.html index 0d092e0449..acf2b8f5b0 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,3 @@ ---- -layout: null ---- - From 78ed1e7dccbcb14453ec8c5b470c1dc65e6f21ab Mon Sep 17 00:00:00 2001 From: Quintus Date: Wed, 13 Apr 2016 14:54:13 +0200 Subject: [PATCH 0107/3394] Translate 2.1.9 release post (de) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 de/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/de/news/_posts/2016-03-30-ruby-2-1-9-released.md b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..8fc2fa183e --- /dev/null +++ b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,66 @@ +--- +layout: news_post +title: "Ruby 2.1.9 veröffentlicht" +author: "usa" +translator: "Marvin Gülker" +date: 2016-03-30 12:00:00 +0000 +lang: de +--- + +Ruby 2.1.9 ist veröffentlicht worden. + +Mit dieser Veröffentlichung wurden viele Fehler behoben. +Siehe das [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +für weitere Informationen. + +[Wie zuvor angekündigt](https://www.ruby-lang.org/de/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/) +handelt es sich hierbei im die letzte reguläre Veröffentlichung der +2.1er-Serie von Ruby, nach der wir abgesehen von +Sicherheitskorrekturen keine weiteren Bugfixes nach Ruby 2.1 +zurückportieren werden. +Wir empfehlen Ihnen, mit den Planungen für einen Umstieg auf Ruby 2.3 +oder 2.2 zu beginnen. + +Wir werden übrigens in wenigen Tagen Ruby 2.1.10 veröffentlichen, +welches außer der Versionsnummer keine Änderungen gegenüber 2.1.9 +enthalten wird. +Sie müssen diese Version nicht produktiv einsetzen, sollten sie aber +testen, weil sie erstmals eine zweistellige Versionsnummer führt. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Release Comment + +Dank geht an alle, die bei dieser Veröffentlichung geholfen haben. + +Die Unterstützung von Ruby 2.1, diese Veröffentlichung eingeschlossen, +basiert auf der „Vereinbarung über die stabile Version von Ruby“ +[der Ruby Association](http://www.ruby.or.jp/). From ae1c15b8a5bbdef3778938403fdea5aff95879c7 Mon Sep 17 00:00:00 2001 From: Quintus Date: Wed, 13 Apr 2016 14:54:28 +0200 Subject: [PATCH 0108/3394] Translate 2.1.10 release post (de) --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 de/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/de/news/_posts/2016-04-01-ruby-2-1-10-released.md b/de/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..b25d014fae --- /dev/null +++ b/de/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,56 @@ +--- +layout: news_post +title: "Ruby 2.1.10 veröffentlicht" +author: "usa" +translator: "Marvin Gülker" +date: 2016-04-01 02:00:00 +0000 +lang: de +--- + +Ruby 2.1.10 ist veröffentlicht worden. +Diese Veröffentlichung ist nicht für den Produktiveinsatz gedacht, +sondern zielt aufgrund ihrer zweistelligen Versionsnummer auf +Kompatibilitätstests ab. +Es ist nicht erforderlich, ein im normalen Gebrauch befindliches Ruby +2.1.9 durch 2.1.10 zu ersetzen. + +Wie im [Artikel zur Veröffentlichung von 2.1.9](https://www.ruby-lang.org/de/news/2016/03/30/ruby-2-1-9-released/) +angekündigt wurde, enthält Ruby 2.1.10 keinerlei Änderungen gegenüber +2.1.9, außer eben der nun zweistelligen Versionsnummer (und einer +kleinen diesbezüglichen Änderung der Testsuite). +Bitte überprüfen Sie Ihre Anwendungen und/oder Bibliotheken auf +Kompatibilität mit zweistelligen Versionsnummern. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Release Comment + +Dank geht an alle, die bei dieser Veröffentlichung geholfen haben. From 88ba419a0bf380f80e4efeccd9f13d05d31d1824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=E1=BA=A9m=20Hu=E1=BB=B3nh?= Date: Tue, 12 Apr 2016 16:23:14 +0700 Subject: [PATCH 0109/3394] Translate new posts into Vietnamese - _posts/2016-03-30-ruby-2-1-9-released.md - _posts/2016-03-30-ruby-2-1-10-released.md --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 61 +++++++++++++++++++ .../_posts/2016-04-01-ruby-2-1-10-released.md | 54 ++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 vi/news/_posts/2016-03-30-ruby-2-1-9-released.md create mode 100644 vi/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..49eeac93a8 --- /dev/null +++ b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,61 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.1.9" +author: "usa" +translator: "Cẩm Huỳnh" +date: 2016-03-30 12:00:00 +0000 +lang: vi +--- + +Ruby 2.1.9 đã được chính thức phát hành. + +Bản phát hành này bao gồm nhiều vá lỗi + +Xem [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +để biết thêm chi tiết. + +[Như đã được thông báo trước đó](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), đây là bản phát hành thông thường cuối cùng của series 2.1. + +Sau bản phát hành này, chúng tôi sẽ không còn hỗ trợ bất kì lỗi nào cho 2.1 ngoại trừ lỗi bảo mật. Chúng tôi khuyến khích bạn bắt đầu lên kế hoạch nâng cấp lên Ruby 2.3 hoặc 2.2. + +Đồng thời, chúng tôi dự định sẽ tung ra bản 2.1.10 trong vòng ít ngày tới. + +Ruby 2.1.10 sẽ không có bất kì sự thay đổi nào so với 2.1.9 ngoại trừ con số phiên bản. + +Bạn không cần phải sử dụng nó cho production, nhưng bạn nên thử nghiệm nó bởi vì số phiên bản của nó có hai chữ số. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Chú thích phát hành + +Cảm ơn tất cả mọi người đã đóng góp vào bản phát hành này. + +Sự bảo trì của Ruby 2.1, bao gồm bản phát hành này, được dựa trên "Agreement for the Ruby stable version" của [Ruby Association](http://www.ruby.or.jp/). diff --git a/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..be282386e8 --- /dev/null +++ b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.1.10" +author: "usa" +translator: "Cẩm Huỳnh" +date: 2016-04-01 02:00:00 +0000 +lang: vi +--- + +Ruby 2.1.10 đã được chính thức phát hành. + +Bản phát hành này không dành cho production, mà nhằm mục đích thử nhiệm sự tương thích của những bản phát hành bao gồm hai chữ số. + +Bạn không cần phải nâng cấp từ 2.1.9 lên 2.1.10 trong trường hợp sử dụng bình thường. + +Như đã được thông báo trong bản phát hành của [Ruby 2.1.9](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.0 không có bất kì sự thay đổi nào so với 2.1.9, ngoại trừ con số của phiên bản (và chỉ một bài sự thay đổi liên quan trong bộ kiểm thử). + +Vui lòng thử nghiệm sự tương thích của ứng dụng và/hoặc thư viên của bạn với những phiên bản bao gồm hai chữ số. + +## Tải xuống + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Chú thích phát hành + +Cảm ơn sự giúp đỡ của tất cả mọi người trong phiên bản này. + + From 7e7491d79ab41892bf76f362933ae100d645949d Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Fri, 15 Apr 2016 17:43:55 +0800 Subject: [PATCH 0110/3394] Translate Mailing List page (zh_tw) Closes #1354 --- zh_tw/community/mailing-lists/index.md | 34 +++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/zh_tw/community/mailing-lists/index.md b/zh_tw/community/mailing-lists/index.md index 4f1a5a32bc..9f687bbdab 100644 --- a/zh_tw/community/mailing-lists/index.md +++ b/zh_tw/community/mailing-lists/index.md @@ -4,4 +4,36 @@ title: "郵件論壇" lang: zh_tw --- -{% include out-of-date.html %} +加入郵件論壇,掌握最新 Ruby 社群脈動。 +{: .summary} + +Ruby 有四個主要的英文郵件論壇: + +Ruby-Talk +: Ruby-Talk 與 [Ruby-Forum.com][1] 十分相似,其討論的議題十分全面,同時也是最有人氣的 Ruby 郵件論壇。([問與答][2]跟[彙整][3]) + +Ruby-Core +: 此郵件論壇專注於 Ruby 的核心以及重點實作,通常用於修正檔的檢查上。([彙整][4]) + +Ruby-Doc +: 此郵件論壇專注於 Ruby 的標準文件以及工具。([在 Gmane 上的彙整][5]) + +Ruby-CVS +: 此郵件列表會回報 Ruby Subversion 版本控制庫的每一個提交。 + +The comp.lang.ruby 新聞組 +: 喜愛 Usenet 勝過郵件列表的你,會想看看這個 [comp.lang.ruby](news:comp.lang.ruby) 新聞組的。 + + +## 立即訂閱或是取消訂閱 + +{% include subscription-form.html %} + +如果您送出表格後無法收到確認信件,請嘗試以[手動方式](manual-instructions/)訂閱。 + + +[1]: https://www.ruby-forum.com/ +[2]: http://rubyhacker.com/clrFAQ.html +[3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml +[4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml +[5]: http://dir.gmane.org/gmane.comp.lang.ruby.documentation From ae0f9543a1d496ba8274db0d43faa054788582ff Mon Sep 17 00:00:00 2001 From: Fer Perales Date: Wed, 13 Apr 2016 21:47:51 -0500 Subject: [PATCH 0111/3394] Translate Ruby 2.1.9 and 2.1.10 releases (es) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 57 +++++++++++++++++++ .../_posts/2016-04-01-ruby-2-1-10-released.md | 49 ++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 es/news/_posts/2016-03-30-ruby-2-1-9-released.md create mode 100644 es/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/es/news/_posts/2016-03-30-ruby-2-1-9-released.md b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..4c10198472 --- /dev/null +++ b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Ruby 2.1.9 liberado" +author: "usa" +translator: "Fernando Perales" +date: 2016-03-30 12:00:00 +0000 +lang: es +--- + +Ruby 2.1.9 ha sido liberada. + +Este lanzamiento incluye varias correcciones de errores. +Puedes revisar el [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) para más detalles. + +[Como se anunció hace tiempo](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), este es el último lanzamiento regular de la serie Ruby 2.1. +Después de este lanzamiento nunca más volveremos a migrar correciones de errores a la versión 2.1 a excepción de parches de seguridad. +Te recomendamos comenzar a planear la actualización a Ruby 2.3 or 2.2. + +Por cierto, estamos planeando liberar Ruby 2.1.10 dentro de pocos días. +Ruby 2.1.10 no contendrá cambios no incluidos en 2.1.9, a excepción del número de versión. +No es necesario que la uses en producción, pero deberías probarla ya que tiene un número de versión de dos dígitos. + +## Descargas + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Comentarios de la entrega + +Gracias a todos los que ayudaron en este lanzamiento. + +El mantenimiento de Ruby 2.1, incluyendo este lanzamiento, se basa en el "Agreement for the Ruby stable version" de la [Ruby Association](http://www.ruby.or.jp/). diff --git a/es/news/_posts/2016-04-01-ruby-2-1-10-released.md b/es/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..e1afdbb797 --- /dev/null +++ b/es/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.1.10 liberado" +author: "usa" +translator: "Fernando Perales" +date: 2016-04-01 02:00:00 +0000 +lang: es +--- + +Ruby 2.1.10 ha sido liberada. +Este no es un lanzamiento pensado para su uso en producción, sino para pruebas de compatibilidad con versiones de dos dígitos. +No tienes que reemplazar Ruby 2.1.9 por 2.1.10 en uso normal. + +Como se anunció en la [publicación de lanzamiento de la versión 2.1.9](https://www.ruby-lang.org/es/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.10 no incluye cambio alguno en comparación con la versión 2.1.9, a excepción de su número de versión (y sólo un pequeño cambio relacionado a su suite de pruebas). +Por favor prueba tus aplicaciones y/o bibliotecas para asegurar la compatibilidad con versiones de dos dígitos. + +## Descargas + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Comentarios de la entrega + +Gracias a todos los que ayudaron con este lanzamiento. From 2b1a60fe0a51fd01340118daa3d62e0ca3a96b57 Mon Sep 17 00:00:00 2001 From: Vincent Lin Date: Sun, 17 Apr 2016 23:34:44 +0800 Subject: [PATCH 0112/3394] Translate User Groups page (zh_tw) (#1355) --- zh_tw/community/user-groups/index.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/zh_tw/community/user-groups/index.md b/zh_tw/community/user-groups/index.md index 22363ceae0..c52b78c318 100644 --- a/zh_tw/community/user-groups/index.md +++ b/zh_tw/community/user-groups/index.md @@ -4,4 +4,26 @@ title: "使用者群組" lang: zh_tw --- -{% include out-of-date.html %} +在程式開發社群中,使用者群組為了對於特定主題感興趣的人們,提供了友善的互助網絡,同時他也是與其他的開發者一起提升能力的好地方。使用者群組通常是非正式且各自相異的,每個人都可以建立屬於他的群組,及訂下自己的規範與計畫。 +{: .summary} + +### Ruby 使用者群組 + +若您想要與其他的 Ruby 開發者碰面的話,當地的使用者群組是您的最佳選擇。 Ruby 使用者群組完全專注於 Ruby 本身 ,典型的特色有每月活動、郵件論壇、網站,幸運的話,還有經常性舉辦的動手工作坊(給參加者有機會動手寫 Ruby 的聚會)。 + +關於 Ruby 使用者群組的資訊可以在許多網站找到: + +[rubyusergroups.org][1] +: 一個遍及全世界的 Ruby 使用者群組列表,同時也允許讓 Ruby 使用者們將自己標示在全球地圖上。 + +[Ruby Meetup Groups][2] +: 許多 Ruby 使用者群組選擇在 Meetup 建立自己的家, Meetup 提供許多群組工具,包含:私密論壇、公佈欄、自動聚會提醒、還有一個很棒的 RSVP 系統。 + +### 組織您自己的使用者群組 + +若您有興趣建立自己的使用者群組,請確認在您的所在地區是否已經有 Ruby 使用者群組,因為越大的聚會通常會越有趣,所以如果您的地區已經有了,再建立群組也許不是最好的選項。 + + + +[1]: http://www.rubyusergroups.org/ +[2]: http://ruby.meetup.com From 57b6915e694a2463b5d002f1612c1e6d6f7ea4eb Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 17 Apr 2016 18:27:11 +0200 Subject: [PATCH 0113/3394] Fix typos and links (de, vi) --- de/news/_posts/2016-03-30-ruby-2-1-9-released.md | 4 ++-- vi/news/_posts/2016-03-30-ruby-2-1-9-released.md | 8 ++------ vi/news/_posts/2016-04-01-ruby-2-1-10-released.md | 7 +------ 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/de/news/_posts/2016-03-30-ruby-2-1-9-released.md b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md index 8fc2fa183e..0f689c64c4 100644 --- a/de/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -14,7 +14,7 @@ Siehe das [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) für weitere Informationen. [Wie zuvor angekündigt](https://www.ruby-lang.org/de/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/) -handelt es sich hierbei im die letzte reguläre Veröffentlichung der +handelt es sich hierbei um die letzte reguläre Veröffentlichung der 2.1er-Serie von Ruby, nach der wir abgesehen von Sicherheitskorrekturen keine weiteren Bugfixes nach Ruby 2.1 zurückportieren werden. @@ -63,4 +63,4 @@ Dank geht an alle, die bei dieser Veröffentlichung geholfen haben. Die Unterstützung von Ruby 2.1, diese Veröffentlichung eingeschlossen, basiert auf der „Vereinbarung über die stabile Version von Ruby“ -[der Ruby Association](http://www.ruby.or.jp/). +der [Ruby Association](http://www.ruby.or.jp/). diff --git a/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md index 49eeac93a8..58342d14cf 100644 --- a/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -9,19 +9,15 @@ lang: vi Ruby 2.1.9 đã được chính thức phát hành. -Bản phát hành này bao gồm nhiều vá lỗi - +Bản phát hành này bao gồm nhiều vá lỗi. Xem [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) để biết thêm chi tiết. -[Như đã được thông báo trước đó](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), đây là bản phát hành thông thường cuối cùng của series 2.1. - +[Như đã được thông báo trước đó](https://www.ruby-lang.org/vi/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), đây là bản phát hành thông thường cuối cùng của series 2.1. Sau bản phát hành này, chúng tôi sẽ không còn hỗ trợ bất kì lỗi nào cho 2.1 ngoại trừ lỗi bảo mật. Chúng tôi khuyến khích bạn bắt đầu lên kế hoạch nâng cấp lên Ruby 2.3 hoặc 2.2. Đồng thời, chúng tôi dự định sẽ tung ra bản 2.1.10 trong vòng ít ngày tới. - Ruby 2.1.10 sẽ không có bất kì sự thay đổi nào so với 2.1.9 ngoại trừ con số phiên bản. - Bạn không cần phải sử dụng nó cho production, nhưng bạn nên thử nghiệm nó bởi vì số phiên bản của nó có hai chữ số. ## Download diff --git a/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md index be282386e8..a8024db567 100644 --- a/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -8,13 +8,10 @@ lang: vi --- Ruby 2.1.10 đã được chính thức phát hành. - Bản phát hành này không dành cho production, mà nhằm mục đích thử nhiệm sự tương thích của những bản phát hành bao gồm hai chữ số. - Bạn không cần phải nâng cấp từ 2.1.9 lên 2.1.10 trong trường hợp sử dụng bình thường. -Như đã được thông báo trong bản phát hành của [Ruby 2.1.9](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.0 không có bất kì sự thay đổi nào so với 2.1.9, ngoại trừ con số của phiên bản (và chỉ một bài sự thay đổi liên quan trong bộ kiểm thử). - +Như đã được thông báo trong bản phát hành của [Ruby 2.1.9](https://www.ruby-lang.org/vi/news/2016/03/30/ruby-2-1-9-released/), Ruby 2.1.0 không có bất kì sự thay đổi nào so với 2.1.9, ngoại trừ con số của phiên bản (và chỉ một bài sự thay đổi liên quan trong bộ kiểm thử). Vui lòng thử nghiệm sự tương thích của ứng dụng và/hoặc thư viên của bạn với những phiên bản bao gồm hai chữ số. ## Tải xuống @@ -50,5 +47,3 @@ Vui lòng thử nghiệm sự tương thích của ứng dụng và/hoặc thư ## Chú thích phát hành Cảm ơn sự giúp đỡ của tất cả mọi người trong phiên bản này. - - From 00595245326cb4b9ad00cf6023e3cf429d1e82d1 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Mon, 18 Apr 2016 17:47:30 +0800 Subject: [PATCH 0114/3394] Add https://cache.ruby-china.org to download mirros page Closes #1356 --- en/downloads/mirrors/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/en/downloads/mirrors/index.md b/en/downloads/mirrors/index.md index 09731688c4..8e97d95c7c 100644 --- a/en/downloads/mirrors/index.md +++ b/en/downloads/mirrors/index.md @@ -36,7 +36,8 @@ Please try to use a mirror that is near you. * [Austria][mirror-http-at] (tuwien.ac.at) * [Taiwan 1][mirror-http-tw1] (cdpa.nsysu.edu.tw) * [Taiwan 2][mirror-http-tw2] (ftp.cs.pu.edu.tw) -* [China][mirror-http-cn] (ruby.taobao.org) +* [China 1][mirror-http-cn1] (ruby.taobao.org) +* [China 2][mirror-http-cn2] (Ruby China) ### Mirror sites via FTP @@ -92,7 +93,8 @@ Please try to use a mirror that is near you. [mirror-http-at]: http://gd.tuwien.ac.at/languages/ruby/ [mirror-http-tw1]: http://pluto.cdpa.nsysu.edu.tw/ruby/ [mirror-http-tw2]: http://ftp.cs.pu.edu.tw/Unix/lang/Ruby/ -[mirror-http-cn]: https://ruby.taobao.org/mirrors/ruby/ +[mirror-http-cn1]: https://ruby.taobao.org/mirrors/ruby/ +[mirror-http-cn2]: https://cache.ruby-china.org/pub/ruby/ [mirror-ftp-jp1]: https://cache.ruby-lang.org/pub/ruby/ [mirror-ftp-jp-ring-shibaura-it]: ftp://ring.shibaura-it.ac.jp/pub/lang/ruby/ [mirror-ftp-jp-ring-tohoku]: ftp://ring.tains.tohoku.ac.jp/pub/lang/ruby/ From f67c37a80a246a2af40c6d41ec2bdfd105111a2e Mon Sep 17 00:00:00 2001 From: Felipe Gentil Date: Tue, 12 Apr 2016 18:41:55 -0300 Subject: [PATCH 0115/3394] Translate Ruby 2.1.9 released (pt) --- .../_posts/2016-03-30-ruby-2-1-9-released.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pt/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md b/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..b2fa202f88 --- /dev/null +++ b/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,62 @@ +--- +layout: news_post +title: "Ruby 2.1.9 lançado" +author: "usa" +translator: "fpgentil" +date: 2016-03-30 12:00:00 +0000 +lang: pt +--- + +Ruby 2.1.9 foi lançado. + +Esta versão inclui várias correções de *bugs*. +Consulte o [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) +para detalhes. + +[Como anunciado anteriormente](https://www.ruby-lang.org/pt/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), +esta é a última *release* normal para a série Ruby 2.1. Depois disso, nós nunca +mais iremos portar nenhuma correção de *bug* para 2.1 com exceção de correções +de segurança. Nós recomandamos que você comece a planejar o *upgrade* para Ruby +2.3 ou 2.2. + +A propósito, nós estamos planejando lançar o Ruby 2.1.10 em alguns dias. +Ruby 2.1.10 não incluirá nenhuma alteração da versão 2.1.9, com exceção do +número da versão. Você não deve utilizá-la em produção, mas deve testá-la pois +é um número de versão com dois dígitos. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## Comentário da *release* + +Obrigado a todos que ajudaram nessa *release*. + +A manutenção do Ruby 2.1, incluindo essa *release*, baseia-se no "Agreement for +the Ruby stable version" da [Ruby Association](http://www.ruby.or.jp/). From 0332b889076714ca93ba5e221a3495efa64d7477 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 21 Apr 2016 21:50:33 +0200 Subject: [PATCH 0116/3394] Fix link (es) --- es/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/news/_posts/2016-03-30-ruby-2-1-9-released.md b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md index 4c10198472..1c4046dafa 100644 --- a/es/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -12,7 +12,7 @@ Ruby 2.1.9 ha sido liberada. Este lanzamiento incluye varias correcciones de errores. Puedes revisar el [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog) para más detalles. -[Como se anunció hace tiempo](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), este es el último lanzamiento regular de la serie Ruby 2.1. +[Como se anunció hace tiempo](https://www.ruby-lang.org/es/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), este es el último lanzamiento regular de la serie Ruby 2.1. Después de este lanzamiento nunca más volveremos a migrar correciones de errores a la versión 2.1 a excepción de parches de seguridad. Te recomendamos comenzar a planear la actualización a Ruby 2.3 or 2.2. From d78e9f0c0f45448d1e154d60001a24635528ca86 Mon Sep 17 00:00:00 2001 From: Chayoung You Date: Fri, 22 Apr 2016 19:09:16 +0900 Subject: [PATCH 0117/3394] Translate Ruby 2.1.9 Released (ko) --- .../_posts/2015-12-25-ruby-2-3-0-released.md | 2 +- .../_posts/2016-03-30-ruby-2-1-9-released.md | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 ko/news/_posts/2016-03-30-ruby-2-1-9-released.md diff --git a/ko/news/_posts/2015-12-25-ruby-2-3-0-released.md b/ko/news/_posts/2015-12-25-ruby-2-3-0-released.md index 489864823d..2b97b31e72 100644 --- a/ko/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/ko/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -9,7 +9,7 @@ lang: ko 루비 2.3.0의 릴리스를 발표할 수 있게 되어 기쁘게 생각합니다. -이것은 루비 2.3.x 의 첫 번째 안정판 릴리스입니다. +이것은 루비 2.3.x의 첫 번째 안정판 릴리스입니다. 여기에서는 많은 새 기능들이 도입되었습니다. [프로즌 스트링 리터럴 프라그마](https://bugs.ruby-lang.org/issues/11473)가 diff --git a/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md b/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md new file mode 100644 index 0000000000..b404710349 --- /dev/null +++ b/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -0,0 +1,61 @@ +--- +layout: news_post +title: "루비 2.1.9 릴리스" +author: "usa" +translator: "yous" +date: 2016-03-30 12:00:00 +0000 +lang: ko +--- + +루비 2.1.9가 릴리스 되었습니다. + +이번 릴리스는 많은 버그 수정을 포함하고 있습니다. +자세한 사항은 +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_9/ChangeLog)를 +확인해주세요. + +[이전에 공지했듯이](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/), +이는 루비 2.1의 마지막 일반 릴리스입니다. +이 릴리스 이후로는 보안 수정을 제외한 어떤 버그 수정도 백포트되지 않을 것입니다. +루비 2.3이나 2.2로 업그레이드할 계획을 세우시길 추천합니다. + +한편 우리는 루비 2.1.10의 릴리스를 계획하고 있습니다. +루비 2.1.10은 버전 번호를 제외하면 2.1.9에서 변경된 어떠한 사항도 포함하고 있지 않습니다. +프로덕션 환경에서 사용할 필요는 없지만 두 글자짜리 버전 번호를 갖고 있으므로 테스트 해보셔야 합니다. + +## 다운로드 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2) + + SIZE: 12016421 bytes + SHA1: 39524185b580a3390a3b5019819c8b28d3249766 + SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) + + SIZE: 15166126 bytes + SHA1: dd68afc652fe542f83a9a709a74f4da2662054bf + SHA256: 034cb9c50676d2c09b3b6cf5c8003585acea05008d9a29fa737c54d52c1eb70c + SHA512: 1e03aa720e932f019c4651c355e8ef35b87fdf69b054c9d39a319467d2a8e5bfe4995cbacd9add36b832c77761a47c9d1040f00e856ad5888d69ec7221455e35 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.xz) + + SIZE: 9395648 bytes + SHA1: 5e89efa5189c3def8ee8de18ce750a7e4a20ac32 + SHA256: 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a + SHA512: 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.zip) + + SIZE: 16696728 bytes + SHA1: 4aa288b65fbf12692ac53577adc561c9a0f6a6ca + SHA256: 8610fdb1836d493c19600cfed4828083f85197096c0aea3f73fa1ed532cbb5a7 + SHA512: a212b6a58637f6bf4f456d7ecc7bbd8ceaa0c3f16cb844b872eb62eaf261b5874fdb79705241d05a356fcdc1d3fdd8a94fcd8e6ca62190e9f544c8f45a9f41af + +## 릴리스 코멘트 + +이 릴리스를 만드는 데 도움을 준 모두에게 감사드립니다. + +이 릴리스를 포함한 루비 2.1의 유지보수는 [Ruby Association](http://www.ruby.or.jp/)의 +"루비 안정 버전에 관한 협의"에 기반해 이루어집니다. From f76743c7cf009975ae286b13973bcd8eeb015192 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 09:14:12 +0200 Subject: [PATCH 0118/3394] Remove link to RubySpec (translations) --- bg/about/index.md | 5 ----- de/about/index.md | 5 ----- ja/about/index.md | 3 --- ko/about/index.md | 3 --- pl/about/index.md | 4 ---- pt/about/index.md | 5 ----- zh_cn/about/index.md | 3 --- 7 files changed, 28 deletions(-) diff --git a/bg/about/index.md b/bg/about/index.md index 161eda14cd..48a75fbb13 100644 --- a/bg/about/index.md +++ b/bg/about/index.md @@ -193,10 +193,6 @@ Ruby притежава множество други черти, като ня * [Cardinal][cardinal] e “Ruby компилатор за виртуалната машина [Parrot][parrot]” (Perl 6). -Някои от тези имплементации, включително MRI, ползват списъка с ръководни -принципи на [RubySpec][rubyspec], което е пълна изпълнима спецификация на -Ruby. - ### Референции 1 Matz в пощенския списък Ruby-Talk, [May 12th, 2000][blade]. @@ -225,4 +221,3 @@ Ruby. [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/de/about/index.md b/de/about/index.md index d5a6c14dc1..bc6cd47b4c 100644 --- a/de/about/index.md +++ b/de/about/index.md @@ -227,10 +227,6 @@ Hier ist eine Liste: * [Cardinal][cardinal] ist ein „Ruby-Compiler für die [Parrot][parrot] Virtual Machine“ (Perl 6). -Einige der genannten Implementierungen, MRI eingeschlossen, folgen den -Richtlinien von [RubySpec][rubyspec], einer „kompletten ausführbaren -Spezifikation für die Programmiersprache Ruby“. - ### Referenzen 1 Matz in der Ruby-Talk-Mailingliste am [12. Mai 2000][blade]. @@ -260,4 +256,3 @@ November 2001. [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/ja/about/index.md b/ja/about/index.md index 4a1a867714..6861ccf6a0 100644 --- a/ja/about/index.md +++ b/ja/about/index.md @@ -181,8 +181,6 @@ MRI以外のRuby処理系には以下のようなものがあります。 * [MagLev][maglev]は、オブジェクトの永続化と分散共有キャッシュを持った、高速で安定したRuby処理系です。 * [Cardinal][cardinal]はPerl6用の仮想マシンである[Parrot][parrot]上のRubyコンパイラです。 -MRIを含めて、これらの処理系は「Ruby言語のための実行可能な仕様」である[RubySpec][rubyspec]のガイドラインに沿っています。 - ### 参照リンク 1 Matz, ruby-talk メーリンクリスト上での会話, [2000年5月12日][blade]。 @@ -209,4 +207,3 @@ MRIを含めて、これらの処理系は「Ruby言語のための実行可能 [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/ko/about/index.md b/ko/about/index.md index 50476d0d64..9a75fbf666 100644 --- a/ko/about/index.md +++ b/ko/about/index.md @@ -164,8 +164,6 @@ MRI가 지원하지 않는 특별한 기능을 가지거나 합니다. * [MagLev][maglev]는 “통합된 개체 지속성과 분산 공유 캐시를 가진 빠르고, 안정적인 루비 구현체”입니다. * [Cardinal][cardinal]는 “[Parrot][parrot] 가상 기기을 위한 루비 컴파일러”(Perl 6)입니다. -MRI를 포함, 일부 구현체들은 “complete executable specification for the Ruby programming language”인 [RubySpec][rubyspec]의 가이드라인을 준수합니다. - ### 참조 1 마츠, 루비토크 메일링 리스트에서, [May 12th, @@ -196,4 +194,3 @@ MRI를 포함, 일부 구현체들은 “complete executable specification for t [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/pl/about/index.md b/pl/about/index.md index fbf6f8ddd1..340c0de65f 100644 --- a/pl/about/index.md +++ b/pl/about/index.md @@ -216,9 +216,6 @@ Tu jest lista: * [Cardinal][cardinal] jest “kompilatorem Rubiego dla [Parrot][parrot] Virtual Machine” (Perl 6). -Niektóre z tych implementacji, włączając w to MRI, podążają za wytycznymi -[RubySpec][rubyspec], “pełna wykonywalna specyfikacja dla języka programowania Ruby”. - ### Odnośniki 1 Matz, wypowiedź na liście ruby-talk, [May 12th, 2000][blade]. @@ -247,4 +244,3 @@ Niektóre z tych implementacji, włączając w to MRI, podążają za wytycznymi [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/pt/about/index.md b/pt/about/index.md index fdfc0423a9..87adb5a1c1 100644 --- a/pt/about/index.md +++ b/pt/about/index.md @@ -226,10 +226,6 @@ Segue uma lista: * [Cardinal][cardinal] é um “compilador Ruby para a Máquina Virtual [Parrot][parrot]” (Perl 6). -Algumas dessas implementações, inclusive o MRI, seguem as diretrizes da -[RubySpec][rubyspec], uma “especificação completamente executável para a -linguagem de programação Ruby”. - ### Referências 1 Matz, falando na lista de e-mails Ruby-Talk, [12 Mai. @@ -260,4 +256,3 @@ Nov. 2001. [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org diff --git a/zh_cn/about/index.md b/zh_cn/about/index.md index 6dd33e53a8..f090781399 100644 --- a/zh_cn/about/index.md +++ b/zh_cn/about/index.md @@ -132,8 +132,6 @@ Ruby 还有其他众多特性,下面列举一些: * [MagLev][maglev] 是“一个快速、稳定的 Ruby 实现,支持集成对象持久化和分布式共享缓存”。 * [Cardinal][cardinal] 是一个“为 [Parrot][parrot] 虚拟机 (Perl 6)编写的 Ruby 编译器”。 -这些实现中有一部分(包括 MRI)遵守 [RubySpec][rubyspec] 规范,这是一份“完全可以执行的 Ruby 编程语言规范”。 - ### 参考资料 1 [2000 年 5 月 12 日][blade],Matz 在 Ruby-Talk 邮件列表中发布的消息。 @@ -161,4 +159,3 @@ Ruby 还有其他众多特性,下面列举一些: [maglev]: http://ruby.gemstone.com [cardinal]: https://github.com/parrot/cardinal [parrot]: http://parrot.org -[rubyspec]: http://rubyspec.org From 53ed776f8c80838d1a8a1cdfb7c5422ea36f4f1e Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 15:27:34 +0200 Subject: [PATCH 0119/3394] Fix link to RubyGarden FAQ (en) Has been down for a long time; link to "The Ruby Language FAQ" instead. Closes #1202. --- en/documentation/ruby-from-other-languages/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/index.md b/en/documentation/ruby-from-other-languages/index.md index 5f9b905c5a..3363e69385 100644 --- a/en/documentation/ruby-from-other-languages/index.md +++ b/en/documentation/ruby-from-other-languages/index.md @@ -234,7 +234,7 @@ private method call. `protected` is the one to be on the lookout for. A protected method can be called from a class or descendant class instances, but also with another -instance as its receiver. Example, adapted from the [Ruby FAQ][1]\: +instance as its receiver. Example, adapted from [The Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -433,4 +433,4 @@ When you are ready for more Ruby knowledge, see our -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html From 0ac298b71e7429c3939dd94f076d6cf39dbf20c4 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 15:27:48 +0200 Subject: [PATCH 0120/3394] Fix link to RubyGarden FAQ (translations) --- bg/documentation/ruby-from-other-languages/index.md | 6 +++++- de/documentation/ruby-from-other-languages/index.md | 4 ++-- es/documentation/ruby-from-other-languages/index.md | 4 ++-- fr/documentation/ruby-from-other-languages/index.md | 4 ++-- id/documentation/ruby-from-other-languages/index.md | 4 ++-- it/documentation/ruby-from-other-languages/index.md | 4 ++-- ko/documentation/ruby-from-other-languages/index.md | 4 ++-- pl/documentation/ruby-from-other-languages/index.md | 4 ++-- pt/documentation/ruby-from-other-languages/index.md | 4 ++-- ru/documentation/ruby-from-other-languages/index.md | 4 ++-- tr/documentation/ruby-from-other-languages/index.md | 4 ++-- vi/documentation/ruby-from-other-languages/index.md | 5 +++-- zh_cn/documentation/ruby-from-other-languages/index.md | 6 ++++-- zh_tw/documentation/ruby-from-other-languages/index.md | 4 ++-- 14 files changed, 34 insertions(+), 27 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index 6f7abd5845..dc8c60d5bc 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -161,7 +161,7 @@ end ### Достъп до метод -В Ruby `private` се изпозлзва за модификатор за достъп, който прави методите достъпни, когато се викат без explicit receiver. В този случай Само **self** е receiver на извикването на private метод. Към `protected` трябва да се подхожда с внимание. protected метод може да бъде извикан от клас или инстанция на наследен клас, но също така и с друга инстанции като receiver. Пример, взет от [Ruby FAQ](http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F): +В Ruby `private` се изпозлзва за модификатор за достъп, който прави методите достъпни, когато се викат без explicit receiver. В този случай Само **self** е receiver на извикването на private метод. Към `protected` трябва да се подхожда с внимание. protected метод може да бъде извикан от клас или инстанция на наследен клас, но също така и с друга инстанции като receiver. Пример, взет от [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -327,3 +327,7 @@ end ## Научете още Ако сте готови за още знания, посетете [документацията](/en/documentation/). + + + +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/de/documentation/ruby-from-other-languages/index.md b/de/documentation/ruby-from-other-languages/index.md index b17773fc17..1f43033504 100644 --- a/de/documentation/ruby-from-other-languages/index.md +++ b/de/documentation/ruby-from-other-languages/index.md @@ -257,7 +257,7 @@ Empfänger in der Klasse und abgeleiteten Klassen aufgerufen werden (wie bei *private*), aber zusätzlich auch mit einer anderen Instanz dieser Klasse als Empfänger. -Ein Beispiel aus den [Ruby FAQ][1]\: +Ein Beispiel aus den [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -464,4 +464,4 @@ Wenn du bereit für noch mehr Ruby-Wissen bist, dann schau dir die -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/es/documentation/ruby-from-other-languages/index.md b/es/documentation/ruby-from-other-languages/index.md index 81b948978e..f0dc41edf5 100644 --- a/es/documentation/ruby-from-other-languages/index.md +++ b/es/documentation/ruby-from-other-languages/index.md @@ -252,7 +252,7 @@ Al que debemos estar atentos es a `protected`. Un método protegido puede ser llamado desde una instancia de una clase o las instancias de sus ancestros, pero también con otra instancia como su receptor. -Ejemplo, adaptado del [Ruby FAQ][1]\: +Ejemplo, adaptado del [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -457,4 +457,4 @@ Cuando estés listo para saber más sobre Ruby, visita nuestra sección de -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/fr/documentation/ruby-from-other-languages/index.md b/fr/documentation/ruby-from-other-languages/index.md index 280f17564f..55da35c6bd 100644 --- a/fr/documentation/ruby-from-other-languages/index.md +++ b/fr/documentation/ruby-from-other-languages/index.md @@ -249,7 +249,7 @@ est autorisé. `protected` est à part : une méthode protégée peut être appelée depuis une instance de classe ou de classe fille, mais également avec une autre instance comme destinataire. -Un exemple, repris de la [FAQ Ruby][1]\: +Un exemple, repris de la [FAQ Ruby][faq]: {% highlight irb %} $ irb @@ -458,4 +458,4 @@ Enthousiaste ? Direction notre section -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/id/documentation/ruby-from-other-languages/index.md b/id/documentation/ruby-from-other-languages/index.md index bc36f043fd..33294d5aa2 100644 --- a/id/documentation/ruby-from-other-languages/index.md +++ b/id/documentation/ruby-from-other-languages/index.md @@ -262,7 +262,7 @@ metode hanya bisa diakses ketika metode bisa dipanggil tanpa obyek penerima yang eksplisit. Hanya **self** yang boleh menjadi receiver pemanggilan metode private. -`protected` perlu diperhatikan lebih lanjut. Metode `protected` bisa dipanggil dari kelas ataupun *instance* kelas turunan, tetapi juga dengan *instance* lain sebagai penerima. Contoh, diadaptasi dari [Ruby FAQ][2]\: +`protected` perlu diperhatikan lebih lanjut. Metode `protected` bisa dipanggil dari kelas ataupun *instance* kelas turunan, tetapi juga dengan *instance* lain sebagai penerima. Contoh, diadaptasi dari [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -485,4 +485,4 @@ Ketika Anda siap dengan pengetahuan Ruby yang lebih lagi, lihat bagian [1]: http://www.jvoegele.com/software/langcomp.html -[2]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/it/documentation/ruby-from-other-languages/index.md b/it/documentation/ruby-from-other-languages/index.md index abfa82496b..d1a122a7ca 100644 --- a/it/documentation/ruby-from-other-languages/index.md +++ b/it/documentation/ruby-from-other-languages/index.md @@ -245,7 +245,7 @@ usato come ricevente per una chiamata ad un metodo pubblico. `protected` è il più inusuale dei tre. Un metodo protetto può essere chiamato da un’istanza della classe o delle sue derivate, ma anche con un’altra istanza come receiver. Per chiarificare meglio il concetto, consideriamo questo -semplice esempio adattato dalle [Ruby FAQ][1]\: +semplice esempio adattato dalle [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -457,4 +457,4 @@ sezione [Documentazione](/it/documentation/). -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/ko/documentation/ruby-from-other-languages/index.md b/ko/documentation/ruby-from-other-languages/index.md index ed1fe367c8..fe4845fdd2 100644 --- a/ko/documentation/ruby-from-other-languages/index.md +++ b/ko/documentation/ruby-from-other-languages/index.md @@ -222,7 +222,7 @@ end `protected` 밖에서부터 호출했을 때 주의해야 한다는 뜻입니다. `protected` 메소드는 클래스나 하위 클래스 인스턴스에서 호출할 수 있고, 다른 인스턴스를 리시버로 -사용할 수 있습니다. [루비 FAQ][1]에서 가져온 예제입니다. +사용할 수 있습니다. [루비 FAQ][faq]에서 가져온 예제입니다. {% highlight irb %} $ irb @@ -421,4 +421,4 @@ C++의 `operator+` 같은 건 필요 없습니다. -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/pl/documentation/ruby-from-other-languages/index.md b/pl/documentation/ruby-from-other-languages/index.md index 3611e82936..b012175a71 100644 --- a/pl/documentation/ruby-from-other-languages/index.md +++ b/pl/documentation/ruby-from-other-languages/index.md @@ -228,7 +228,7 @@ dostęp publiczny. `private` oznacza, że dana metoda(y) jest dostępna tylko wtedy, jeśli można ją wywołać bez wyraźnego określenia odbiorcy. Jedynie **self** jest dozwolonym odbiorcą wywołań prywatnych metod. -`protected` jest tym, na co trzeba zwrócić uwagę. Metoda chroniona może być wywołana przez instancje danej klasy lub klas pochodnych, ale również przez inną instancję danej klasy. Poniżej przykład za [Ruby FAQ][1]\: +`protected` jest tym, na co trzeba zwrócić uwagę. Metoda chroniona może być wywołana przez instancje danej klasy lub klas pochodnych, ale również przez inną instancję danej klasy. Poniżej przykład za [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -432,4 +432,4 @@ Więcej informacji na temat języka Ruby znajdziesz w -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/pt/documentation/ruby-from-other-languages/index.md b/pt/documentation/ruby-from-other-languages/index.md index 3f0431211e..0151340078 100644 --- a/pt/documentation/ruby-from-other-languages/index.md +++ b/pt/documentation/ruby-from-other-languages/index.md @@ -246,7 +246,7 @@ significa que os métodos são acessíveis somente quando chamados com um receptor específico. Só **self** pode ser o receptor dum método privado Only **self** is allowed to be the receiver of a private method call. -`protected` é aquele que se deve ter mais cuidado. Um método protegido pode ser chamado de uma class ou classes descendentes, mas também com outra instância como receptor. Exemplo adaptado da [Ruby FAQ][1]\: +`protected` é aquele que se deve ter mais cuidado. Um método protegido pode ser chamado de uma class ou classes descendentes, mas também com outra instância como receptor. Exemplo adaptado da [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -456,4 +456,4 @@ secção de [Documentação](/pt/documentation/). -[1]: http://www.rubycentral.com/faq/rubyfaq-7.html "FAQ de Ruby" +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/ru/documentation/ruby-from-other-languages/index.md b/ru/documentation/ruby-from-other-languages/index.md index c99390eb9f..78af7f1a71 100644 --- a/ru/documentation/ruby-from-other-languages/index.md +++ b/ru/documentation/ruby-from-other-languages/index.md @@ -226,7 +226,7 @@ end О `protected` методах надо поговорить подробнее. Protected метод может быть вызван инстансом текущего или дочернего класса, однако может иметь вызывающей стороной -другой инстанс. Пример, позаимствованный из [Ruby FAQ][1]\: +другой инстанс. Пример, позаимствованный из [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -425,4 +425,4 @@ end -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/tr/documentation/ruby-from-other-languages/index.md b/tr/documentation/ruby-from-other-languages/index.md index cda8b76203..171fe1f41b 100644 --- a/tr/documentation/ruby-from-other-languages/index.md +++ b/tr/documentation/ruby-from-other-languages/index.md @@ -219,7 +219,7 @@ Ruby biraz farklılık gösterir. `public` doğal olarak herkese açık demektir. `private` ise metodun belirlenmiş alıcısı varsa erişilebileceğini belirtir ve bu alıcı sadece **self** olabilir. -`protected` incelenmesi gereken birşey. Bir protected metod sınıfın yada türetilmiş sınıfın oluşumlarından çağrılabilir, ayrıca diğer oluşum üzerinden çağrılabilir. Örnek, [Ruby FAQ][1] alınmıştır: +`protected` incelenmesi gereken birşey. Bir protected metod sınıfın yada türetilmiş sınıfın oluşumlarından çağrılabilir, ayrıca diğer oluşum üzerinden çağrılabilir. Örnek, [Ruby Language FAQ][faq] alınmıştır: {% highlight irb %} $ irb @@ -420,4 +420,4 @@ bölümüne bakınız. -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/vi/documentation/ruby-from-other-languages/index.md b/vi/documentation/ruby-from-other-languages/index.md index 5d6eeeb7ad..705990dc51 100644 --- a/vi/documentation/ruby-from-other-languages/index.md +++ b/vi/documentation/ruby-from-other-languages/index.md @@ -233,7 +233,8 @@ tiếp nhận khi gọi phương thức private. `protected` là một truy cập cần được xem xét. Một phương thức protected có thể được gọi từ một lớp con của lớp thể hiện (lớp cha), nhưng cũng có thề được gọi -bởi lớp thể hiện khác như là một lớp tiếp nhận của nó. Ví dụ, từ [Ruby FAQ][1]\: +bởi lớp thể hiện khác như là một lớp tiếp nhận của nó. +Ví dụ, từ [Ruby Language FAQ][faq]: {% highlight irb %} $ irb @@ -433,4 +434,4 @@ Khi bạn đã sẵn sàng để nâng cao kiến thức về Ruby, xem phần -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/zh_cn/documentation/ruby-from-other-languages/index.md b/zh_cn/documentation/ruby-from-other-languages/index.md index 1cac8994dc..365bb6efdb 100644 --- a/zh_cn/documentation/ruby-from-other-languages/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/index.md @@ -186,7 +186,7 @@ end Ruby 有些不同。`public` 还是公开的。`private` 表示只有非明确指定接收者(receiver)才允许调用。私有方法调用只允许 **self** 为接收者。 -`protected` 应该特别注意。受保护的方法可以被类及继承类的实例调用,同一个类的其他实例也可以调用。 来自[Ruby FAQ][1] 的例子: +`protected` 应该特别注意。受保护的方法可以被类及继承类的实例调用,同一个类的其他实例也可以调用。 来自[Ruby Language FAQ][faq] 的例子: {% highlight irb %} $ irb @@ -353,4 +353,6 @@ end 当你准备学习更多 Ruby 知识的时候,请查看[文档](/zh_cn/documentation/)部分。 -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F + + +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/zh_tw/documentation/ruby-from-other-languages/index.md b/zh_tw/documentation/ruby-from-other-languages/index.md index fd013277ec..75823ea5fa 100644 --- a/zh_tw/documentation/ruby-from-other-languages/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/index.md @@ -195,7 +195,7 @@ package 類別的實例可以呼叫,而 `private` 表示除了這個類別的 在 Ruby 中,`public` 還是一樣是公開的意思,其他則有一點差異。`private` 表示只有不指定接受者(receiver)時才可以呼叫,也就是只有 **self** 可以當成 private 方法的接受者。 -`protected` 也有點不同。一個 protected 方法除了可以被一個類別或衍生類別的實例呼叫,也可以讓另一個相同類別的實例來當做接受者。 來看看 [Ruby FAQ][1] 的例子: +`protected` 也有點不同。一個 protected 方法除了可以被一個類別或衍生類別的實例呼叫,也可以讓另一個相同類別的實例來當做接受者。 來看看 [Ruby Language FAQ][faq] 的例子: {% highlight irb %} $ irb @@ -381,4 +381,4 @@ end -[1]: http://faq.rubygarden.org/entry/show/57?controller_prefix=faq%2F +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html From d5bcf44075755fa03685d51914156c48622b5d80 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 15:28:05 +0200 Subject: [PATCH 0121/3394] Improve code sample for `protected' (en) Remove irb prompts, rename method, clarify a comment. --- .../ruby-from-other-languages/index.md | 75 +++++++++---------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/index.md b/en/documentation/ruby-from-other-languages/index.md index 3363e69385..5fd8643f74 100644 --- a/en/documentation/ruby-from-other-languages/index.md +++ b/en/documentation/ruby-from-other-languages/index.md @@ -234,47 +234,42 @@ private method call. `protected` is the one to be on the lookout for. A protected method can be called from a class or descendant class instances, but also with another -instance as its receiver. Example, adapted from [The Ruby Language FAQ][faq]: +instance as its receiver. +Here is an example (adapted from [The Ruby Language FAQ][faq]): -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # public by default -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # now make `func` protected, still works -irb(main):016:0* # because protected allows the other reference -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # now make `func` private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # public by default + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# now make `identifier' protected; it still works +# because protected allows `other' as receiver + +class Test + protected :identifier +end + +t1 == t2 # => true + +# now make `identifier' private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Classes are open From d4419f3c3a944b619a819d4903e398465984ba94 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 15:28:25 +0200 Subject: [PATCH 0122/3394] Improve code sample for `protected' (translations) --- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- .../ruby-from-other-languages/index.md | 72 +++++++++---------- 14 files changed, 462 insertions(+), 546 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index dc8c60d5bc..5b111551af 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -163,45 +163,39 @@ end В Ruby `private` се изпозлзва за модификатор за достъп, който прави методите достъпни, когато се викат без explicit receiver. В този случай Само **self** е receiver на извикването на private метод. Към `protected` трябва да се подхожда с внимание. protected метод може да бъде извикан от клас или инстанция на наследен клас, но също така и с друга инстанции като receiver. Пример, взет от [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # public by default -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # now make `func` protected, still works -irb(main):016:0* # because protected allows the other reference -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # now make `func` private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # public by default + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# now make `identifier' protected; it still works +# because protected allows `other' as receiver + +class Test + protected :identifier +end + +t1 == t2 # => true + +# now make `identifier' private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Отворени класове diff --git a/de/documentation/ruby-from-other-languages/index.md b/de/documentation/ruby-from-other-languages/index.md index 1f43033504..49bfdc39f7 100644 --- a/de/documentation/ruby-from-other-languages/index.md +++ b/de/documentation/ruby-from-other-languages/index.md @@ -259,45 +259,39 @@ Klasse als Empfänger. Ein Beispiel aus den [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # normalerweise "public" -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # func ist jetzt "protected". Das funktioniert, -irb(main):016:0* # weil other eine Instanz derselben Klasse ist. -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # Jetzt ist func "private" => Boom. -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # standardmäßig "public" + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# `identifier' ist jetzt "protected"; das funktioniert noch, +# weil `other' eine Instanz derselben Klasse ist + +class Test + protected :identifier +end + +t1 == t2 # => true + +# nun ist `identifier' "private" + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Offene Klassen diff --git a/es/documentation/ruby-from-other-languages/index.md b/es/documentation/ruby-from-other-languages/index.md index f0dc41edf5..a90ac5be0b 100644 --- a/es/documentation/ruby-from-other-languages/index.md +++ b/es/documentation/ruby-from-other-languages/index.md @@ -254,45 +254,39 @@ ancestros, pero también con otra instancia como su receptor. Ejemplo, adaptado del [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # public por defecto -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(otro) -irb(main):008:2> func == otro.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # ahora haz 'func' protected, todavía funciona -irb(main):016:0* # porque protected permite la otra referencia -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # ahora haz 'func' private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # public por defecto + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# ahora haz `identifier' protected, todavía funciona +# porque protected permite la otra referencia + +class Test + protected :identifier +end + +t1 == t2 # => true + +# ahora haz `identifier' private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Las clases están abiertas diff --git a/fr/documentation/ruby-from-other-languages/index.md b/fr/documentation/ruby-from-other-languages/index.md index 55da35c6bd..1a529a049e 100644 --- a/fr/documentation/ruby-from-other-languages/index.md +++ b/fr/documentation/ruby-from-other-languages/index.md @@ -251,45 +251,39 @@ avec une autre instance comme destinataire. Un exemple, repris de la [FAQ Ruby][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # publique par défaut -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # passer `func` en protected fonctionne toujours : -irb(main):016:0* # la référence à other est autorisée -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # par contre, si `func` est private... -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # publique par défaut + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# passer `identifier' en protected fonctionne toujours : +# la référence à other est autorisée + +class Test + protected :identifier +end + +t1 == t2 # => true + +# par contre, si `identifier' est private... + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Les classes restent ouvertes diff --git a/id/documentation/ruby-from-other-languages/index.md b/id/documentation/ruby-from-other-languages/index.md index 33294d5aa2..63c355f5ff 100644 --- a/id/documentation/ruby-from-other-languages/index.md +++ b/id/documentation/ruby-from-other-languages/index.md @@ -264,45 +264,39 @@ pemanggilan metode private. `protected` perlu diperhatikan lebih lanjut. Metode `protected` bisa dipanggil dari kelas ataupun *instance* kelas turunan, tetapi juga dengan *instance* lain sebagai penerima. Contoh, diadaptasi dari [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # metode berikut secara default adalah public -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # sekarang atur `func` menjadi protected, -irb(main):016:0* # masih jalan karena protected bisa reference ke lain -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # sekarang atur `func` menjadi private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # metode berikut secara default adalah public + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# sekarang atur `identifier' menjadi protected, +# masih jalan karena protected bisa reference ke lain + +class Test + protected :identifier +end + +t1 == t2 # => true + +# sekarang atur `identifier' menjadi private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Kelas Bersifat Terbuka diff --git a/it/documentation/ruby-from-other-languages/index.md b/it/documentation/ruby-from-other-languages/index.md index d1a122a7ca..25b6df36d2 100644 --- a/it/documentation/ruby-from-other-languages/index.md +++ b/it/documentation/ruby-from-other-languages/index.md @@ -247,45 +247,39 @@ da un’istanza della classe o delle sue derivate, ma anche con un’altra istan come receiver. Per chiarificare meglio il concetto, consideriamo questo semplice esempio adattato dalle [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # public per default -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # rendiamo `func` protetto, e viene sempre -irb(main):016:0* # ritornato true, perchè t2 è pur sempre un'istanza di Test -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # Ora rendiamo `func` privato -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # public per default + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# rendiamo `identifier' protetto, e viene sempre +# ritornato true, perchè t2 è pur sempre un'istanza di Test + +class Test + protected :identifier +end + +t1 == t2 # => true + +# ora rendiamo `identifier' privato + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Classi aperte diff --git a/ko/documentation/ruby-from-other-languages/index.md b/ko/documentation/ruby-from-other-languages/index.md index fe4845fdd2..81a457e34e 100644 --- a/ko/documentation/ruby-from-other-languages/index.md +++ b/ko/documentation/ruby-from-other-languages/index.md @@ -224,45 +224,39 @@ end 클래스나 하위 클래스 인스턴스에서 호출할 수 있고, 다른 인스턴스를 리시버로 사용할 수 있습니다. [루비 FAQ][faq]에서 가져온 예제입니다. -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # 기본값은 public입니다. -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # 이제 `func`를 protected로 만들지만 protected가 다른 -irb(main):016:0* # 객체에서의 참조를 허용하기 때문에 여전히 동작합니다. -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # 이제 `func`을 private으로 만듭니다. -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # 기본값은 public입니다. + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# 이제 `identifier'를 protected로 만들지만 protected가 다른 +# 객체에서의 참조를 허용하기 때문에 여전히 동작합니다. + +class Test + protected :identifier +end + +t1 == t2 # => true + +# 이제 `identifier'을 private으로 만듭니다. + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### 열린 클래스 diff --git a/pl/documentation/ruby-from-other-languages/index.md b/pl/documentation/ruby-from-other-languages/index.md index b012175a71..b0e101c84d 100644 --- a/pl/documentation/ruby-from-other-languages/index.md +++ b/pl/documentation/ruby-from-other-languages/index.md @@ -230,45 +230,39 @@ Jedynie **self** jest dozwolonym odbiorcą wywołań prywatnych metod. `protected` jest tym, na co trzeba zwrócić uwagę. Metoda chroniona może być wywołana przez instancje danej klasy lub klas pochodnych, ale również przez inną instancję danej klasy. Poniżej przykład za [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # domyślnie metoda publiczna -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # uczyńmy teraz `func` metodą chronioną, wciąż działa -irb(main):016:0* # ponieważ 'protected' umożliwia odniesienie do 'other' -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # uczyńmy teraz 'func' metodą prywatną -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # domyślnie metoda publiczna + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# uczyńmy teraz `identifier' metodą chronioną, wciąż działa +# ponieważ 'protected' umożliwia odniesienie do `other' + +class Test + protected :identifier +end + +t1 == t2 # => true + +# uczyńmy teraz `identifier' metodą prywatną + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Klasy są otwarte diff --git a/pt/documentation/ruby-from-other-languages/index.md b/pt/documentation/ruby-from-other-languages/index.md index 0151340078..2252285aea 100644 --- a/pt/documentation/ruby-from-other-languages/index.md +++ b/pt/documentation/ruby-from-other-languages/index.md @@ -248,45 +248,39 @@ Only **self** is allowed to be the receiver of a private method call. `protected` é aquele que se deve ter mais cuidado. Um método protegido pode ser chamado de uma class ou classes descendentes, mas também com outra instância como receptor. Exemplo adaptado da [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Teste -irb(main):002:1> # public por omissao -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(outro) -irb(main):008:2> func == outro.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Teste.new -=> # -irb(main):013:0> t2 = Teste.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # seja `func` protected. ainda funciona -irb(main):016:0* # porque protected permite a outra referência -irb(main):017:0* class Teste -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # seja `func` private -irb(main):022:0* class Teste -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # public por omissao + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# seja `identifier' protected. ainda funciona +# porque protected permite a outra referência + +class Test + protected :identifier +end + +t1 == t2 # => true + +# seja `identifier' private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### As Classes são abertas diff --git a/ru/documentation/ruby-from-other-languages/index.md b/ru/documentation/ruby-from-other-languages/index.md index 78af7f1a71..ff22001eb4 100644 --- a/ru/documentation/ruby-from-other-languages/index.md +++ b/ru/documentation/ruby-from-other-languages/index.md @@ -228,45 +228,39 @@ end инстансом текущего или дочернего класса, однако может иметь вызывающей стороной другой инстанс. Пример, позаимствованный из [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # публичный метод по умолчанию -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # сделаем `func` protected методом -irb(main):016:0* # это возможно, потому что можно вызвать метод у объекта other -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # теперь сделаем `func` приватным -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # публичный метод по умолчанию + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# сделаем `identifier' protected методом +# это возможно, потому что можно вызвать метод у объекта other + +class Test + protected :identifier +end + +t1 == t2 # => true + +# теперь сделаем `identifier' приватным + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Открытые классы diff --git a/tr/documentation/ruby-from-other-languages/index.md b/tr/documentation/ruby-from-other-languages/index.md index 171fe1f41b..1baeca862e 100644 --- a/tr/documentation/ruby-from-other-languages/index.md +++ b/tr/documentation/ruby-from-other-languages/index.md @@ -221,45 +221,39 @@ erişilebileceğini belirtir ve bu alıcı sadece **self** olabilir. `protected` incelenmesi gereken birşey. Bir protected metod sınıfın yada türetilmiş sınıfın oluşumlarından çağrılabilir, ayrıca diğer oluşum üzerinden çağrılabilir. Örnek, [Ruby Language FAQ][faq] alınmıştır: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # default olarak public -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(diger) -irb(main):008:2> func == diger.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # şimdi `func` u protected yapalım, hala çalışıyor -irb(main):016:0* # çünkü protexted diğerine referansa izin veriyor -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # şimdi `func` u private yapalım -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # default olarak public + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# şimdi `identifier' u protected yapalım, hala çalışıyor +# çünkü protexted diğerine referansa izin veriyor + +class Test + protected :identifier +end + +t1 == t2 # => true + +# şimdi `identifier' u private yapalım + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Sınıflar Açıktır diff --git a/vi/documentation/ruby-from-other-languages/index.md b/vi/documentation/ruby-from-other-languages/index.md index 705990dc51..fc39647f7a 100644 --- a/vi/documentation/ruby-from-other-languages/index.md +++ b/vi/documentation/ruby-from-other-languages/index.md @@ -236,45 +236,39 @@ tiếp nhận khi gọi phương thức private. bởi lớp thể hiện khác như là một lớp tiếp nhận của nó. Ví dụ, từ [Ruby Language FAQ][faq]: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # mặc định là public -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # bây giờ chuyển `func` thành protected, và nó -irb(main):016:0* # vẫn hoạt động vì protected cho phép tham chiếu -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # bây giờ chuyển `func` thành private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # mặc định là public + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# bây giờ chuyển `identifier' thành protected, và nó +# vẫn hoạt động vì protected cho phép tham chiếu + +class Test + protected :identifier +end + +t1 == t2 # => true + +# bây giờ chuyển `identifier' thành private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### Các lớp đều mở diff --git a/zh_cn/documentation/ruby-from-other-languages/index.md b/zh_cn/documentation/ruby-from-other-languages/index.md index 365bb6efdb..5e1840049b 100644 --- a/zh_cn/documentation/ruby-from-other-languages/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/index.md @@ -188,45 +188,39 @@ Ruby 有些不同。`public` 还是公开的。`private` 表示只有非明确 `protected` 应该特别注意。受保护的方法可以被类及继承类的实例调用,同一个类的其他实例也可以调用。 来自[Ruby Language FAQ][faq] 的例子: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # 默认公开 -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # 修改 `func` 为受保护方法,仍然可用 -irb(main):016:0* # 因为受保护方法允许其他引用 -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # 修改 `func` 为私有方法 -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # 默认公开 + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# 修改 `identifier' 为受保护方法,仍然可用 +# 因为受保护方法允许其他引用 + +class Test + protected :identifier +end + +t1 == t2 # => true + +# 修改 `identifier' 为私有方法 + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### 类是开放的 diff --git a/zh_tw/documentation/ruby-from-other-languages/index.md b/zh_tw/documentation/ruby-from-other-languages/index.md index 75823ea5fa..e822570ced 100644 --- a/zh_tw/documentation/ruby-from-other-languages/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/index.md @@ -197,45 +197,39 @@ package 類別的實例可以呼叫,而 `private` 表示除了這個類別的 `protected` 也有點不同。一個 protected 方法除了可以被一個類別或衍生類別的實例呼叫,也可以讓另一個相同類別的實例來當做接受者。 來看看 [Ruby Language FAQ][faq] 的例子: -{% highlight irb %} -$ irb -irb(main):001:0> class Test -irb(main):002:1> # 預設是 public 的 -irb(main):003:1* def func -irb(main):004:2> 99 -irb(main):005:2> end -irb(main):006:1> -irb(main):007:1* def ==(other) -irb(main):008:2> func == other.func -irb(main):009:2> end -irb(main):010:1> end -=> nil -irb(main):011:0> -irb(main):012:0* t1 = Test.new -=> # -irb(main):013:0> t2 = Test.new -=> # -irb(main):014:0> t1 == t2 -=> true -irb(main):015:0> # 來讓 `func` 變成 protected,一樣沒問題 -irb(main):016:0* # 因為 protected 允許其他相同類別的實例呼叫 -irb(main):017:0* class Test -irb(main):018:1> protected :func -irb(main):019:1> end -=> Test -irb(main):020:0> t1 == t2 -=> true -irb(main):021:0> # 來讓 `func` 變成 private -irb(main):022:0* class Test -irb(main):023:1> private :func -irb(main):024:1> end -=> Test -irb(main):025:0> t1 == t2 -NoMethodError: private method `func' called for # - from (irb):8:in `==' - from (irb):25 - from :0 -irb(main):026:0> +{% highlight ruby %} +class Test + # 預設是 public 的 + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# 來讓 `identifier' 變成 protected,一樣沒問題 +# 因為 protected 允許其他相同類別的實例呼叫 + +class Test + protected :identifier +end + +t1 == t2 # => true + +# 來讓 `identifier' 變成 private + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # {% endhighlight %} ### 類別是開放的 From db6eecdff580f43cfcaf65588b65b8db01cb221a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 18:11:17 +0200 Subject: [PATCH 0123/3394] Small fixes on ruby-from-other-languages page (en) --- .../ruby-from-other-languages/index.md | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/index.md b/en/documentation/ruby-from-other-languages/index.md index 5fd8643f74..dfe2655baa 100644 --- a/en/documentation/ruby-from-other-languages/index.md +++ b/en/documentation/ruby-from-other-languages/index.md @@ -19,16 +19,11 @@ with. ## What to Expect: *Language X* to Ruby -* [To Ruby From C and - C++](/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [To Ruby From - Java](/en/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [To Ruby From - Perl](/en/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [To Ruby From - PHP](/en/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [To Ruby From - Python](/en/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [To Ruby From C and C++](to-ruby-from-c-and-cpp/) +* [To Ruby From Java](to-ruby-from-java/) +* [To Ruby From Perl](to-ruby-from-perl/) +* [To Ruby From PHP](to-ruby-from-php/) +* [To Ruby From Python](to-ruby-from-python/) ## Important Language Features And Some Gotchas @@ -56,7 +51,7 @@ For more info on `each` (and its friends `collect`, `find`, `inject`, ### Everything has a value There’s no difference between an expression and a statement. Everything -has a value, even if that value is **nil**. This is possible: +has a value, even if that value is `nil`. This is possible: {% highlight ruby %} x = 10 @@ -160,7 +155,7 @@ deliver(via: "Pony Express", from: "B", to: "A") ### The universal truth -In Ruby, everything except **nil** and **false** is considered true. In +In Ruby, everything except `nil` and `false` is considered true. In C, Python and many other languages, 0 and possibly other values, such as empty lists, are considered false. Take a look at the following Python code (the example applies to other languages, too): @@ -224,12 +219,12 @@ altered. In Java, `public` means a method is accessible by anyone. `protected` means the class’s instances, instances of descendant classes, and instances of classes in the same package can access it, but not anyone -else, and `private` means nobody besides the class's instances can +else, and `private` means nobody besides the class’s instances can access the method. Ruby differs slightly. `public` is, naturally, public. `private` means the method(s) are accessible only when they can be called without an -explicit receiver. Only **self** is allowed to be the receiver of a +explicit receiver. Only `self` is allowed to be the receiver of a private method call. `protected` is the one to be on the lookout for. A protected method can be @@ -296,9 +291,9 @@ Time.mktime(2006, 01, 01) + 14.hours # => Sun Jan 01 14:00:00 In Ruby, methods are allowed to end with question marks or exclamation marks. By convention, methods that answer questions end in question marks -(e.g. `Array#empty?`, which returns **true** if the receiver is empty). +(e.g. `Array#empty?`, which returns `true` if the receiver is empty). Potentially “dangerous” methods by convention end with exclamation marks -(e.g. methods that modify **self** or the arguments, `exit!`, etc.). +(e.g. methods that modify `self` or the arguments, `exit!`, etc.). Not all methods that change their arguments end with exclamation marks, though. `Array#replace` replaces the contents of an array with the contents of another array. It doesn’t make much sense to have a method like that @@ -395,7 +390,7 @@ method(:puts).call "puts is an object!" ### Operators are syntactic sugar Most operators in Ruby are just syntactic sugar (with some precedence -rules) for method calls. You can, for example, override Fixnums + +rules) for method calls. You can, for example, override Fixnum’s `+` method: {% highlight ruby %} From f9470e296122e704573fbf39fb411b964d53de4d Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 24 Apr 2016 20:06:45 +0200 Subject: [PATCH 0124/3394] Simplify links on ruby-from-other-languages page --- .../ruby-from-other-languages/index.md | 10 ++++---- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 21 ++++++----------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 9 +++----- .../ruby-from-other-languages/index.md | 23 ++++--------------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- .../ruby-from-other-languages/index.md | 15 ++++-------- 14 files changed, 70 insertions(+), 143 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index 5b111551af..c88e97d6ee 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -14,11 +14,11 @@ Ruby. Втората секция е посветена на някои от о ## Какво да очакваме - * [Oт C/C++ към Ruby](/bg/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) - * [Oт Java към Ruby](/bg/documentation/ruby-from-other-languages/to-ruby-from-java/) - * [Oт Perl към Ruby](/bg/documentation/ruby-from-other-languages/to-ruby-from-perl/) - * [Oт PHP към Ruby](/bg/documentation/ruby-from-other-languages/to-ruby-from-php/) - * [Oт Python към Ruby](/bg/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Oт C/C++ към Ruby](to-ruby-from-c-and-cpp/) +* [Oт Java към Ruby](to-ruby-from-java/) +* [Oт Perl към Ruby](to-ruby-from-perl/) +* [Oт PHP към Ruby](to-ruby-from-php/) +* [Oт Python към Ruby](to-ruby-from-python/) ## Важни неща в езика diff --git a/de/documentation/ruby-from-other-languages/index.md b/de/documentation/ruby-from-other-languages/index.md index 49bfdc39f7..46911ab55d 100644 --- a/de/documentation/ruby-from-other-languages/index.md +++ b/de/documentation/ruby-from-other-languages/index.md @@ -19,16 +19,11 @@ anderer Sprachen, die du bereits kennst. ## Von *Sprache X* zu Ruby: Was erwartet mich? -* [Von C und C++ zu - Ruby](/de/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [Von Java zu - Ruby](/de/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Von Perl zu - Ruby](/de/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [Von PHP zu - Ruby](/de/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Von Python zu - Ruby](/de/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Von C und C++ zu Ruby](to-ruby-from-c-and-cpp/) +* [Von Java zu Ruby](to-ruby-from-java/) +* [Von Perl zu Ruby](to-ruby-from-perl/) +* [Von PHP zu Ruby](to-ruby-from-php/) +* [Von Python zu Ruby](to-ruby-from-python/) ## Wichtige Features und ein paar Fallen diff --git a/es/documentation/ruby-from-other-languages/index.md b/es/documentation/ruby-from-other-languages/index.md index a90ac5be0b..c0a0c9c606 100644 --- a/es/documentation/ruby-from-other-languages/index.md +++ b/es/documentation/ruby-from-other-languages/index.md @@ -19,28 +19,21 @@ familiarizado. ## Qué esperar: *Lenguaje X* a Ruby -* [A Ruby desde - Java](/es/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [A Ruby desde - PHP](/es/documentation/ruby-from-other-languages/to-ruby-from-php/) +* [A Ruby desde Java](to-ruby-from-java/) +* [A Ruby desde PHP](to-ruby-from-php/) Estamos en proceso de traducir todos estos artículos, pero mientras lo hacemos no queremos privarte de que los leas en inglés: -* [To Ruby From C and - C++](/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) +* [To Ruby From C and C++](/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) (en inglés) -* [To Ruby From - Java](/en/documentation/ruby-from-other-languages/to-ruby-from-java/) +* [To Ruby From Java](/en/documentation/ruby-from-other-languages/to-ruby-from-java/) (en inglés) -* [To Ruby From - Perl](/en/documentation/ruby-from-other-languages/to-ruby-from-perl/) +* [To Ruby From Perl](/en/documentation/ruby-from-other-languages/to-ruby-from-perl/) (en inglés) -* [To Ruby From - PHP](/en/documentation/ruby-from-other-languages/to-ruby-from-php/) +* [To Ruby From PHP](/en/documentation/ruby-from-other-languages/to-ruby-from-php/) (en inglés) -* [To Ruby From - Python](/en/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [To Ruby From Python](/en/documentation/ruby-from-other-languages/to-ruby-from-python/) (en inglés) ## Funcionalidades importantes del lenguaje y algunas advertencias diff --git a/fr/documentation/ruby-from-other-languages/index.md b/fr/documentation/ruby-from-other-languages/index.md index 1a529a049e..06496b18bc 100644 --- a/fr/documentation/ruby-from-other-languages/index.md +++ b/fr/documentation/ruby-from-other-languages/index.md @@ -19,16 +19,11 @@ comparaisons avec d’autres langages. ## À quoi s’attendre : passer d’un langage X à Ruby -* [De C/C++ à - Ruby](/fr/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [De Java à - Ruby](/fr/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [De Perl à - Ruby](/fr/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [De PHP à - Ruby](/fr/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [De Python à - Ruby](/fr/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [De C/C++ à Ruby](to-ruby-from-c-and-cpp/) +* [De Java à Ruby](to-ruby-from-java/) +* [De Perl à Ruby](to-ruby-from-perl/) +* [De PHP à Ruby](to-ruby-from-php/) +* [De Python à Ruby](to-ruby-from-python/) ## Les fonctionnalités importantes et autres astuces diff --git a/id/documentation/ruby-from-other-languages/index.md b/id/documentation/ruby-from-other-languages/index.md index 63c355f5ff..658904b675 100644 --- a/id/documentation/ruby-from-other-languages/index.md +++ b/id/documentation/ruby-from-other-languages/index.md @@ -20,16 +20,11 @@ Anda lakukan di bahasa lain. ## Apa yang Diharapkan: *Bahasa X* ke Ruby -* [Dari C dan C++ ke - Ruby](/id/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [Dari Java ke - Ruby](/id/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Dari Perl ke - Ruby](/id/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [Dari PHP ke - Ruby](/id/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Dari Python ke - Ruby](/id/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Dari C dan C++ ke Ruby](to-ruby-from-c-and-cpp/) +* [Dari Java ke Ruby](to-ruby-from-java/) +* [Dari Perl ke Ruby](to-ruby-from-perl/) +* [Dari PHP ke Ruby](to-ruby-from-php/) +* [Dari Python ke Ruby](to-ruby-from-python/) ## Tabel Perbandingan diff --git a/it/documentation/ruby-from-other-languages/index.md b/it/documentation/ruby-from-other-languages/index.md index 25b6df36d2..a971d76e4c 100644 --- a/it/documentation/ruby-from-other-languages/index.md +++ b/it/documentation/ruby-from-other-languages/index.md @@ -20,16 +20,11 @@ ti è già familiare. ## Cosa c’è da aspettarsi: Da *Linguaggio X* a Ruby -* [Da C/C++ a - Ruby](/it/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [Da Java a - Ruby](/it/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Da Perl a - Ruby](/it/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [Da PHP a - Ruby](/it/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Da Python a - Ruby](/it/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Da C/C++ a Ruby](to-ruby-from-c-and-cpp/) +* [Da Java a Ruby](to-ruby-from-java/) +* [Da Perl a Ruby](to-ruby-from-perl/) +* [Da PHP a Ruby](to-ruby-from-php/) +* [Da Python a Ruby](to-ruby-from-python/) ## Caratteristiche importanti e peculiarità diff --git a/ko/documentation/ruby-from-other-languages/index.md b/ko/documentation/ruby-from-other-languages/index.md index 81a457e34e..425ef12f60 100644 --- a/ko/documentation/ruby-from-other-languages/index.md +++ b/ko/documentation/ruby-from-other-languages/index.md @@ -16,16 +16,11 @@ lang: ko ## 차이점들: *어떤 언어*에서 루비로 -* [C 나 C++에서 - 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [자바에서 - 루비로](/ko/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [펄에서 - 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [PHP에서 - 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [파이썬에서 - 루비로](/ko/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [C 나 C++에서 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) +* [자바에서 루비로](to-ruby-from-java/) +* [펄에서 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-perl/) +* [PHP에서 루비로](/en/documentation/ruby-from-other-languages/to-ruby-from-php/) +* [파이썬에서 루비로](to-ruby-from-python/) ## 언어의 중요한 기능과 알아둘 점 diff --git a/pl/documentation/ruby-from-other-languages/index.md b/pl/documentation/ruby-from-other-languages/index.md index b0e101c84d..c3238daf7b 100644 --- a/pl/documentation/ruby-from-other-languages/index.md +++ b/pl/documentation/ruby-from-other-languages/index.md @@ -16,12 +16,9 @@ najważniejszych elementów języka i porównuje je do tego, co już znasz. ## Czego oczekiwać: *Język X* a Ruby -* [Ruby a - Java](/pl/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Ruby a - PHP](/pl/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Ruby a - Python](/pl/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Ruby a Java](to-ruby-from-java/) +* [Ruby a PHP](to-ruby-from-php/) +* [Ruby a Python](to-ruby-from-python/) ## Ważne elementy języka i niespodzianki diff --git a/pt/documentation/ruby-from-other-languages/index.md b/pt/documentation/ruby-from-other-languages/index.md index 2252285aea..dfa548f7c9 100644 --- a/pt/documentation/ruby-from-other-languages/index.md +++ b/pt/documentation/ruby-from-other-languages/index.md @@ -19,24 +19,11 @@ aquilo que já se encontra familiarizado. ## O Que Esperar: *Linguagem X* para Ruby -* [Para Ruby a partir de C e - C++](/pt/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -^ - -* [Para Ruby a partir de - Java](/pt/documentation/ruby-from-other-languages/to-ruby-from-java/) -^ - -* [Para Ruby a partir de - Perl](/pt/documentation/ruby-from-other-languages/to-ruby-from-perl/) -^ - -* [Para Ruby a partir de - PHP](/pt/documentation/ruby-from-other-languages/to-ruby-from-php/) -^ - -* [Para Ruby a partir de - Python](/pt/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Para Ruby a partir de C e C++](to-ruby-from-c-and-cpp/) +* [Para Ruby a partir de Java](to-ruby-from-java/) +* [Para Ruby a partir de Perl](to-ruby-from-perl/) +* [Para Ruby a partir de PHP](to-ruby-from-php/) +* [Para Ruby a partir de Python](to-ruby-from-python/) ## Características Importantes da Linguagem e Algumas Notas diff --git a/ru/documentation/ruby-from-other-languages/index.md b/ru/documentation/ruby-from-other-languages/index.md index ff22001eb4..5a50929c98 100644 --- a/ru/documentation/ruby-from-other-languages/index.md +++ b/ru/documentation/ruby-from-other-languages/index.md @@ -16,16 +16,11 @@ lang: ru ## Чего ожидать после *языка Х* на Ruby -* [Пришедшим из C и - C++](/ru/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [В Ruby из - Java](/ru/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Знакомым с - Perl](/ru/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [Разработчикам на - PHP](/ru/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Пришедшим из - Python](/ru/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Пришедшим из C и C++](to-ruby-from-c-and-cpp/) +* [В Ruby из Java](to-ruby-from-java/) +* [Знакомым с Perl](to-ruby-from-perl/) +* [Разработчикам на PHP](to-ruby-from-php/) +* [Пришедшим из Python](to-ruby-from-python/) ## Важные замечания по поводу языка и подсказки diff --git a/tr/documentation/ruby-from-other-languages/index.md b/tr/documentation/ruby-from-other-languages/index.md index 1baeca862e..8412824eda 100644 --- a/tr/documentation/ruby-from-other-languages/index.md +++ b/tr/documentation/ruby-from-other-languages/index.md @@ -16,16 +16,11 @@ bildiklerinizle karşılaştırır. ## Neler Değişiyor: *X Dilinden* Ruby’ye -* [C ve C++ dan - Ruby’ye](/tr/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [Java’dan - Ruby’ye](/tr/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Perl’den - Ruby’ye](/tr/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [PHP’den - Ruby’ye](/tr/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Python’dan - Ruby’ye](/tr/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [C ve C++ dan Ruby’ye](to-ruby-from-c-and-cpp/) +* [Java’dan Ruby’ye](to-ruby-from-java/) +* [Perl’den Ruby’ye](to-ruby-from-perl/) +* [PHP’den Ruby’ye](to-ruby-from-php/) +* [Python’dan Ruby’ye](to-ruby-from-python/) ## Önemli Dil Özellikleri ve Bazı İpuçları diff --git a/vi/documentation/ruby-from-other-languages/index.md b/vi/documentation/ruby-from-other-languages/index.md index fc39647f7a..4ee0331e29 100644 --- a/vi/documentation/ruby-from-other-languages/index.md +++ b/vi/documentation/ruby-from-other-languages/index.md @@ -18,16 +18,11 @@ mà bạn đã quen thuộc. ## Mong đợi gì: từ *ngôn ngữ X* đến Ruby -* [Đến với Ruby từ C và - C++](/vi/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [Đến với Ruby từ - Java](/vi/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [Đến với Ruby từ - Perl](/vi/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [Đến với Ruby từ - PHP](/vi/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [Đến với Ruby từ - Python](/vi/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [Đến với Ruby từ C và C++](to-ruby-from-c-and-cpp/) +* [Đến với Ruby từ Java](to-ruby-from-java/) +* [Đến với Ruby từ Perl](to-ruby-from-perl/) +* [Đến với Ruby từ PHP](to-ruby-from-php/) +* [Đến với Ruby từ Python](to-ruby-from-python/) ## Một số vấn đề và tính năng quan trọng của ngôn ngữ diff --git a/zh_cn/documentation/ruby-from-other-languages/index.md b/zh_cn/documentation/ruby-from-other-languages/index.md index 5e1840049b..7ccf9296ab 100644 --- a/zh_cn/documentation/ruby-from-other-languages/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/index.md @@ -11,16 +11,11 @@ Perl、Python 和 Java(以及其他语言)的用户所熟悉的。 如果您 ## 可以期待什么: *从语言 X* 到 Ruby -* [从 C/C++ 到 - Ruby](/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [从 Java 到 - Ruby](/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [从 Perl 到 - Ruby](/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [从 PHP 到 - Ruby](/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [从 Python 到 - Ruby](/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [从 C/C++ 到 Ruby](to-ruby-from-c-and-cpp/) +* [从 Java 到 Ruby](to-ruby-from-java/) +* [从 Perl 到 Ruby](to-ruby-from-perl/) +* [从 PHP 到 Ruby](to-ruby-from-php/) +* [从 Python 到 Ruby](to-ruby-from-python/) ## 重要的语言特性和一些小技巧 diff --git a/zh_tw/documentation/ruby-from-other-languages/index.md b/zh_tw/documentation/ruby-from-other-languages/index.md index e822570ced..1fcb314bd2 100644 --- a/zh_tw/documentation/ruby-from-other-languages/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/index.md @@ -12,16 +12,11 @@ lang: zh_tw ## 重點整理: 從 *程式語言 X* 到 Ruby -* [從 C 和 C++ 到 - Ruby](/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [從 Java 到 - Ruby](/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [從 Perl 到 - Ruby](/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [從 PHP 到 - Ruby](/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [從 Python 到 - Ruby](/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [從 C 和 C++ 到 Ruby](to-ruby-from-c-and-cpp/) +* [從 Java 到 Ruby](to-ruby-from-java/) +* [從 Perl 到 Ruby](to-ruby-from-perl/) +* [從 PHP 到 Ruby](to-ruby-from-php/) +* [從 Python 到 Ruby](to-ruby-from-python/) ## 重要的語言特色及一些訣竅 From b44a7be778534580f10d97e3e05fe7f3db87e23f Mon Sep 17 00:00:00 2001 From: unak Date: Tue, 26 Apr 2016 20:47:29 +0900 Subject: [PATCH 0125/3394] Release announcements of Ruby 2.2.5. (#1361) Release announcements of Ruby 2.2.5. --- _config.yml | 18 +++---- .../_posts/2016-04-26-ruby-2-2-5-released.md | 54 +++++++++++++++++++ .../_posts/2016-04-26-ruby-2-2-5-released.md | 53 ++++++++++++++++++ 3 files changed, 116 insertions(+), 9 deletions(-) create mode 100644 en/news/_posts/2016-04-26-ruby-2-2-5-released.md create mode 100644 ja/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/_config.yml b/_config.yml index 862f773946..2bde9699d1 100644 --- a/_config.yml +++ b/_config.yml @@ -35,17 +35,17 @@ downloads: gz: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 xz: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 zip: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a - - version: 2.2.4 + - version: 2.2.5 url: - bz2: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2 - gz: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz - xz: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz - zip: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip + bz2: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip sha256: - bz2: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 - gz: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 - xz: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c - zip: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 + bz2: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + gz: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + xz: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + zip: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 - version: 2.1.9 url: bz2: https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.bz2 diff --git a/en/news/_posts/2016-04-26-ruby-2-2-5-released.md b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..46b4ddc865 --- /dev/null +++ b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "Ruby 2.2.5 Released" +author: "usa" +translator: +date: 2016-04-26 12:00:00 +0000 +lang: en +--- + +Ruby 2.2.5 has been released. + +This release includes many bug fixes. +See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +for details. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6a + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Release Comment + +Thanks to everyone who helped with this release. + +With this release, the maintainer of Ruby 2.2 changed from nagachika-san to usa. +About two thirds of the changes included in this release were made by nagachika-san. +Thanks for his great contributions. + +The maintenance of Ruby 2.2, including this release, is based on the "Agreement for the Ruby stable version" of the [Ruby Association](http://www.ruby.or.jp/). diff --git a/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md b/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..37b66cec00 --- /dev/null +++ b/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.2.5 リリース" +author: "usa" +translator: +date: 2016-04-26 12:00:00 +0000 +lang: ja +--- + +Ruby 2.2.5 がリリースされました。 +これは安定版 2.2 系列の TEENY リリースです。 + +今回のリリースでは、多数のバグ修正が行われています。 +詳しくは、対応する [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) を参照してください。 + +## ダウンロード + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6a + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## リリースコメント + +リリースに協力してくれた皆様に感謝します。 + +今回のリリースより、2.2 系列のメンテナが前任の nagachika さんから usa に交替しました。 +今回のリリースに含まれる変更のうち、およそ 2/3 に当たる分は nagachika さんによるものです。ありがとうございました。 + +このリリースを含む Ruby 2.2 系列の保守は、[一般財団法人 Ruby アソシエーション](http://www.ruby.or.jp/)の Ruby 安定版保守委託事業に基いています。 From 8a5dc6c7b50944311d53bf83f8aff53e8ce69edd Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Tue, 26 Apr 2016 20:15:52 +0900 Subject: [PATCH 0126/3394] 2.3.1 release announcement. --- _config.yml | 18 +++---- .../_posts/2016-04-26-ruby-2-3-1-released.md | 50 +++++++++++++++++++ .../_posts/2016-04-26-ruby-2-3-1-released.md | 46 +++++++++++++++++ 3 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 en/news/_posts/2016-04-26-ruby-2-3-1-released.md create mode 100644 ja/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/_config.yml b/_config.yml index 2bde9699d1..dd85508632 100644 --- a/_config.yml +++ b/_config.yml @@ -24,17 +24,17 @@ license: downloads: stable: - - version: 2.3.0 + - version: 2.3.1 url: - bz2: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2 - gz: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz - xz: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz - zip: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip + bz2: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip sha256: - bz2: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e - gz: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 - xz: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 - zip: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a + bz2: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + gz: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + xz: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + zip: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 - version: 2.2.5 url: bz2: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2 diff --git a/en/news/_posts/2016-04-26-ruby-2-3-1-released.md b/en/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..b8288faedd --- /dev/null +++ b/en/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,50 @@ +--- +layout: news_post +title: "Ruby 2.3.1 Released" +author: "nagachika" +translator: +date: 2016-04-26 12:00:00 +0000 +lang: en +--- + +Ruby 2.3.1 has been released. + +This is the first TEENY version release of the stable 2.3 series. + +There are many bugfixes. +See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) for details. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Release Comment + +Many committers, developers, and users who provided bug reports helped us to make this release. +Thanks for their contributions. diff --git a/ja/news/_posts/2016-04-26-ruby-2-3-1-released.md b/ja/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..5239f9b50b --- /dev/null +++ b/ja/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,46 @@ +--- +layout: news_post +title: "Ruby 2.3.1 リリース" +author: "nagachika" +translator: "nagachika" +date: 2016-04-26 12:00:00 +0000 +lang: ja +--- + +Ruby 2.3.1 がリリースされました。これは安定版 2.3 系列の最初の TEENY リリースです。 + +その他詳細は [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) を参照してください。 + +## ダウンロード + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## リリースコメント + +このリリースにあたり、多くのコミッター、開発者、バグ報告をしてくれたユーザーの皆様に感謝を申し上げます。 From 7f643e5215f9ca6c1d04323ce8acdfdeca91daf4 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Tue, 26 Apr 2016 21:25:11 +0900 Subject: [PATCH 0127/3394] fixed accidental truncation --- en/news/_posts/2016-04-26-ruby-2-2-5-released.md | 2 +- ja/news/_posts/2016-04-26-ruby-2-2-5-released.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2016-04-26-ruby-2-2-5-released.md b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md index 46b4ddc865..fcc51953f4 100644 --- a/en/news/_posts/2016-04-26-ruby-2-2-5-released.md +++ b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -20,7 +20,7 @@ for details. SIZE: 13350551 bytes SHA1: f78473fe60a632b778599374ae64612592c2c9c1 SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 - SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6a + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e * [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) diff --git a/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md b/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md index 37b66cec00..e754dd270b 100644 --- a/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md +++ b/ja/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -20,7 +20,7 @@ Ruby 2.2.5 がリリースされました。 SIZE: 13350551 bytes SHA1: f78473fe60a632b778599374ae64612592c2c9c1 SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 - SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6a + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e * [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) From 09277daa2cdc7feb33937d4d2eac8d21467de62d Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 26 Apr 2016 11:00:05 +0200 Subject: [PATCH 0128/3394] Translate Ruby 2.2.5 post (de) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 de/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/de/news/_posts/2016-04-26-ruby-2-2-5-released.md b/de/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..8da5fa0627 --- /dev/null +++ b/de/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Ruby 2.2.5 veröffentlicht" +author: "usa" +translator: "Marcus Stollsteimer" +date: 2016-04-26 12:00:00 +0000 +lang: de +--- + +Ruby 2.2.5 ist veröffentlicht worden. + +Diese Veröffentlichung enthält viele Bugfixes. +Siehe das +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +für weitere Informationen. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Veröffentlichungskommentar + +Danke an alle, die zu diesem Release beigetragen haben. + +Mit diesem Release wechselt der Maintainer für Ruby 2.2 von nagachika zu usa. +Etwa zwei Drittel der Änderungen wurden von nagachika vorgenommen. +Vielen Dank für seinen großen Beitrag. + +Die Unterstützung von Ruby 2.2, einschließlich dieser Veröffentlichung, +basiert auf der „Vereinbarung für die stabile Ruby-Version“ der +[Ruby Association](http://www.ruby.or.jp/). From 5f890da9d0489ddc2de2b3b7188c5fae06ee82ab Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 26 Apr 2016 18:30:10 +0200 Subject: [PATCH 0129/3394] Small fixes (en) --- en/news/_posts/2016-04-26-ruby-2-2-5-released.md | 6 ++++-- en/news/_posts/2016-04-26-ruby-2-3-1-released.md | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2016-04-26-ruby-2-2-5-released.md b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md index fcc51953f4..75b8f7746f 100644 --- a/en/news/_posts/2016-04-26-ruby-2-2-5-released.md +++ b/en/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -10,7 +10,7 @@ lang: en Ruby 2.2.5 has been released. This release includes many bug fixes. -See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +See the [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) for details. ## Download @@ -51,4 +51,6 @@ With this release, the maintainer of Ruby 2.2 changed from nagachika-san to usa. About two thirds of the changes included in this release were made by nagachika-san. Thanks for his great contributions. -The maintenance of Ruby 2.2, including this release, is based on the "Agreement for the Ruby stable version" of the [Ruby Association](http://www.ruby.or.jp/). +The maintenance of Ruby 2.2, including this release, +is based on the "Agreement for the Ruby stable version" of the +[Ruby Association](http://www.ruby.or.jp/). diff --git a/en/news/_posts/2016-04-26-ruby-2-3-1-released.md b/en/news/_posts/2016-04-26-ruby-2-3-1-released.md index b8288faedd..deefb8c49e 100644 --- a/en/news/_posts/2016-04-26-ruby-2-3-1-released.md +++ b/en/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -12,7 +12,8 @@ Ruby 2.3.1 has been released. This is the first TEENY version release of the stable 2.3 series. There are many bugfixes. -See [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) for details. +See the [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) +for details. ## Download From c43f440a8654cf1914202a0ec50958377d2a34be Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 26 Apr 2016 18:43:13 +0200 Subject: [PATCH 0130/3394] Small fix (de) --- de/news/_posts/2015-03-03-ruby-2-2-1-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de/news/_posts/2015-03-03-ruby-2-2-1-released.md b/de/news/_posts/2015-03-03-ruby-2-2-1-released.md index 48340f98a3..9f5dfce953 100644 --- a/de/news/_posts/2015-03-03-ruby-2-2-1-released.md +++ b/de/news/_posts/2015-03-03-ruby-2-2-1-released.md @@ -52,6 +52,6 @@ für weitere Details. ## Veröffentlichungskommentar -Viele Committers, Entwickler und Nutzer, die uns Fehlermeldungen +Viele Committer, Entwickler und Nutzer, die uns Fehlermeldungen zusandten, halfen uns, diese Veröffentlichung durchzuführen. Danke für ihre Mitarbeit. From b1c7f46b5bc7837e8563f8eeee5588e628e2c43b Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 26 Apr 2016 18:44:09 +0200 Subject: [PATCH 0131/3394] Translate Ruby 2.3.1 post (de) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 de/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/de/news/_posts/2016-04-26-ruby-2-3-1-released.md b/de/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..9081fbee45 --- /dev/null +++ b/de/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,52 @@ +--- +layout: news_post +title: "Ruby 2.3.1 veröffentlicht" +author: "nagachika" +translator: "Marcus Stollsteimer" +date: 2016-04-26 12:00:00 +0000 +lang: de +--- + +Ruby 2.3.1 ist veröffentlicht worden. + +Dies ist das erste TEENY-Release der stabilen 2.3er-Serie. + +Diese Veröffentlichung enthält viele Bugfixes. +Siehe das [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) +für weitere Informationen. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Veröffentlichungskommentar + +Viele Committer, Entwickler und Nutzer, die uns Fehlermeldungen +zukommen ließen, halfen uns bei der Vorbereitung dieser Veröffentlichung. +Danke für ihre Mitarbeit. From 88063f291163349f56e7fa26a776dbf02120e4ec Mon Sep 17 00:00:00 2001 From: Vincent Lin Date: Wed, 27 Apr 2016 07:26:46 +0800 Subject: [PATCH 0132/3394] Translate Ruby 2.3.1 Released (zh_tw) (#1364) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 zh_tw/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/zh_tw/news/_posts/2016-04-26-ruby-2-3-1-released.md b/zh_tw/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..4ee75cc78a --- /dev/null +++ b/zh_tw/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,50 @@ +--- +layout: news_post +title: "Ruby 2.3.1 發佈" +author: "nagachika" +translator: "Vincent Lin" +date: 2016-04-26 12:00:00 +0000 +lang: zh_tw +--- + +Ruby 2.3.1 釋出。 + +這是穩定 2.3 系列的第一個小版本釋出。 + +本次發行版包含了許多錯誤修正。 +請參考 [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) 來進一步了解。 + +## 下載 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## 發佈記 + +許多提交者、開發者、和回報錯誤的用戶幫助我們完成這次釋出。 +感謝他們的貢獻。 From 30649685b3247f67c76b66f3d99e5e5c8ec57ebd Mon Sep 17 00:00:00 2001 From: Vincent Lin Date: Wed, 27 Apr 2016 14:56:09 +0800 Subject: [PATCH 0133/3394] Translate Ruby 2.2.5 Released (zh_tw) (#1365) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 zh_tw/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/zh_tw/news/_posts/2016-04-26-ruby-2-2-5-released.md b/zh_tw/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..35ee70a502 --- /dev/null +++ b/zh_tw/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.2.5 發佈" +author: "usa" +translator: "Vincent Lin" +date: 2016-04-26 12:00:00 +0000 +lang: zh_tw +--- + +Ruby 2.2.5 釋出。 + +本次發行版包含了許多錯誤修正。 +請參考 [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) 來進一步了解。 + +## 下載 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## 發佈記 + +感謝所有幫助此次發佈的朋友。 + +同時,Ruby 2.2 的維護者由 nagachika-san 換成 usa。 +包含此次的發佈,大約有三分之二的變動是出自 nagachika-san 之手。 +感謝他巨大的貢獻。 + +Ruby 2.2 的維護(包含本版本)是基於 [Ruby 協會](http://www.ruby.or.jp/)關於穩定版本的協議。 From 46ed28283b8bb946439fbcdb5dfbfbbba71f7b1d Mon Sep 17 00:00:00 2001 From: Chayoung You Date: Wed, 27 Apr 2016 18:24:14 +0900 Subject: [PATCH 0134/3394] Translate Ruby 2.2.5 Released (ko) (#1366) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 ko/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/ko/news/_posts/2016-04-26-ruby-2-2-5-released.md b/ko/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..5e99fe2963 --- /dev/null +++ b/ko/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "루비 2.2.5 릴리스" +author: "usa" +translator: "yous" +date: 2016-04-26 12:00:00 +0000 +lang: ko +--- + +루비 2.2.5가 릴리스 되었습니다. + +이번 릴리스는 많은 버그 수정을 포함하고 있습니다. +자세한 사항은 +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog)를 +확인해주세요. + +## 다운로드 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## 릴리스 코멘트 + +이 릴리스를 만드는 데 도움을 준 모두에게 감사드립니다. + +이번 릴리스부터 루비 2.2의 메인테이너는 nagachika-san 님에서 usa 님으로 변경되었습니다. +nagachika-san 님은 이 릴리스에 포함된 변경 사항의 3분의 2 정도를 작성했습니다. +그의 대단한 기여에 감사드립니다. + +이 릴리스를 포함한 루비 2.2의 유지보수는 +[Ruby Association](http://www.ruby.or.jp/)의 "루비 안정 버전에 관한 협의"에 +기반해 이루어집니다. From d0020975bd33cfba1a3b53cb881b9eef840f3d5f Mon Sep 17 00:00:00 2001 From: Andor Chen Date: Wed, 27 Apr 2016 17:59:49 +0800 Subject: [PATCH 0135/3394] Translate Ruby 2.2.5 Released (zh_CN) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 zh_cn/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/zh_cn/news/_posts/2016-04-26-ruby-2-2-5-released.md b/zh_cn/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..e187c51f7e --- /dev/null +++ b/zh_cn/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,50 @@ +--- +layout: news_post +title: "Ruby 2.2.5 发布" +author: "usa" +translator: "安道" +date: 2016-04-26 12:00:00 +0000 +lang: zh_cn +--- + +Ruby 2.2.5 今天发布了。 + +这一版修正了很多缺陷,详情参见[更改日志](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog)。 + +## 下载 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## 发布记事 + +感谢对这一版提供帮助的所有人。 + +从这一版开始,Ruby 2.2 的维护者由 nagachika-san 变成 usa。在这一版中,约三分之二的变化是 nagachika-san 改动的。感谢他的极大贡献。 + +对 Ruby 2.2(包括这一版)的维护遵守了 [Ruby 协会](http://www.ruby.or.jp/)制定的“Ruby 稳定版协议”。 From c168f54b733dbec1dd6859ffa44131400e542837 Mon Sep 17 00:00:00 2001 From: Andor Chen Date: Wed, 27 Apr 2016 18:00:14 +0800 Subject: [PATCH 0136/3394] Translate Ruby 2.3.1 Released (zh_CN) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 zh_cn/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/zh_cn/news/_posts/2016-04-26-ruby-2-3-1-released.md b/zh_cn/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..c3c77b6b74 --- /dev/null +++ b/zh_cn/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,48 @@ +--- +layout: news_post +title: "Ruby 2.3.1 发布" +author: "nagachika" +translator: "安道" +date: 2016-04-26 12:00:00 +0000 +lang: zh_cn +--- + +Ruby 2.3.1 今天发布了。 + +这是 2.3 系列的第一个小版本。 + +这一版修正了很多缺陷,详情参见[更改日志](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog)。 + +## 下载 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## 发布记事 + +这一版的发布得益于众多提交者、开发者和用户的缺陷报告,感谢所有的贡献者。 From 753427066ef808a41bf902ca14a825b2e216003e Mon Sep 17 00:00:00 2001 From: Andor Chen Date: Wed, 27 Apr 2016 19:20:57 +0800 Subject: [PATCH 0137/3394] Updates security page (zh_CN) --- zh_cn/security/index.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/zh_cn/security/index.md b/zh_cn/security/index.md index 885de16726..ae526c68ef 100644 --- a/zh_cn/security/index.md +++ b/zh_cn/security/index.md @@ -1,19 +1,22 @@ --- layout: page -title: "安全 - Ruby 官方网站" +title: "安全" lang: zh_cn --- -在这里你可以找到关于Ruby安全问题的相关信息。 +在这里你可以找到与 Ruby 安全问题相关的信息。 +{: .summary} ## 报告安全漏洞 -安全漏洞应该通过电子邮件报告到security@ruby-lang.org。这是一个非公开的邮件列表。 报告的问题将在被修正以后才会公开发布。 +如果发现安全漏洞,请通过电子邮件发到security@ruby-lang.org([PGP 公钥](/security.asc))。这是个私密邮件列表,报告的问题经修正之后才会公开。 + +这个邮件列表的成员是为你提供 Ruby 的人(Ruby 提交者和其他 Ruby 实现的作者,分法人和 PaaS 平台商)。这个邮件列表的成员必须是个人,否则不许加入。 ## 已知漏洞 -这里是最近的一些漏洞。 +以下是最近发现的一些漏洞。 {% include security_posts.html %} -See [the English page](/en/security/) for prior security related posts. +以前发布的关于安全的文章参见[英文版网站中的相应页面](/en/security/)。 From ee281b8a46cf8a9e8b4da20f631a27802e1f5fb1 Mon Sep 17 00:00:00 2001 From: Andor Chen Date: Wed, 27 Apr 2016 19:36:04 +0800 Subject: [PATCH 0138/3394] Updates mailing lists page and locale for submit button (zh_CN) --- _config.yml | 2 +- zh_cn/community/mailing-lists/index.md | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/_config.yml b/_config.yml index dd85508632..a99d56d03c 100644 --- a/_config.yml +++ b/_config.yml @@ -1802,7 +1802,7 @@ locales: action: 操作 subscribe: 订阅 unsubscribe: 退订 - submit: 提交表格 + submit: 提交表单 zh_tw: list: 郵件論壇 first_name: 名 diff --git a/zh_cn/community/mailing-lists/index.md b/zh_cn/community/mailing-lists/index.md index 9b29451f58..192f8c94a2 100644 --- a/zh_cn/community/mailing-lists/index.md +++ b/zh_cn/community/mailing-lists/index.md @@ -10,23 +10,25 @@ lang: zh_cn Ruby 最主要的四个使用英文语言交流的邮件列表: Ruby-Talk -: 这是处理一般 Ruby 话题最流行的邮件列表。Ruby-Talk 被 [comp.lang.ruby](news:comp.lang.ruby) -新闻组和 [Ruby-Forum.com][1] 所效仿。([FAQ][3], [Archives][4]) +: 这是处理一般 Ruby 话题最流行的邮件列表。[Ruby-Forum.com][1] 是 Ruby-Talk 的镜像。([FAQ][3],[存档][4]) Ruby-Core -: 该列表处理和 Ruby 相关的核心和重点专题,经常被用于补丁审核。([Archives][5]) +: 该列表处理和 Ruby 相关的核心和重点专题,经常被用于补丁审核。([存档][5]) Ruby-Doc -: 该列表用于讨论 Ruby 的标准文档和工具。([Archives at Gmane][6]) +: 该列表用于讨论 Ruby 的标准文档和工具。([Gmane 中的存档][6]) Ruby-CVS : 该列表报道所有针对 Ruby 的 Subversion 仓库的提交。 -## 订阅 或者 退订 +comp.lang.ruby新闻组 +: 如果喜欢 Usenet 多过邮件列表,可以加入[comp.lang.ruby](news:comp.lang.ruby)新闻组。 + +## 订阅或退订 {% include subscription-form.html %} -如果您使用此表格订阅无法接收到邮件,请使用[手工的方式](manual-instructions/)订阅。 +如果您使用此表单订阅后接收不到邮件,请使用[手工方式](manual-instructions/)订阅。 From 8d4894744213db6094df40ab580d9cc6fc1c2487 Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Wed, 27 Apr 2016 18:27:34 +0300 Subject: [PATCH 0139/3394] Translate ruby-2-2-5-released to Bulgarian --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 bg/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/bg/news/_posts/2016-04-26-ruby-2-2-5-released.md b/bg/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..9c7ea9e88c --- /dev/null +++ b/bg/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,55 @@ +--- +layout: news_post +title: "Излезе Ruby 2.2.5" +author: "usa" +translator: "Georgi Mitrev" +date: 2016-04-26 12:00:00 +0000 +lang: bg +--- + +Излезе Ruby 2.2.5. + +Рилийзът съдържа много бъгфиксове. Виж +[Списък с промени](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +за повече информация. + +## Сваляне + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Коментар + +Благодарим на всички, помогнали при подготвянето на този рилийз. + +От този рилийз maintainer-ът на Ruby 2.2 става usa, който ще замести +nagichka-san. Около две трети от промените в тази версия са направени от nagichka-san. +Благодарим му за неговият огромен принос към проекта. + +Поддръжката на Ruby 2.2, включително този рилийз, е базирана на +"Agreement for the Ruby stable version" от [Ruby Association](http://www.ruby.or.jp/). From a23416dfed517ee352896cb07bdd6ab3e26b3749 Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Wed, 27 Apr 2016 18:39:42 +0300 Subject: [PATCH 0140/3394] Translate ruby-2-3-1-released to Bulgarian --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bg/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/bg/news/_posts/2016-04-26-ruby-2-3-1-released.md b/bg/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..b9bb6165d1 --- /dev/null +++ b/bg/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,50 @@ +--- +layout: news_post +title: "Излезе Ruby 2.3.1" +author: "nagachika" +translator: "Georgi Mitrev" +date: 2016-04-26 12:00:00 +0000 +lang: bg +--- + +Излезе Ruby 2.3.1. + +Това е първата TEENY версия от стабилната 2.3 серия. + +Включени са много бъгфиксове. Вижте +[Списък с промени](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) +за повече информация. + +## Сваляне + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Коментар + +Благодарим на всички, помогнали при подготвянето на тази версия. From daa8587f282131eea8c81fcae82d1ef12bd0fafd Mon Sep 17 00:00:00 2001 From: hienvd Date: Thu, 28 Apr 2016 00:21:17 +0700 Subject: [PATCH 0141/3394] Update release list on downloads page (vi) --- vi/downloads/index.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/vi/downloads/index.md b/vi/downloads/index.md index 6b222aacbf..2bec46bef4 100644 --- a/vi/downloads/index.md +++ b/vi/downloads/index.md @@ -22,7 +22,8 @@ Chúng ta có một vài công cụ trên các nền tảng chính để cài đ Xem trang [Cài đặt][installation] để biết thêm chi tiết về hệ thống quản lý gói hoặc các công cụ của bên thứ ba. -Dĩ nhiên bạn có thể cài đặt Ruby từ gói mã nguồn trên các nền tảng chính. +Dĩ nhiên bạn có thể cài đặt Ruby từ gói mã nguồn trên các nền tảng +chính. ### Biên dịch Ruby — Mã nguồn @@ -34,24 +35,29 @@ Xem trang [Cài đặt][installation] để biết thêm chi tiết cách biên Ruby từ nguồn. Nếu bạn gặp vấn đề biên dịch Ruby, xin hãy xem xét sử dụng một trong những công cụ của bên thứ ba đã được đề cập ở trên. -* **Bản ổn định hiện hành:** - [Ruby {{ site.downloads.stable[0].version }}]({{ site.downloads.stable[0].url.gz }})
- sha256: {{ site.downloads.stable[0].sha256.gz }} +* **Bản ổn định:**{% for release in site.downloads.stable %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} -* **Bản ổn định trước đó:** - [Ruby {{ site.downloads.stable[1].version }}]({{ site.downloads.stable[1].url.gz }})
- sha256: {{ site.downloads.stable[1].sha256.gz }} +{% if site.downloads.security_maintenance %} +* **Trong giai đoạn duy trì bảo mật (sẽ sớm EOL!):**{% for release in site.downloads.security_maintenance %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} -* **Bản ổn định c:** - [Ruby {{ site.downloads.stable[2].version }}]({{ site.downloads.stable[2].url.gz }})
- sha256: {{ site.downloads.stable[2].sha256.gz }} +{% if site.downloads.eol %} +* **Không còn duy trì nữa (EOL):**{% for release in site.downloads.eol %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }}{% endfor %} +{% endif %} * **Snapshots:** * [Stable Snapshot]({{ site.downloads.stable_snapshot.url.gz }}): Đây là một tarball của snapshot mới nhất của nhánh ổn định hiện hành. * [Nightly Snapshot]({{ site.downloads.nightly_snapshot.url.gz }}): - Đây là một tarball của mã mới nhất hiện hữu trong SVN. Gói này được tạo - ra mỗi đêm. Xin lưu ý gói có thể kèm theo lỗi và một số vấn đề khác. + Đây là một tarball của mã mới nhất hiện hữu trong SVN. Gói này được + tạo ra mỗi đêm. Xin lưu ý gói có thể kèm theo lỗi và một số vấn đề + khác. Để biết thêm chi tiết về Ruby Subversion và Git repositories, xem trang [Ruby Core](/vi/community/ruby-core/). From 6002792affc328174fe014d44164b45486bbb85e Mon Sep 17 00:00:00 2001 From: Juanito Fatas Date: Thu, 28 Apr 2016 07:59:51 +0800 Subject: [PATCH 0142/3394] Unmark zh_cn as unmaintained (#1368) --- zh_cn/index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/zh_cn/index.html b/zh_cn/index.html index 7db2c86cab..a8168396b7 100644 --- a/zh_cn/index.html +++ b/zh_cn/index.html @@ -21,5 +21,3 @@

Ruby 是……

--- - -{% include unmaintained.html %} From 075ad6721d19c00c8ff053c7e9d337395999b0d5 Mon Sep 17 00:00:00 2001 From: Gustavo Villa Date: Wed, 27 Apr 2016 23:23:38 -0300 Subject: [PATCH 0143/3394] Translate release note of Ruby 2.2.5 (es) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 es/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/es/news/_posts/2016-04-26-ruby-2-2-5-released.md b/es/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..4215fc2d95 --- /dev/null +++ b/es/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "Liberada la versión 2.2.5 de Ruby" +author: "usa" +translator: "gfvcastro" +date: 2016-04-26 12:00:00 +0000 +lang: es +--- + +Ruby 2.2.5 ha sido liberado. + +Esta entrega contiene varias correcciones de errores. + +Puedes ver el [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) para más detalles. + +## Descargas + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Comentarios de la entrega + +Muchas gracias a todos los que nos ayudaron con esta entrega. + +Con esta entrega, el mantenedor de Ruby 2.2 se cambia de nagachika-san a usa. +Alrededor de dos tercios de los cambios incluidos en esta entrega fueron hechos por nagachika-san. +Gracias por sus grandes contribuciones. + +El mantenimiento de Ruby 2.2 que contiene esta entrega, se basa en el "Acuerdo para la versión estable de Ruby" de [Ruby Association](http://www.ruby.or.jp/). From 0d2f2c2e852fb2c950b106bfeb77c0e24e491918 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Thu, 28 Apr 2016 10:24:30 +0700 Subject: [PATCH 0144/3394] Translate Ruby 2.2.5 released (id) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 id/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/id/news/_posts/2016-04-26-ruby-2-2-5-released.md b/id/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..4dd5b12b32 --- /dev/null +++ b/id/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,56 @@ +--- +layout: news_post +title: "Ruby 2.2.5 Rilis" +author: "usa" +translator: "meisyal" +date: 2016-04-26 12:00:00 +0000 +lang: id +--- + +Ruby 2.2.5 telah rilis. + +Rilis ini mencakup banyak perbaikan *bug*. +Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +untuk detail. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Komentar Rilis + +Terima kasih kepada semua yang telah membantu rilis ini. + +Dengan rilis ini, pengelola Ruby 2.2 berubah dari nagachika-san ke usa. +Sekitar dua per tiga perubahan di dalam rilis ini dibuat oleh nagachika-san. +Terima kasih atas kontribusinya. + +Perawatan Ruby 2.2, termasuk rilis ini, +didasarkan pada "Agreement for the Ruby stable version" dari +[Ruby Association](http://www.ruby.or.jp/). From 73b9f0c0d076872d272172cc2494686dc9212a8e Mon Sep 17 00:00:00 2001 From: Gustavo Villa Date: Thu, 28 Apr 2016 10:40:58 -0300 Subject: [PATCH 0145/3394] Translate release note of Ruby 2.3.1 (es) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 es/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/es/news/_posts/2016-04-26-ruby-2-3-1-released.md b/es/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..b1e050ce34 --- /dev/null +++ b/es/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Liberada la versión 2.3.1 de Ruby" +author: "nagachika" +translator: "gfvcastro" +date: 2016-04-26 12:00:00 +0000 +lang: es +--- + +Ruby 2.3.1 ha sido liberado. + +Esta es la primera versión TEENY de la serie estable de 2.3. + +Esta entrega contiene varias correcciones de errores. +Puedes ver el [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) para más detalles. + +## Descargas + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Comentarios de la entrega + +Muchos colaboradores, desarrolladores y usuarios que nos reportaron problemas nos ayudaron a hacer esta entrega una realidad. + +Gracias por su ayuda. From 18f53f39b95ce3e9e6d7f6fd819c46b10488a62f Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Fri, 29 Apr 2016 09:28:14 +0700 Subject: [PATCH 0146/3394] Translate Ruby 2.3.1 released (id) Closes #1376. --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 id/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/id/news/_posts/2016-04-26-ruby-2-3-1-released.md b/id/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..f77fadf9ed --- /dev/null +++ b/id/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Ruby 2.3.1 Rilis" +author: "nagachika" +translator: "meisyal" +date: 2016-04-26 12:00:00 +0000 +lang: id +--- + +Ruby 2.3.1 telah rilis. + +Ini adalah versi rilis TEENY pertama dalam rangkaian versi 2.3 yang *stable*. + +Ada banyak perbaikan *bug*. +Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) +untuk detail. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Komentar Rilis + +Banyak *commiter*, pengembang, dan pengguna yang menyediakan laporan *bug* telah membantu kami untuk membuat rilis ini. +Terima kasih atas kontribusinya. From 72b323b76adfbd7b9508323727784663e2a957c7 Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Fri, 29 Apr 2016 01:03:42 +0900 Subject: [PATCH 0147/3394] Fix syntax error in Python 3 (en) (#1374) --- en/documentation/ruby-from-other-languages/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/index.md b/en/documentation/ruby-from-other-languages/index.md index dfe2655baa..339fd034c7 100644 --- a/en/documentation/ruby-from-other-languages/index.md +++ b/en/documentation/ruby-from-other-languages/index.md @@ -163,9 +163,9 @@ code (the example applies to other languages, too): {% highlight python %} # in Python if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} This will print “0 is false”. The equivalent Ruby: From 9082567de3dc26613ba18fb770a46d9472e34b11 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 29 Apr 2016 17:47:58 +0200 Subject: [PATCH 0148/3394] Fix syntax error in Python 3 (translations) --- bg/documentation/ruby-from-other-languages/index.md | 4 ++-- de/documentation/ruby-from-other-languages/index.md | 4 ++-- es/documentation/ruby-from-other-languages/index.md | 4 ++-- fr/documentation/ruby-from-other-languages/index.md | 4 ++-- id/documentation/ruby-from-other-languages/index.md | 4 ++-- it/documentation/ruby-from-other-languages/index.md | 4 ++-- ko/documentation/ruby-from-other-languages/index.md | 4 ++-- pl/documentation/ruby-from-other-languages/index.md | 4 ++-- pt/documentation/ruby-from-other-languages/index.md | 4 ++-- ru/documentation/ruby-from-other-languages/index.md | 4 ++-- tr/documentation/ruby-from-other-languages/index.md | 4 ++-- vi/documentation/ruby-from-other-languages/index.md | 4 ++-- zh_cn/documentation/ruby-from-other-languages/index.md | 4 ++-- zh_tw/documentation/ruby-from-other-languages/index.md | 4 ++-- 14 files changed, 28 insertions(+), 28 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index c88e97d6ee..7132adfede 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -115,9 +115,9 @@ some_keyword_params(:param_one => 10, :param_two => 42) {% highlight python %} # in Python if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} Изхода от кода е \"0 is false\". Еквивалента на Ruby diff --git a/de/documentation/ruby-from-other-languages/index.md b/de/documentation/ruby-from-other-languages/index.md index 46911ab55d..4d5cac1aa8 100644 --- a/de/documentation/ruby-from-other-languages/index.md +++ b/de/documentation/ruby-from-other-languages/index.md @@ -180,9 +180,9 @@ Python-Code an (das Beispiel funktioniert auch in anderen Sprachen): {% highlight python %} # in Python if 0: - print "0 ist true" + print("0 ist true") else: - print "0 ist false" + print("0 ist false") {% endhighlight %} Hier wird “0 ist false” ausgeben. Dasselbe in Ruby: diff --git a/es/documentation/ruby-from-other-languages/index.md b/es/documentation/ruby-from-other-languages/index.md index c0a0c9c606..ad8d36789e 100644 --- a/es/documentation/ruby-from-other-languages/index.md +++ b/es/documentation/ruby-from-other-languages/index.md @@ -179,9 +179,9 @@ código Python (el ejemplo aplica también a otros lenguajes): {% highlight python %} # en Python if 0: - print "0 es verdadero" + print("0 es verdadero") else: - print "0 es falso" + print("0 es falso") {% endhighlight %} Esto imprimirá “0 es falso”. El equivalente en Ruby: diff --git a/fr/documentation/ruby-from-other-languages/index.md b/fr/documentation/ruby-from-other-languages/index.md index 06496b18bc..638bf8cde5 100644 --- a/fr/documentation/ruby-from-other-languages/index.md +++ b/fr/documentation/ruby-from-other-languages/index.md @@ -177,9 +177,9 @@ Voyez par exemple le bout de code suivant, écrit en Python : {% highlight python %} # en Python if 0: - print "0 est vrai/true" + print("0 est vrai/true") else: - print "0 est faux/false" + print("0 est faux/false") {% endhighlight %} Ce qui affichera « 0 est faux/false. » L’équivalent en Ruby, maintenant : diff --git a/id/documentation/ruby-from-other-languages/index.md b/id/documentation/ruby-from-other-languages/index.md index 658904b675..ef9523f01b 100644 --- a/id/documentation/ruby-from-other-languages/index.md +++ b/id/documentation/ruby-from-other-languages/index.md @@ -195,9 +195,9 @@ seperti list yang kosong, dianggap false. Perhatikan kode Python berikut {% highlight python %} # di Python if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} Ini akan print “0 is false”. Kode yang sama di Ruby: diff --git a/it/documentation/ruby-from-other-languages/index.md b/it/documentation/ruby-from-other-languages/index.md index a971d76e4c..0b03417431 100644 --- a/it/documentation/ruby-from-other-languages/index.md +++ b/it/documentation/ruby-from-other-languages/index.md @@ -170,9 +170,9 @@ applica anche ad altri linguaggi): {% highlight python %} # in Python if 0: - print "0 è true" + print("0 è true") else: - print "0 è false" + print("0 è false") {% endhighlight %} Questo stamperà “0 è false”, mentre l’equivalente in Ruby: diff --git a/ko/documentation/ruby-from-other-languages/index.md b/ko/documentation/ruby-from-other-languages/index.md index 425ef12f60..e0e81073fa 100644 --- a/ko/documentation/ruby-from-other-languages/index.md +++ b/ko/documentation/ruby-from-other-languages/index.md @@ -155,9 +155,9 @@ C나 파이썬이나 많은 다른 언어들에서 0과 빈 리스트같은 값 {% highlight python %} # 파이썬 if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} 이 구문은 “0 is false”를 출력합니다. 같은 구문은 루비에서: diff --git a/pl/documentation/ruby-from-other-languages/index.md b/pl/documentation/ruby-from-other-languages/index.md index c3238daf7b..e949eb0d45 100644 --- a/pl/documentation/ruby-from-other-languages/index.md +++ b/pl/documentation/ruby-from-other-languages/index.md @@ -163,9 +163,9 @@ poniższy kod w Pythonie: {% highlight python %} # w Pythonie if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} Ten kawałek kodu wypisze `0 is false` To samo w Rubim wygląda diff --git a/pt/documentation/ruby-from-other-languages/index.md b/pt/documentation/ruby-from-other-languages/index.md index dfa548f7c9..8618ef963b 100644 --- a/pt/documentation/ruby-from-other-languages/index.md +++ b/pt/documentation/ruby-from-other-languages/index.md @@ -170,9 +170,9 @@ seguinte código Python (o exemplo aplica-se a outras linguagens também): {% highlight python %} # em Python if 0: - print "0 e' verdadeiro" + print("0 e' verdadeiro") else: - print "0 e' falso" + print("0 e' falso") {% endhighlight %} Isto irá imprimir “0 e’ falso”. O equivalente em Ruby: diff --git a/ru/documentation/ruby-from-other-languages/index.md b/ru/documentation/ruby-from-other-languages/index.md index 5a50929c98..916877e5c5 100644 --- a/ru/documentation/ruby-from-other-languages/index.md +++ b/ru/documentation/ruby-from-other-languages/index.md @@ -158,9 +158,9 @@ deliver(via: "Pony Express", from: "B", to: "A") {% highlight python %} # Python if 0: - print "0 - истина" + print("0 - истина") else: - print "0 - ложь" + print("0 - ложь") {% endhighlight %} Это выведет на экран “0 - ложь”. Эквивалент на Ruby: diff --git a/tr/documentation/ruby-from-other-languages/index.md b/tr/documentation/ruby-from-other-languages/index.md index 8412824eda..8224021e93 100644 --- a/tr/documentation/ruby-from-other-languages/index.md +++ b/tr/documentation/ruby-from-other-languages/index.md @@ -157,9 +157,9 @@ yanlış kabul edilir. Aşağıdaki Python koduna bakın (diğer dillere de {% highlight python %} # Python'da if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} Bunu çıktısı “0 is false” olacaktır. Ruby karşılığı ise: diff --git a/vi/documentation/ruby-from-other-languages/index.md b/vi/documentation/ruby-from-other-languages/index.md index 4ee0331e29..e7098a9c8f 100644 --- a/vi/documentation/ruby-from-other-languages/index.md +++ b/vi/documentation/ruby-from-other-languages/index.md @@ -164,9 +164,9 @@ dưới đây (ví dụ cũng được áp dụng với các ngôn ngữ khác): {% highlight python %} # trong Python if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} Sẽ trả về kết quả “0 is false”. tương tự với Ruby: diff --git a/zh_cn/documentation/ruby-from-other-languages/index.md b/zh_cn/documentation/ruby-from-other-languages/index.md index 7ccf9296ab..5544259ab7 100644 --- a/zh_cn/documentation/ruby-from-other-languages/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/index.md @@ -128,9 +128,9 @@ Ruby 把任何不是 **nil** 和 **false** 的值当作真值。在 C,Python {% highlight python %} # Python 中 if 0: - print "0 为真" + print("0 为真") else: - print "0 为假" + print("0 为假") {% endhighlight %} 这会打印出 “0 为假”,而在 Ruby 中: diff --git a/zh_tw/documentation/ruby-from-other-languages/index.md b/zh_tw/documentation/ruby-from-other-languages/index.md index 1fcb314bd2..7756d2ce53 100644 --- a/zh_tw/documentation/ruby-from-other-languages/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/index.md @@ -135,9 +135,9 @@ deliver(via: "Pony Express", from: "B", to: "A") {% highlight python %} # in Python if 0: - print "0 is true" + print("0 is true") else: - print "0 is false" + print("0 is false") {% endhighlight %} 這會輸出 “0 is false”。而在 Ruby 裡: From 98e539f1228881341d4a3f55bab69e0304266eca Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 1 May 2016 20:42:20 +0200 Subject: [PATCH 0149/3394] Update gem bundle --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f7a088cd5e..90425eb501 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -37,18 +37,18 @@ GEM jekyll-paginate (1.1.0) jekyll-sass-converter (1.4.0) sass (~> 3.4) - jekyll-watch (1.3.1) - listen (~> 3.0) + jekyll-watch (1.4.0) + listen (~> 3.0, < 3.1) kgio (2.10.0) kramdown (1.10.0) - lanyon (0.3.2) + lanyon (0.3.3) jekyll (>= 2.0, < 4.0) rack (~> 1.6) liquid (2.6.3) - listen (3.0.6) + listen (3.0.7) rb-fsevent (>= 0.9.3) rb-inotify (>= 0.9.7) - mercenary (0.3.5) + mercenary (0.3.6) mini_portile2 (2.0.0) multipart-post (2.0.0) multipart_body (0.2.1) From deae1caba5b4a77267a6ea32818478734fa429b5 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 1 May 2016 22:44:55 +0200 Subject: [PATCH 0150/3394] Update kramdown --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 90425eb501..55b5776ac6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -40,7 +40,7 @@ GEM jekyll-watch (1.4.0) listen (~> 3.0, < 3.1) kgio (2.10.0) - kramdown (1.10.0) + kramdown (1.11.1) lanyon (0.3.3) jekyll (>= 2.0, < 4.0) rack (~> 1.6) From 8c9cdcc8f3e27405e2fd2470f8b861cf87536e9d Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 2 May 2016 20:56:49 +0200 Subject: [PATCH 0151/3394] Switch to Ruby 2.3.1 --- .travis.yml | 2 +- Gemfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 290d08d05c..ce5494678b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby sudo: false -rvm: 2.3.0 +rvm: 2.3.1 cache: bundler: true # Notifications, used by our Gitter channel. diff --git a/Gemfile b/Gemfile index 904ecf5ae6..c2c83c5f88 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source "https://rubygems.org" -ruby ENV['CUSTOM_RUBY_VERSION'] || '2.3.0' +ruby ENV['CUSTOM_RUBY_VERSION'] || '2.3.1' gem 'rake', '~> 10.0' gem 'jekyll', '~> 2.0' From be3606bc4021f1ec75dbfeaf3f73d047f0fb49f6 Mon Sep 17 00:00:00 2001 From: Chayoung You Date: Tue, 3 May 2016 10:38:47 +0900 Subject: [PATCH 0152/3394] Translate Ruby 2.1.10 Released (ko) (#1358) --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 ko/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..69d65b6195 --- /dev/null +++ b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,52 @@ +--- +layout: news_post +title: "루비 2.1.10 릴리스" +author: "usa" +translator: "yous" +date: 2016-04-01 02:00:00 +0000 +lang: ko +--- + +루비 2.1.10이 릴리스 되었습니다. +이 릴리스는 프로덕션 환경에서 사용할 목적이 아니고 두 글자짜리 버전 번호를 +테스트하기 위함입니다. +일반적인 사용 환경에서 루비 2.1.9 대신 2.1.10을 사용할 필요는 없습니다. + +[2.1.9 릴리스 글](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/)에서 +공지했듯이, 루비 2.1.10은 버전 번호(그리고 그와 관련한 테스트 모음 변경)를 +제외하면 2.1.9에서 변경된 어떠한 사항도 포함하고 있지 않습니다. +두 글자짜리 버전 번호가 호환되는지 애플리케이션 및 라이브러리를 테스트 해보시기 바랍니다. + +## 다운로드 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## 릴리스 코멘트 + +이 릴리스를 만드는 데 도움을 준 모두에게 감사드립니다. From 04bdf59a46d721dedf47ebef3ebaef58a6d46217 Mon Sep 17 00:00:00 2001 From: Chayoung You Date: Tue, 3 May 2016 10:39:11 +0900 Subject: [PATCH 0153/3394] Translate Ruby 2.3.1 Released (ko) (#1367) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 ko/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/ko/news/_posts/2016-04-26-ruby-2-3-1-released.md b/ko/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..de0d27ce65 --- /dev/null +++ b/ko/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "루비 2.3.1 릴리스" +author: "nagachika" +translator: "yous" +date: 2016-04-26 12:00:00 +0000 +lang: ko +--- + +루비 2.3.1이 릴리스 되었습니다. + +2.3 안정 버전 시리즈의 첫 TEENY 버전입니다. + +많은 버그 수정이 포함됩니다. +자세한 사항은 +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog)를 +확인해주세요. + +## 다운로드 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## 릴리스 코멘트 + +많은 커미터, 개발자, 버그를 신고해 준 사용자들이 이 릴리스를 만드는 데 도움을 +주었습니다. +그들의 기여에 감사드립니다. From fe1ddeb22b72f257cf2fe6d1291a8fd6b3e78578 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 3 May 2016 07:12:34 +0200 Subject: [PATCH 0154/3394] Fix link (ko) --- ko/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md index 69d65b6195..df7aa4feab 100644 --- a/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -12,7 +12,7 @@ lang: ko 테스트하기 위함입니다. 일반적인 사용 환경에서 루비 2.1.9 대신 2.1.10을 사용할 필요는 없습니다. -[2.1.9 릴리스 글](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/)에서 +[2.1.9 릴리스 글](https://www.ruby-lang.org/ko/news/2016/03/30/ruby-2-1-9-released/)에서 공지했듯이, 루비 2.1.10은 버전 번호(그리고 그와 관련한 테스트 모음 변경)를 제외하면 2.1.9에서 변경된 어떠한 사항도 포함하고 있지 않습니다. 두 글자짜리 버전 번호가 호환되는지 애플리케이션 및 라이브러리를 테스트 해보시기 바랍니다. From 695c77788a53cce62c07fd9e6912858f16a050b8 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 3 May 2016 07:17:40 +0200 Subject: [PATCH 0155/3394] Fix truncated SHA-512 sums (en) --- en/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- en/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2016-03-30-ruby-2-1-9-released.md b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md index b992fe945e..d56cc7103e 100644 --- a/en/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/en/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -28,7 +28,7 @@ You do not have to use it on production, but you should test it because it has a SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md index 097c6b6324..b26b59085a 100644 --- a/en/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/en/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -21,7 +21,7 @@ Please test your applications and/or libraries for compatibility with two-digit SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) From 4f97bd55bfe9b1e869e7865fcb60f77ca65245cb Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 3 May 2016 07:20:42 +0200 Subject: [PATCH 0156/3394] Fix truncated SHA-512 sums (translations) --- bg/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- bg/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- de/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- de/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- es/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- es/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- id/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- id/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- ja/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- ja/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- ko/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- ko/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- pt/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- vi/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- vi/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md | 2 +- zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md index 2fb7c136a3..7905d62656 100644 --- a/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/bg/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -28,7 +28,7 @@ lang: bg SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md index ab102dc9b2..b7d795cd85 100644 --- a/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/bg/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -22,7 +22,7 @@ Ruby 2.1.10 не включва никакви промени от 2.1.9 осв SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/de/news/_posts/2016-03-30-ruby-2-1-9-released.md b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md index 0f689c64c4..c82479a780 100644 --- a/de/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/de/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -34,7 +34,7 @@ testen, weil sie erstmals eine zweistellige Versionsnummer führt. SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/de/news/_posts/2016-04-01-ruby-2-1-10-released.md b/de/news/_posts/2016-04-01-ruby-2-1-10-released.md index b25d014fae..e16296df11 100644 --- a/de/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/de/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -28,7 +28,7 @@ Kompatibilität mit zweistelligen Versionsnummern. SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/es/news/_posts/2016-03-30-ruby-2-1-9-released.md b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md index 1c4046dafa..67216f6324 100644 --- a/es/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/es/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -27,7 +27,7 @@ No es necesario que la uses en producción, pero deberías probarla ya que tiene SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/es/news/_posts/2016-04-01-ruby-2-1-10-released.md b/es/news/_posts/2016-04-01-ruby-2-1-10-released.md index e1afdbb797..d6eab03dc4 100644 --- a/es/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/es/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -21,7 +21,7 @@ Por favor prueba tus aplicaciones y/o bibliotecas para asegurar la compatibilida SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/id/news/_posts/2016-03-30-ruby-2-1-9-released.md b/id/news/_posts/2016-03-30-ruby-2-1-9-released.md index d258f247c8..934feb088d 100644 --- a/id/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/id/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -28,7 +28,7 @@ Anda tidak harus menggunakannya saat produksi, tetapi Anda harus mengujinya kare SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/id/news/_posts/2016-04-01-ruby-2-1-10-released.md b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md index 11da014900..edef27d29a 100644 --- a/id/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/id/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -21,7 +21,7 @@ Mohon uji aplikasi dan/atau pustaka Anda untuk *compatibility* dengan versi dua SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md b/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md index 8eba3b4799..240591b8dd 100644 --- a/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/ja/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -30,7 +30,7 @@ Ruby 2.1.9 がリリースされました。 SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md b/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md index e15cbee9fb..9ac9e35d0c 100644 --- a/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/ja/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -23,7 +23,7 @@ Ruby のバージョン番号に依存したコードが含まれうるアプリ SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md b/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md index b404710349..cc220ed280 100644 --- a/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/ko/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -30,7 +30,7 @@ lang: ko SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md index df7aa4feab..9400c86f62 100644 --- a/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/ko/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -24,7 +24,7 @@ lang: ko SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md b/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md index b2fa202f88..2229401513 100644 --- a/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/pt/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -31,7 +31,7 @@ número da versão. Você não deve utilizá-la em produção, mas deve testá-l SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md index 58342d14cf..cdca9935ac 100644 --- a/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/vi/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -27,7 +27,7 @@ Bạn không cần phải sử dụng nó cho production, nhưng bạn nên th SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md index a8024db567..f94db57475 100644 --- a/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/vi/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -21,7 +21,7 @@ Vui lòng thử nghiệm sự tương thích của ứng dụng và/hoặc thư SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) diff --git a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md index 4958d063ce..fa7985847a 100644 --- a/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md +++ b/zh_tw/news/_posts/2016-03-30-ruby-2-1-9-released.md @@ -27,7 +27,7 @@ Ruby 2.1.10 除了版本號有變以外,不包含任何 2.1.9 的改動。不 SIZE: 12016421 bytes SHA1: 39524185b580a3390a3b5019819c8b28d3249766 SHA256: 4f21376aa11e09b499c3254bbd839e68e053c0d18e28d61c428a32347269036e - SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b + SHA512: a86422132e4c64007a84a91696f4557bdcbc8716fbfe1962f1eef3754ee7f994f4de0b5b7e7231c25057515767040d5c4af33339750b6db15744662e9bd24f38 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz) diff --git a/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md b/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md index 9e50df9656..4786d6cec0 100644 --- a/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md +++ b/zh_tw/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -20,7 +20,7 @@ Ruby 2.1.10 釋出。 SIZE: 12015299 bytes SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 - SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e9 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 * [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) From 2c8e97bdf48f82fd0300614beaa5ffc7c2b57122 Mon Sep 17 00:00:00 2001 From: Felipe Gentil Date: Mon, 2 May 2016 21:08:13 -0300 Subject: [PATCH 0157/3394] Translate Ruby 2.1.10 released (pt) --- .../_posts/2016-04-01-ruby-2-1-10-released.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pt/news/_posts/2016-04-01-ruby-2-1-10-released.md diff --git a/pt/news/_posts/2016-04-01-ruby-2-1-10-released.md b/pt/news/_posts/2016-04-01-ruby-2-1-10-released.md new file mode 100644 index 0000000000..c0ab3c39ea --- /dev/null +++ b/pt/news/_posts/2016-04-01-ruby-2-1-10-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.1.10 lançado" +author: "usa" +translator: "fpgentil" +date: 2016-04-01 02:00:00 +0000 +lang: pt +--- + +Ruby 2.1.10 foi lançado. +Essa *release* não é destinada para uso em produção, mas sim testes de +compatibilidade com as versões de dois dígitos. +Você não precisa substituir o Ruby 2.1.9 por 2.1.10 em uso regular. + +Como anunciado em [2.1.9 release post](https://www.ruby-lang.org/pt/news/2016/03/30/ruby-2-1-9-released/), +Ruby 2.1.10 não inclui nenhuma mudança da versão 2.1.9, com exceção de seu número +(e uma pequena alteração relacionada com a suíte de testes). Por favor teste sua +aplicação e/ou bibliotecas para compatibilidade com versões de dois dígitos. + + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Comentários da *release* + +Obrigado a todos que contribuíram para essa *release*. From d91da55ac23ec28c554ce4b26b90241eaf7538c3 Mon Sep 17 00:00:00 2001 From: Felipe Gentil Date: Mon, 2 May 2016 21:08:20 -0300 Subject: [PATCH 0158/3394] Translate Ruby 2.2.5 released (pt) --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pt/news/_posts/2016-04-26-ruby-2-2-5-released.md diff --git a/pt/news/_posts/2016-04-26-ruby-2-2-5-released.md b/pt/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..47ab672b4f --- /dev/null +++ b/pt/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,55 @@ +--- +layout: news_post +title: "Ruby 2.2.5 lançado" +author: "usa" +translator: "fpgentil" +date: 2016-04-26 12:00:00 +0000 +lang: pt +--- + +Ruby 2.2.5 foi lançado. + +Essa *release* inclui várias correções de *bugs*. +Consulte o [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog) +para mais detalhes. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Comentários da *release* + +Obrigado a todos que contribuíram para essa *release*. + +Com essa *release*, a manutenção do Ruby 2.2 mudou do nagachika-san para o usa. +Cerca de dois terços das mudanças incluídas nessa *release* foram feitas pelo +nagachika-san. Obrigado pela sua grande contribuícão. + +A manutenção do Ruby 2.2, incluindo essa *release*, baseia-se no "Agreement for +the Ruby stable version" da [Ruby Association](http://www.ruby.or.jp/). From d4365e8a09e0a57a552c9a275e076cce100e74f0 Mon Sep 17 00:00:00 2001 From: Felipe Gentil Date: Mon, 2 May 2016 21:08:28 -0300 Subject: [PATCH 0159/3394] Translate Ruby 2.3.1 released (pt) --- .../_posts/2016-04-26-ruby-2-3-1-released.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pt/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/pt/news/_posts/2016-04-26-ruby-2-3-1-released.md b/pt/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..61d4ae457e --- /dev/null +++ b/pt/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Ruby 2.3.1 Released" +author: "nagachika" +translator: "fpgentil" +date: 2016-04-26 12:00:00 +0000 +lang: pt +--- + +Ruby 2.3.1 foi lançado. + +Essa é a primeira versão minúscula (*TEENY*) estável da série 2.3. + +Essa versão inclui várias correções de *bugs*. +Consulte o [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog) +para detalhes. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Comentários da *release* + +Vários *committers*, desenvolvedores e usuários que reportaram *bugs* nos ajudaram +a lançar essa versão. Obrigado pelas suas contribuições. From b8c6d635d37b97cf3c3b8b8587051717ffa9b125 Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Sun, 24 Apr 2016 13:30:47 +0900 Subject: [PATCH 0160/3394] Translate ruby-from-other-languages(ja) --- _config.yml | 6 +- ja/documentation/index.md | 2 + .../ruby-from-other-languages/index.md | 441 ++++++++++++++++++ .../to-ruby-from-c-and-cpp/index.md | 121 +++++ .../to-ruby-from-java/index.md | 52 +++ .../to-ruby-from-perl/index.md | 63 +++ .../to-ruby-from-php/index.md | 43 ++ .../to-ruby-from-python/index.md | 77 +++ 8 files changed, 802 insertions(+), 3 deletions(-) create mode 100644 ja/documentation/ruby-from-other-languages/index.md create mode 100644 ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md create mode 100644 ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md create mode 100644 ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md create mode 100644 ja/documentation/ruby-from-other-languages/to-ruby-from-php/index.md create mode 100644 ja/documentation/ruby-from-other-languages/to-ruby-from-python/index.md diff --git a/_config.yml b/_config.yml index a99d56d03c..c6f26d71b6 100644 --- a/_config.yml +++ b/_config.yml @@ -1150,9 +1150,9 @@ locales: quickstart: text: 20分ではじめるRuby url: /ja/documentation/quickstart/ -# ruby_from_other_languages: -# text: Ruby from Other Languages -# url: /ja/documentation/ruby-from-other-languages/ + ruby_from_other_languages: + text: 他言語からのRuby入門 + url: /ja/documentation/ruby-from-other-languages/ explore: text: 探求しよう documentation: diff --git a/ja/documentation/index.md b/ja/documentation/index.md index 3ef8db409e..8351b1519e 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -34,6 +34,8 @@ lang: ja [20分ではじめるRuby](/ja/documentation/quickstart/) : Rubyの基本をカバーしている便利なチュートリアルです。始めから終わりまで読んでも20分かからないでしょう。 +[他言語からのRuby入門](/ja/documentation/ruby-from-other-languages/) +: 他の言語からRubyにやってきましたか?C、C++、Java、Perl、PHP、Pythonといった言語から来たのであれば、この記事が役に立つはずです! ### リファレンス diff --git a/ja/documentation/ruby-from-other-languages/index.md b/ja/documentation/ruby-from-other-languages/index.md new file mode 100644 index 0000000000..de5b49a4d0 --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/index.md @@ -0,0 +1,441 @@ +--- +layout: page +title: "他言語からのRuby入門" +lang: ja +--- + +Rubyのコードを目にすると、 +他の言語と似た部分があることに気が付くはずです。 +構文の多くは、(他の言語の中でも特に)PerlやPython、 +Javaプログラマーにとって馴染みのあるものになっています。 +もしあなたがそうした言語に慣れ親しんでいるのなら、 +Rubyを学ぶのはおそらくどうってことないはずです。 +{: .summary} + +このドキュメントは2部構成になっています。 +このページでは、プログラミング言語*X*からRubyへ移ってくる際に役立つ情報をざっと紹介します。 +個別のページでは、Rubyの主な言語機能を紹介しつつ、 +あなたが慣れ親しんできた言語との比較を行います。 + +## 求められていること: *言語X*からRubyへ + +* [C・C++からRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) +* [JavaからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-java/) +* [PerlからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/) +* [PHPからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-php/) +* [PythonからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-python/) + +## 重要な言語機能と知っておくべきこと + +ここでは、Rubyを学習する中で出会ういくつかの主要な機能について、 +参照先やヒントを示します。 + +### イテレーション + +Rubyの特徴であるブロックとイテレータは、 +これまでにあまり見たことがない、あるいは使い慣れていないものかもしれません。 +(CやC++、1.5以前のJavaのような)インデックスを使った繰り返し処理や、 +(Perlの`for (@a) {...}`やPythonの`for i in aList: ...`のような) +リストをループする処理の代わりに、 +Rubyでは次のようなコードをよく見ることになるでしょう。 + +{% highlight ruby %} +some_list.each do |this_item| + # ここはブロックの中になります。 + # this_itemを扱う処理をここに書きます。 +end +{% endhighlight %} + +`each`(や`collect`、`find`、`inject`、`sort`など)について詳しくは、 +`ri Enumerable`を参照してみてください(そして、次に +`ri Enumerable#some_method`として具体的なメソッドを参照してみてください)。 + +### すべては値 + +式と文に違いはありません。 +すべては値を持ちます。`nil`であっても例外ではありません。 +Rubyでは次のように書くことが可能です。 + +{% highlight ruby %} +x = 10 +y = 11 +z = if x < y + true + else + false + end +z # => true +{% endhighlight %} + +### シンボルは軽量文字列ではない + +多くのRuby初学者はシンボルが何であるか、どう使えばよいのかを理解するのに苦戦します。 + +シンボルは識別子として記述するのに適しています。 +シンボルは、**どんな物か**ではなく、**何者であるか**がすべてです。 +`irb`を立ち上げて、次の違いを見てみてください。 + +{% highlight irb %} +irb(main):001:0> :george.object_id == :george.object_id +=> true +irb(main):002:0> "george".object_id == "george".object_id +=> false +irb(main):003:0> +{% endhighlight %} + +`object_id`メソッドはオブジェクトのIDを返します。 +もし二つのオブジェクトが同じ`object_id`を持っていれば、 +それらはメモリ上の同じ実体を指すものであると言えます。 + +上記で見たとおり、一度でもシンボルを使ったなら、 +同じ文字からなるシンボルは、いずれもメモリ内の同じオブジェクトを参照します。 +同じ文字で表された2つのシンボルは、同じ`object_id`を指します。 + +次に文字列("george")の方を見てみましょう。 +`object_id`は一致していません。 +これは、二つの文字列が異なる実体を指していることを示しています。 +新しい文字列を使うと、Rubyは毎回その文字列のために新しいメモリ領域を確保します。 + +シンボルを使うか文字列を使うかで迷ったなら、 +ハッシュのキーのようにオブジェクトを識別したいのか、 +それとも前述の"george"などのようにコンテンツを表したいのかを、 +選択の指針にしてください。 + +### すべてはオブジェクト + +「すべてはオブジェクト」は誇張ではありません。 +クラスや整数でさえオブジェクトです。 +他のオブジェクトと同じように扱うことができます。 + +{% highlight ruby %} +# 以下のクラス定義と同じことを行っています +# class MyClass +# attr_accessor :instance_var +# end +MyClass = Class.new do + attr_accessor :instance_var +end +{% endhighlight %} + +### 可変な定数 + +定数は厳密な意味での定数ではありません。 +初期化済みの定数を変更したとしても、 +警告はされますが、プログラムは停止しません。 +だからと言って、定数を再定義するべきだということではありません。 + +### 名前付けの規約 + +Rubyにはいくつか名前付けについての規約があります。 +大文字から始まる識別子は定数です。 +ドルマーク(`$`)から始まる識別子はグローバル変数、 +`@`から始まる識別子はインスタンス変数、 +`@@`から始まる識別子はクラス変数になります。 + +メソッド名は大文字から始めることもできます。 +けれど、それは次のような混乱を招くことになるでしょう。 + +{% highlight ruby %} +Constant = 10 +def Constant + 11 +end +{% endhighlight %} + +こうすると、`Constant`は10ですが、`Constant()`は11になります。 + +### キーワード引数 + +メソッドはRuby2.0から、Pythonのように、 +キーワード引数を定義できるようになりました。 + +{% highlight ruby %} +def deliver(from: "A", to: nil, via: "mail") + "Sending from #{from} to #{to} via #{via}." +end + +deliver(to: "B") +# => "Sending from A to B via mail." +deliver(via: "Pony Express", from: "B", to: "A") +# => "Sending from B to A via Pony Express." +{% endhighlight %} + +### 普遍の真理 + +Rubyでは、`nil`と`false`を除くすべてのものは真と評価されます。 +CやPythonを始めとする多くの言語では、0あるいはその他の値、空のリストなどは +偽と評価されます。次に示すPythonコードをみてください +(他の言語でもだいたい同じようなコードになるでしょう)。 + +{% highlight python %} +# Python版 +if 0: + print("0 is true") +else: + print("0 is false") +{% endhighlight %} + +このコードを実行すると「0 is false」と出力されます。 +同じコードをRubyで書くと以下のようになります。 + +{% highlight ruby %} +# Ruby版 +if 0 + puts "0 is true" +else + puts "0 is false" +end +{% endhighlight %} + +このコードを実行すると、 +「0 is true」が出力されることになります。 + +### アクセス修飾子はスコープの最後まで適用される + +次のRubyコードを見てください。 + +{% highlight ruby %} +class MyClass + private + def a_method; true; end + def another_method; false; end +end +{% endhighlight %} + +`another_method`がpublicメソッドになることを期待するかもしれませんが、 +結果はそうなりません。 +`private`アクセス修飾子はスコープの終わりか、他のアクセス修飾子が +あらわれるまで継続されます。 +デフォルトでは、メソッドはpublicになります。 + +{% highlight ruby %} +class MyClass + # a_methodはpublicです + def a_method; true; end + + private + + # another_methodはprivateです + def another_method; false; end +end +{% endhighlight %} + +`public`、`private`、`protected`は実際にはメソッドになるので、 +引数を受けることができます。これらにシンボルを渡した場合には、 +そのメソッドの可視性が変更されます。 + +### アクセス制御 + +Javaでは、`public`は誰でもアクセスできることを意味しています。 +そして、`protected`はクラスおよび継承関係にあるクラスのインスタンス、 +クラスと同じパッケージにあるクラスのインスタンスからアクセスできること、 +`private`はクラスのインスタンスからのみアクセスできることを、 +ぞれぞれ意味します。 + +Rubyでは扱いが若干異なります。 +`public`はそのままの意味になります。 +`private`は、レシーバなしで呼び出すことができる場合に、 +そのメソッドへアクセス可能となります。 +つまり、`self`のみがprivateメソッドを呼び出す際のレシーバとなります。 + +`protected`は気をつけて扱う必要があります。 +protectedメソッドはクラスか継承関係にあるクラスのインスタンスからのみ +呼び出すことができます。しかしまた、 +レシーバとしてインスタンスを指定しても呼び出すことができてしまいます。 +以下に例を示します([The Ruby Language FAQ][faq]から引用)。 + +{% highlight ruby %} +class Test + # デフォルトはpublic + def identifier + 99 + end + + def ==(other) + identifier == other.identifier + end +end + +t1 = Test.new # => # +t2 = Test.new # => # +t1 == t2 # => true + +# ここで`identifier'をprotectedにする。 +# protected はレシーバとして`other'を許容するため、これは動作する。 + +class Test + protected :identifier +end + +t1 == t2 # => true + +# ここで`identifier'をprivateにする。 + +class Test + private :identifier +end + +t1 == t2 +# NoMethodError: private method `identifier' called for # +{% endhighlight %} + +### クラスは開いている + +Rubyのクラスは開いています。 +いつでもクラスを開いて、定義を足したり、変更することができます。 +`Fixnum`や、すべてのオブジェクトの祖先である`Object`のようなクラスであっても、 +自由に再定義することが可能です。Ruby on Railsは、次のような +`Fixnum`に時間を扱うメソッド群を定義しています。 + +{% highlight ruby %} +class Fixnum + def hours + self * 3600 # 1時間あたりの秒数を返します + end + alias hour hours +end + +# 1月1日の0時0分から14時間後 +Time.mktime(2006, 01, 01) + 14.hours # => Sun Jan 01 14:00:00 +{% endhighlight %} + +### 不思議なメソッド名 + +Rubyでは、メソッド名の最後に疑問符(?)や感嘆符(!)が使われることがあります。 +慣習的に、問い合わせ系のメソッドの最後には疑問符が使われます +(例: レシーバが空の場合に`true`を返す`Array#empty?`)。 +また、使用に危険を伴うメソッドの最後には感嘆符が使われます +(例: `self`あるいは引数の内容を書き換えるようなメソッド。`exit!`など)。 +けれど、危険なメソッドすべてがこの慣習に従っているわけでも +ないことに注意してください。 +`Array#replace`は、与えられた配列の内容で配列の内容を置き換えます。 +この操作は、自身を**変更しない**ようなメソッド名とは意に反する振る舞いをします。 + +### 特異メソッド + +特異メソッドはオブジェクト単位のメソッドです。 +特異メソッドは、定義したオブジェクトからだけ利用できるメソッドになります。 + +{% highlight ruby %} +class Car + def inspect + "Cheap car" + end +end + +porsche = Car.new +porsche.inspect # => Cheap car +def porsche.inspect + "Expensive car" +end + +porsche.inspect # => Expensive car + +# 他のオブジェクトには影響しない +other_car = Car.new +other_car.inspect # => Cheap car +{% endhighlight %} + +### 「存在しなかった」メソッド + +Rubyはメッセージに対応するメソッドを見つけられなかったとしても諦めません。 +その場合は、見つけられなかったメソッド名と引数と共に、 +`method_missing`メソッドを呼び出します。 +`method_missing`メソッドはデフォルトではNameError例外を投げますが、 +アプリケーションに合うように再定義することもできます。 +実際、多くのライブラリがそのようにしています。 +以下がその例です。 + +{% highlight ruby %} +# idは呼び出されたメソッド名です。 +# *構文は「arguments」という名前の配列に +# 呼び出されたメソッドに渡されたすべての引数を格納します。 +def method_missing(id, *arguments) + puts "Method #{id} was called, but not found. It has " + + "these arguments: #{arguments.join(", ")}" +end + +__ :a, :b, 10 +# => Method __ was called, but not found. It has these +# arguments: a, b, 10 +{% endhighlight %} + +このコードは単に呼び出されたメソッドの詳細を出力しているだけですが、 +ここには何を書いても良いので、メッセージを受け取って適切な処理を行えます。 + +### 関数呼び出しではなくメッセージ送信 + +メソッド呼び出しは実際には他のオブジェクトへの**メッセージ送信**です。 + +{% highlight ruby %} +# これは +1 + 2 +# これと同じで... +1.+(2) +# つまりこういうことです。 +1.send "+", 2 +{% endhighlight %} + +### ブロックは作りかけのオブジェクト + +ブロック(実際にはクロージャ)は標準ライブラリでもすごく使われています。 +ブロックを呼び出すには、`yield`を使うか、引数リストに特別な引数を追加して +それを`Proc`オブジェクトにします。以下がその例です。 + +{% highlight ruby %} +def block(&the_block) + # この内側では、the_blockはメソッドに渡されたブロックになります。 + the_block # ブロックが返ります +end +adder = block { |a, b| a + b } +# adderはここでProcオブジェクトになります +adder.class # => Proc +{% endhighlight %} + +`Proc.new`にブロックを渡すか、`lambda`メソッドを呼び出すことで、 +メソッド呼び出しの外側でブロックを作成することもできます。 + +同様に、メソッドもまた作りかけのオブジェクトです。 + +{% highlight ruby %} +method(:puts).call "putsはオブジェクト!" +# => putsはオブジェクト! +{% endhighlight %} + +### 演算子は糖衣構文(シンタックスシュガー) + +Rubyにおけるほとんどの演算子は糖衣構文です。 +いくつかの優先順位規則にもとづいて、メソッド呼び出しを単に書き換えているだけです。 +たとえば、Fixnumクラスの`+`メソッドを次のようにオーバーライドすることもできます。 + +{% highlight ruby %} +class Fixnum + # できるけれど、しないほうがいいでしょう + def +(other) + self - other + end +end +{% endhighlight %} + +C++の`operator+`などは必要ありません。 + +`[]`や`[]=`といったメソッドを定義すれば、配列のようなスタイルでアクセスすることもできます。 +(+1や-2みたいな)単項の+や-を定義するには、`+@`か`-@`といったメソッドを定義する必要があります。 +けれど、以下の演算子は糖衣構文では**ありません**。 +これらはメソッドではないので、再定義できません。 + +{% highlight ruby %} +=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +{% endhighlight %} + +加えて`+=`、`*=`などは`var = var + other_var`、`var = var * other_var` +などの処理の略記法になり、これらも再定義できません。 + +## もっと知りたい + +Rubyについてもっと知りたくなったのなら、 +[ドキュメント](/ja/documentation/)の +その他のコンテンツを見てみてください。 + + +[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md new file mode 100644 index 0000000000..d2d9b93a51 --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md @@ -0,0 +1,121 @@ +--- +layout: page +title: "C・C++からRubyへ" +lang: ja +--- + +C・C++とRubyとで、あなたのコードがどう変わるのかを示すのは容易ではありません。 +ものすごく大きな違いがあるからです。 +一つには、Rubyの実行環境が本当にたくさんのことを行うという違いがあります。 +RubyはC言語の「機構側は何も隠蔽しない」という原則からはかけ離れた言語のように見えます。 +Rubyの本質は、人間の仕事を簡単にするために、できるだけ多くの作業を実行環境が肩代わりすることにあります。 +最適化するためにコードをプロファイリングするようになるまでは、Rubyを使う際にコンパイラ側の都合を気にする必要はありません。 + +とはいうものの、C・C++で書かれたコードの実行時間と比べて、Rubyコードの実行時間はずっと遅いと言われています。 +そのため、どうしたら最小のコードでやりたいことを実現できるかを考えると同時に、 +それを高速化する方法についても、あなたは頭をフル回転させることになるかもしれません。 +RubyはC++よりもずっとずっとシンプルな言語です。Rubyはきっとあなたのことを甘やかすことでしょう。 + +Rubyは動的型付けです。静的型付けではありません。 +Rubyの実行環境は、なるべく多くのことをプログラム実行時に行おうとします。 +たとえば、どのモジュールをRubyプログラムにリンクする(ロードして使えるようにする)かや、どのメソッドを呼び出すかを、 +あなたはあらかじめ知る必要はありません。 + +幸いなことに、RubyとCは堅実に共生関係を持つことができます。 +Rubyはいわゆる「拡張ライブラリ」という仕組みをサポートしています。 +拡張ライブラリは、Rubyプログラムから使用することができるものですが、Cで書かれます +(外側から見ると、それはRubyで書かれたライブラリと同様に振る舞います)。 +この仕組みを使うと、Rubyプログラムの中でパフォーマンスが重要となる部分を、純粋なCで書き直すことができます。 + +そしてもちろん、Ruby自体もCで書かれています。 + +### Cとの類似 + +Cと同様に、Rubyは... + +* 書きたいと思えば、手続き的にプログラムを書くことができます(けれど、その裏側はオブジェクト指向のままです)。 +* 使用できる演算子は、複合代入子やビット演算子も含めて、だいたい同じです。ですが、Rubyには`++`と`--`はありません。 +* `__FILE__`と`__LINE__`を使えます。 +* 定数もあります。けれど、`const`のような特別なキーワードはありません。 + 定数化は名前付けによって行われます。変数名の最初が大文字のものは定数として扱われます。 +* 文字列は二重引用符(`"`)で括ります。 +* 文字列は可変です。 +* manページのように、ターミナルからほとんどのマニュアルを読むことができます。ただ、その際に使うコマンドは`ri`です。 +* これまでと同じコマンドラインデバッガを使うことができます。 + +### C++との類似 + +C++と同様に、Rubyは... + +* 使用できる演算子はだいたい同じです(`::`もあります)。`<<`はリストに要素を追加するためによく使われます。 + Rubyではメンバ関数の呼び出しに`->`は使いません。常に`.`を使うので、この点には気をつけてください。 +* `public`や`private`、`protected`などを使います。 +* 継承を一文字で表現できます。ですが、使うのは`:`ではなく`<`になります。 +* コードをモジュール化することになりますが、これはC++で`namespace`を使うことと変わりません。 +* 例外を扱うための作法は一緒です。ですが、そのために使われるキーワード名などには違いがあります。 + +### Cとの違い + +Cと違って、Rubyは... + +* コードをコンパイルする必要はありません。単に実行するだけです。 +* オブジェクトは強く型付けされています(そして、変数名自身はまったく型を持ちません)。 +* マクロやプリプロセッサはありません。キャストもポインタ(とポインタ演算)もありません。 + typedef や sizeof、列挙型もありません。 +* ヘッダファイルはありません。ただ関数(「メソッド」と呼ばれます)とクラスをソース内に記述するだけです。 +* `#define`はありません。そのかわりに定数を使います。 +* すべての変数はヒープ上に配置されます。あなたがそれを解放する必要はありません。代わりにGCがその世話をしてくれます。 +* メソッド(関数)の引数は参照渡しされます。値渡しはされません。 +* `#include `や`#include "foo"`の代わりに、`require 'foo'`と書きます。 +* アセンブリコードに変換はできません。 +* 行の終わりにセミコロンは不要です。 +* `if`や`while`などの条件式は、括弧を付けなくても動きます。 +* メソッド(関数)呼び出しの括弧は基本的にオプションです。 +* 波括弧はあまり使いません。複数行に渡る処理片の終わりには、一般的に`end`キーワードが使われます。 +* `do`キーワードは「ブロック」と呼ばれる機能のためにあります。Cにおける「do命令」ではありません。 +* 「ブロック」はC言語にあるブロックとは別ものです。 + Rubyのブロックは、メソッド呼び出しに関連付けるコード片を意味します。 + ブロックは、メソッドの本体から実行時に呼び出されます。 +* 変数宣言はありません。変数が必要になったら、新しい変数名に紐付けるだけです。 +* 真偽値をテストする際、`false`と`nil`だけが偽と評価されます。他(`0`、`0.0`、`"0"`なども)はすべて真となります。 +* `char`はありません。単なる一文字だけの文字列になります。 +* 文字列の終端はヌル文字ではありません。 +* 配列リテラルは角括弧です。波括弧ではありません。 +* 要素を追加すると、配列の大きさは自動的に拡張されます。 +* 二つの配列を足し合わせると、新しい大きい配列が返されます(もちろん、ヒープ上に割り当てられます)。ポインタ演算は行われません。 +* だいたいの場合は、すべてが式です(`while`命令が実際に右辺値を評価しているなど) + +### C++との違い + +C++と違って、Rubyは... + +* 明示的に参照を扱うことはありません。 + Rubyでは、すべての変数はあるオブジェクトへの間接参照として扱われます。 +* オブジェクトは強い型付けがされますが、それは*動的*に行われます。 + 環境は*実行時*、メソッド呼び出しが実際に行われたタイミングで型を決定します。 +* コンストラクタは、クラス名ではなく、`initialize`メソッドとなります。 +* メソッドはすべて仮想関数です。 +* クラス変数(静的メンバ変数)名は、常に`@@`からはじまります(例えば`@@total_widgets`というように)。 +* 外部からメンバ変数に直接アクセスすることはありません。 + publicなメンバ変数(Rubyでは属性と呼ばれます)へのアクセスはメソッド経由で行います。 +* `this`の代わりに`self`を使います。 +* 最後が?や!で終わるメソッドがあります。これらは実際にメソッド名の一部です。 +* 多重継承はありません。Rubyでは代わりにMix-inを使います。 + Mix-inを用いることで、モジュールが持つすべてのインスタンスメソッドを「継承」できます。 +* 大文字表記、小文字表記が強制されるケースがあります。たとえば、 + クラス名は大文字から開始し、変数名は小文字から開始する必要があります。 +* メソッド呼び出しの括弧は基本的にオプションです。 +* いつでもクラスをオープンしてメソッドを追加できます。 +* どんな種類のオブジェクトでも変数に設定でき、型は実行時に評価されるので、 + C++テンプレートは必要ありません。キャストもありません。 +* イテレーションはわずかな違いがあります。 + Rubyでは、(`vector::const_iterator iter`のような)独立したイテレータ・オブジェクトは使いません。 + 代わりに、オブジェクトは`Enumerator`モジュールをMix-inし、 + `my_obj.each`のように呼び出すメソッドを作成する必要があります。 +* コンテナクラスは`Array`と`Hash`の2種類だけです。 +* 型変換はありません。Rubyを使い始めれば、必要ない理由がわかるはずです。 +* マルチスレッド機能は組み込まれています。 + ただし、Ruby1.8 以前のマルチスレッド機構は、ネイティブスレッドに対してグリーンスレッドと呼ばれ、 + 処理系だけで実装されたスレッド機能になっています。 +* ユニットテストのライブラリはRubyに標準添付されています。 + diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md new file mode 100644 index 0000000000..38503724a5 --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -0,0 +1,52 @@ +--- +layout: page +title: "JavaからRubyへ" +lang: ja +--- + +Javaは成熟しており、よくテストされています。 +アンチJavaな人々が訴えるのに反して、Javaは高速です。ですが、とても冗長です。 +JavaからRubyへ移行すると、コードの量を大幅に削減できます。 +プロトタイピングを少ない時間で済ませられるようになるでしょう。 + +### Javaとの類似 + +Javaと同様に、Rubyは... + +* メモリはGCによって管理されます。 +* オブジェクトは強い型付けがされます。 +* メソッドにはpublic、private、protectedを指定できます。 +* 埋め込み型のドキュメントツールがあります(Ruby用のツールはRDocと呼ばれます)。 + rdocで生成されたドキュメントはjavadocで生成したドキュメントにとてもよく似ています。 + +### Javaとの違い + +Javaと違って、Rubyは... + +* コードをコンパイルする必要はありません。単に実行するだけです。 +* 異なったサードパーティ製のGUIツールキットがいくつか存在します。 + Rubyのユーザーは、たとえば[WxRuby][1]、[FXRuby][2]、[Ruby-GNOME2][3]、[Qt][4]、 + あるいはRubyに同梱されているRuby Tkなどを利用します。 +* クラスなどの定義の最後には`end`キーワードを使います。コードのまとまりを波括弧で括ることはしません。 +* `import`の代わりに`require`を使います。 +* すべてのメンバ変数はプライベード変数です。オブジェクトの外側からはメソッドを介してそれらにアクセスします。 +* メソッド呼び出しの括弧は基本的にオプションで、しばしば省略されます。 +* 2や3.14159といった数値も含めて、すべてのものはオブジェクトです。 +* 静的型チェックはありません。 +* 変数名はただのラベルです。変数名は関連付けられた型を持ちません。 +* 型宣言はありません。必要に応じて新しい変数名を割りあてれば、それらを利用できます + (`int[] a = {1,2,3};`ではなく`a = [1,2,3]`というように)。 +* キャストはありません。メソッドを呼び出すだけです。 + 例外を確認するつもりなら、コードを実行する前にユニットテストで示しましょう。 +* `Foo foo = new Foo("hi")`は`foo = Foo.new("hi")`と書きます。 +* コンストラクタは常に”initialize”という名前になります。クラス名ではありません。 +* インターフェイスの代わりにMix-inを使います。 +* XMLよりもYAMLが好まれます。 +* `null`は`nil`です。 +* `==`と`equals()`の扱いが異なります。等価かどうかを評価したい時(Javaで`equals()`を使うケース)は`==`を使います。 + 二つのオブジェクトが同一かどうかを確認したい時(Javaで`==`を使うケース)は`equal?()`を使います。 + +[1]: http://wxruby.rubyforge.org/wiki/wiki.pl +[2]: http://www.fxruby.org/ +[3]: http://ruby-gnome2.osdn.jp/ +[4]: https://github.com/ryanmelt/qtbindings/ diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md new file mode 100644 index 0000000000..89c68cd0d1 --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md @@ -0,0 +1,63 @@ +--- +layout: page +title: "PerlからRubyへ" +lang: ja +--- + +Perlはすばらしい言語です。ドキュメントもすばらしいし、Perlコミュニティもすばらしいコミュニティです。 +しかし、言語はかなり大きく、間違いなく複雑です。 +もっとシンプルで直交的な言語や、最初から洗練されたオブジェクト指向の機能が組み込まれた言語を求めているPerl使いにとって、 +Rubyは答えになるかもしれません。 + +### Perlとの類似 + +Perlと同様に、Rubyは… + +* CPANのような、[RubyGems][1]という名前のパッケージ管理システムがあります。 +* 正規表現エンジンが組み込まれています。 +* たくさんの便利な組み込みライブラリがあります。 +* 括弧はしばしば省略されます。 +* 文字列は基本的に同じように使えます。 +* 一般的な区切り文字や正規表現構文はPerlと同様です。 + `%q{this}`(一重引用符)や`%Q{this}`(二重引用符)、 + `%w{this for a single-quoted list of words}`のようになります。 + 区切り文字は、望むなら`%Q|can|` `%Q(use)` `%Q^other^`のようにもできます。 +* 二重引用符の文字列中に、`"looks #{like} this"` のような形で式展開すること + ができます(`#{}`の中に任意のRubyコードを置くことができます)。 +* シェルコマンドを実行するには`` `backticks` ``のようにします。 +* rdocという組み込みのドキュメントツールがあります。 + +### Perlとの違い + +Perlと違って、Rubyは… + +* Perlのようなコンテキスト依存のルールはありません。 +* 変数はオブジェクトそのものではありません。常にオブジェクトへの参照です。 +* 変数名の最初の1文字に`$`や`@`などが使われることがあります。 + これらは型ではなく、スコープを示します + (`$`はグローバル変数、`@`はインスタンス変数、`@@`はクラス変数 + であることを示します)。 +* 配列リテラルは括弧ではなく角括弧を使います。 +* リストの中にリストを入れると、それはフラットな一つのリスト + になるわけでなありません。代わりに配列の配列が得られます。 +* `sub`の代わりに`def`を使います。 +* 行の終わりにセミコロンは必要ありません。 + 関数定義やクラス定義、case文の終わりを示すには、 + `end`キーワードを使います。 +* オブジェクトは強く型付けされています。 + 他の型に変換するには、`foo.to_i`や`foo.to_s`などの変換メソッドを + 呼び出す必要があります。 +* `eq`、`ne`、`lt`、`gt`、`ge`、`le`はありません。 +* ダイアモンド演算子(`<>`)はありません。 + `IO.some_method`を代わりに使います。 +* `=>`はハッシュリテラルにだけ使われます。 +* `undef`はありません。Rubyには`nil`があります。 + `nil`は(Rubyにおける他の値と同様に)オブジェクトで、 + 未定義の変数とは異なります。 + 真偽値のように扱った場合、`nil`は`false`と評価されます。 +* 真か偽かの判定では、`false`と`nil`のみが偽と評価されます。 + それ以外の値(`0`、`0.0`、`"0"`など)はすべて真と評価されます。 +* [PerlMonks][2]はありませんが、ruby-listメーリングリストなどの質問場所があります。 + +[1]: http://guides.rubygems.org +[2]: http://www.perlmonks.org/ diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-php/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-php/index.md new file mode 100644 index 0000000000..58f7507ba9 --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-php/index.md @@ -0,0 +1,43 @@ +--- +layout: page +title: "PHPからRubyへ" +lang: ja +--- + +PHPはWebアプリケーションを作る道具として普及しています。 +けれど、もしあなたがRuby on Railsに興味をもったのなら、 +あるいは一般的な作業をさせるのに適した言語を求めているなら、Rubyは一見の価値があります。 + +### PHPとの類似 + +PHPと同様に、Rubyは... + +* 動的に型付けされます。変数の宣言について心配することはありません。 +* クラスがあります。PHP5のように `public`、`protected`、`private`によるアクセス制御が可能です。 +* いくつかの変数は`$`から始まります(すべてではありませんが)。 +* `eval`もあります。 +* 式展開を使えます。`"$foo is a $bar"`とする代わりに`"#{foo} is a #{bar}"`と書きます。 + シングルクォーテーションで括った時には、これは有効になりません。 +* ヒアドキュメントがあります。 +* PHP5と同様に、例外機構があります。 +* かなり膨大な標準ライブラリがあります。 +* `array()`を`{`と`}`に変えれば、配列とハッシュは期待するように動きます。 + `array('a' => 'b')`は`{'a' => 'b'}`とします。 +* `true`と`false`はPHPと同じように振る舞います。ただし、`null`は`nil`になります。 + +### PHPとの違い + +PHPと違って、Rubyは... + +* 強い型付けがあります。文字列や数値などを互いに変換するためには、言語に任せるのではなく + `to_s`、`to_i`などのメソッドを明示的に呼ぶ必要があります。 +* 文字列、数、配列、ハッシュなどはオブジェクトです。`abs(-1)`を呼び出す代わりに`-1.abs`とします。 +* パラメータを渡していることを明確にする場合を除いて、メソッド呼び出しの括弧は基本的にオプションです。 +* 標準ライブラリや拡張は、モジュールやクラスを使って構造化されています。アンダースコアなどによる名前付けを使った構造化は行いません。 +* リフレクション機能はオブジェクトごとに備わっています。PHP5のように`Reflection`クラスを使う必要はありません。 +* 変数は参照です。 +* 抽象クラス(`abstract`)や`interface`はありません。 +* ハッシュと配列には互換性はありません。 +* `false`と`nil`のみが偽になります。`0`や`array()`、`””`はすべて真と評価されます。 +* ほとんどすべてのことは、メソッド呼び出しです。`raise`(PHPにおける`throw`)ですら、メソッド呼び出しです。 + diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-python/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-python/index.md new file mode 100644 index 0000000000..f8815af5fd --- /dev/null +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-python/index.md @@ -0,0 +1,77 @@ +--- +layout: page +title: "PythonからRubyへ" +lang: ja +--- + +Pythonは、Rubyと同様、とてもよくできた汎用的なプログラミング言語です。 +PythonからRubyへやってきたなら、Pythonよりもほんの少しだけ構文が多いことに気づくでしょう。 + +### Pythonとの類似 + +Pythonと同様に、Rubyは... + +* `irb`と呼ばれる対話型の実行環境があります。 +* コマンドライン上でドキュメントを読めます + (`pydoc`の代わりに`ri`コマンドを使います)。 +* 通常の改行を除いて、特殊な行区切りはありません。 +* Pythonにおける三重引用符のように、文字列リテラルを複数行に記述できます。 +* 角かっこはリストを示すために使われ、 + 波かっこは辞書(Rubyではハッシュと呼ばれます)を表すために使われます。 +* 配列は同じように機能します( + 要素を追加すれば配列は大きくなっていきます。 + `a3 = [ a1, a2 ]`のように書けば配列の配列を作って、 + それらを構造化することもできます)。 +* オブジェクトは強力で動的な型付けを持ちます。 +* すべてはオブジェクトです。そして、変数はオブジェクトへのただの参照です。 + キーワードは若干の違いがありますが、だいたい同じように機能します。 +* rdocという埋め込み型のドキュメントツールがあります。 +* 第一級関数、無名関数、クロージャといった関数型プログラミングを行うための + 道具立てもそろっています。 + +### Pythonとの違い + +Pythonと違って、Rubyは... + +* 文字列は可変です。 +* 定数(値が変更されることを期待しない変数)をつくれます。 +* 名前付けについての規約がいくつかあります。 + たとえば、クラス名は大文字から始め、変数名は小文字で始めます。 +* リストコンテナは、配列しかありません。配列は可変です。 +* 二重引用符で囲まれた文字列は、エスケープシーケンス(`\t`など)や、 + 式展開(いちいち`+`で文字列連結すること無しに、 + Rubyの式を評価した結果を他の文字列に挿入可能にするしくみ)を解釈します。 + 一重引用符で囲まれた文字列は、Pythonでいうraw文字列と同じ扱いとなります。 +* クラスに新しいスタイル・古いスタイルといったものはありません + (Python3からはこの問題はなくなりました。けれど、Python2との完全な後方互換性はありません)。 +* 属性には直接アクセスできません。 + Rubyでは、属性へのアクセスはすべてメソッド経由になります。 +* メソッド呼び出しの括弧は基本的にオプションです。 +* Pythonでアンダースコアの数によって実現しているアクセス制御は、 + `public`、`private`、`protected`を使って行います。 +* 多重継承の代わりにMix-inを使います。 +* 組み込みクラスにメソッドを追加したり、書き換えたりできます。 + どちらの言語でも任意の時点でクラスを開いたり編集できますが、 + Pythonでは組み込みクラスに対してはそれは許可されていないのに対し、 + Rubyではその制限はありません。 +* `True`と`False`は、`true`と`false`になります。 + また、`None`の代わりは`nil`になります。 +* 真か偽かの判定では、`false`と`nil`のみが偽と評価されます。 + それ以外の値(`0`、`0.0`、`""`、`[]`など)はすべて真と評価されます。 +* `elif`の代わりに`elsif`を使います。 +* `import`の代わりに`require`を使います。それ以外の使い方は同じです。 +* (docstring の代わりに)クラスやメソッドの*直前*に書かれた複数行のコメントは、 + ドキュメント生成に使われます。 +* たくさんの省略記法があります。けれど、すぐに手になじむはずです。 + それらはRubyをより楽しく生産的に使えるようにするために用意されています。 +* 一度定義した変数を、(Pythonでいう`del`のように)未定義にする方法はありません。 + 変数を`nil`で設定すれば、変数に入っていた値をGCできるようにはできますが、 + スコープが存在する限り変数自体はシンボルテーブルに残り続けます。 +* `yield`キーワードの振る舞いは異なります。 + Pythonでは、関数呼び出しの外側のスコープへ実行結果を返します。 + そのため、外側のコードは処理の再開について責任を負います。 + Rubyでは、`yield`は最後の引数として渡された別の関数が実行されます。 + そして、実行が完了すると処理を再開します。 +* Pythonがサポートしている無名関数はラムダ式のみですが、 + Rubyはブロック、Procオブジェクト、ラムダ式といった種類の無名関数があります。 + From ba8829393cde0d21ad9882358ba55db817bcdcf5 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 09:13:45 +0200 Subject: [PATCH 0161/3394] Simplify links on ruby-from-other-languages page (ja) --- ja/documentation/ruby-from-other-languages/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ja/documentation/ruby-from-other-languages/index.md b/ja/documentation/ruby-from-other-languages/index.md index de5b49a4d0..d58ad791fd 100644 --- a/ja/documentation/ruby-from-other-languages/index.md +++ b/ja/documentation/ruby-from-other-languages/index.md @@ -19,11 +19,11 @@ Rubyを学ぶのはおそらくどうってことないはずです。 ## 求められていること: *言語X*からRubyへ -* [C・C++からRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/) -* [JavaからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-java/) -* [PerlからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/) -* [PHPからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-php/) -* [PythonからRubyへ](/ja/documentation/ruby-from-other-languages/to-ruby-from-python/) +* [C・C++からRubyへ](to-ruby-from-c-and-cpp/) +* [JavaからRubyへ](to-ruby-from-java/) +* [PerlからRubyへ](to-ruby-from-perl/) +* [PHPからRubyへ](to-ruby-from-php/) +* [PythonからRubyへ](to-ruby-from-python/) ## 重要な言語機能と知っておくべきこと From 8ea567508c3fa87f767367104864d80afcaca913 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 09:14:18 +0200 Subject: [PATCH 0162/3394] Small fixes (ja) --- ja/documentation/ruby-from-other-languages/index.md | 3 ++- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 ++ .../ruby-from-other-languages/to-ruby-from-perl/index.md | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ja/documentation/ruby-from-other-languages/index.md b/ja/documentation/ruby-from-other-languages/index.md index d58ad791fd..593347e0ae 100644 --- a/ja/documentation/ruby-from-other-languages/index.md +++ b/ja/documentation/ruby-from-other-languages/index.md @@ -146,7 +146,7 @@ end ### キーワード引数 -メソッドはRuby2.0から、Pythonのように、 +メソッドはRuby 2.0から、Pythonのように、 キーワード引数を定義できるようになりました。 {% highlight ruby %} @@ -438,4 +438,5 @@ Rubyについてもっと知りたくなったのなら、 その他のコンテンツを見てみてください。 + [faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 38503724a5..aa32c350d1 100644 --- a/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -46,6 +46,8 @@ Javaと違って、Rubyは... * `==`と`equals()`の扱いが異なります。等価かどうかを評価したい時(Javaで`equals()`を使うケース)は`==`を使います。 二つのオブジェクトが同一かどうかを確認したい時(Javaで`==`を使うケース)は`equal?()`を使います。 + + [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ [3]: http://ruby-gnome2.osdn.jp/ diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md index 89c68cd0d1..2e4b680f78 100644 --- a/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md @@ -59,5 +59,7 @@ Perlと違って、Rubyは… それ以外の値(`0`、`0.0`、`"0"`など)はすべて真と評価されます。 * [PerlMonks][2]はありませんが、ruby-listメーリングリストなどの質問場所があります。 + + [1]: http://guides.rubygems.org [2]: http://www.perlmonks.org/ From 4bb92207bbbff21215d305ebe4e18e62fdd43936 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 09:20:57 +0200 Subject: [PATCH 0163/3394] Update link to the Ruby-GNOME2 site --- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- .../ruby-from-other-languages/to-ruby-from-java/index.md | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/bg/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 5fd747baba..faa9954717 100644 --- a/bg/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/bg/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -46,5 +46,5 @@ lang: bg [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/de/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/de/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 29b7bdd7a6..98428ffdd3 100644 --- a/de/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/de/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -62,5 +62,5 @@ Anders als in Java… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/en/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/en/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 2e90395c41..eb4dc12ff5 100644 --- a/en/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/en/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -56,5 +56,5 @@ Unlike Java, in Ruby,... [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/es/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/es/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index fd71a6939f..890a34251d 100644 --- a/es/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/es/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -58,5 +58,5 @@ A diferencia de Java, en Ruby… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/fr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/fr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 6de4d8a94b..a2183c437c 100644 --- a/fr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/fr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -61,5 +61,5 @@ Contrairement à Java, en Ruby… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/id/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/id/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 1c7b6970c1..efb55eb21b 100644 --- a/id/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/id/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -118,7 +118,7 @@ ini semakin berkembang dari hari ke hari. [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ [5]: http://jruby.codehaus.org/ [6]: http://www.thoughtworks.com/ diff --git a/it/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/it/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index e1399761dd..65e6fc911c 100644 --- a/it/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/it/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -61,5 +61,5 @@ A differenza di Java, in Ruby… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index aa32c350d1..9bde7833a3 100644 --- a/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -50,5 +50,5 @@ Javaと違って、Rubyは... [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.osdn.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/ko/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ko/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 60475d0826..6dbd57e7f6 100644 --- a/ko/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/ko/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -52,5 +52,5 @@ lang: ko [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/pl/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/pl/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 2a1a437cf0..8972365748 100644 --- a/pl/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/pl/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -59,5 +59,5 @@ W przeciwieństwie do Javy, w Rubim… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/pt/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/pt/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index d539415568..caf923f308 100644 --- a/pt/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/pt/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -54,5 +54,5 @@ Ao contrário de Java, em Ruby… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 33ce70543f..61300703a8 100644 --- a/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -49,5 +49,5 @@ Java - это энтерпрайзно. Проверено. И быстро (н [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/tr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/tr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index b8b47c9682..d30e53c393 100644 --- a/tr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/tr/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -59,5 +59,5 @@ Ruby’de Java’dan farklı olarak,... [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/vi/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/vi/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 88423f3637..febe79fd02 100644 --- a/vi/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/vi/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -56,5 +56,5 @@ Khác với Java, trong Ruby,... [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 636826b9c1..562535f4ad 100644 --- a/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -40,5 +40,5 @@ Ruby 与 Java 不同的地方…… [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ diff --git a/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-java/index.md index 38b8a73e9b..8e1edc48f4 100644 --- a/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-java/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-java/index.md @@ -45,5 +45,5 @@ Ruby與Java不同的地方,... [1]: http://wxruby.rubyforge.org/wiki/wiki.pl [2]: http://www.fxruby.org/ -[3]: http://ruby-gnome2.sourceforge.jp/ +[3]: https://ruby-gnome2.osdn.jp/ [4]: https://github.com/ryanmelt/qtbindings/ From 5ddfdf32da09c8d71544ff865980b083d3524509 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Wed, 4 May 2016 16:07:41 +0700 Subject: [PATCH 0164/3394] Update libraries page (id) --- id/libraries/index.md | 88 ++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/id/libraries/index.md b/id/libraries/index.md index a7e17129c3..88e88ca82d 100644 --- a/id/libraries/index.md +++ b/id/libraries/index.md @@ -1,58 +1,62 @@ --- layout: page -title: "Library" +title: "Pustaka" lang: id --- Seperti bahasa pemrograman lain, Ruby memanfaatkan serangkaian luas -library pihak ketiga. +pustaka pihak ketiga. {: .summary} -Sebagian besar dari library tersebut dirilis dalam bentuk **gem**. -[**RubyGems**][1] adalah sistem packaging Ruby dirancang untuk -memfasilitasi penciptaan, berbagi dan instalasi library (dalam beberapa -hal, itu adalah sistem distribusi packaging yang mirip dengan, katakanlah, -`apt-get`, tetapi ditargetkan pada software Ruby). Sejak versi 1.9, Ruby -dilengkapi dengan RubyGems secara default, sementara pada versi sebelumnya -kita perlu [menginstalnya sendiri][2]. +Sebagian besar dari pustaka tersebut dirilis dalam bentuk **gem**. [**RubyGems**][1] adalah +sistem *packaging* Ruby yang dirancang untuk memfasilitasi penciptaan, berbagi dan +pemasangan pustaka (dalam beberapa hal, itu adalah sistem distribusi *packaging* +yang mirip dengan, katakanlah, `apt-get`, tetapi ditargetkan pada aplikasi Ruby). +Sejak versi 1.9, Ruby dilengkapi dengan RubyGems secara *default*, sementara pada versi +sebelumnya kita perlu [memasangnya sendiri][2]. -Beberapa library lain dirilis sebagai arsip (.zip atau .tar.gz) -direktori dari **kode**. Proses instalasi dapat bervariasi, -biasanya file `README` atau `INSTALL` menyediakan instruksi. +Beberapa pustaka lain dirilis sebagai arsip (.zip atau .tar.gz) +direktori dari **kode sumber**. Proses instalasi dapat bervariasi, +biasanya berkas `README` atau `INSTALL` menyediakan instruksi. -Mari kita lihat cara menemukan library dan menginstalnya +Mari kita lihat cara menemukan pustaka dan memasangnya untuk penggunaan Anda sendiri. -### Menemukan Library +### Menemukan pustaka -[**RubyGems.org**][1] adalah tempat utama dimana library dihost, menyediakan -library Ruby sebagai gem. Anda dapat browse situs webnya langsung, atau +[**RubyGems.org**][1] adalah tempat utama dimana pustaka di-*host*, +menyediakan pustaka Ruby sebagai gem. Anda dapat menelusuri langsung situs tersebut, atau menggunakan perintah `gem`. Dengan menggunakan `gem search -r`, Anda dapat memeriksa repositori RubyGems. Misalnya, `gem search -r rails` akan mengembalikan daftar gem yang terkait dengan Rails. Dengan pilihan `--local` (`-l`), Anda akan melakukan pencarian lokal -melalui gem yang Anda instal. Untuk menginstal gem, gunakan `gem install -[gem]`. Browsing gem yang telah diinstal dilakukan dengan `gem list`. Untuk informasi -lebih jelas tentang perintah `gem`, lihat di bawah atau kunjungi [dokumentasi RubyGems][3]. +melalui gem yang Anda pasang. Untuk memasang gem, gunakan `gem install +[gem]`. Menelusuri gem yang telah dipasang dilakukan dengan `gem list`. Untuk informasi +lebih jelas tentang perintah `gem`, lihat di bawah atau kunjungi [dokumentasi +RubyGems][3]. -Ada sumber lain untuk library juga. [RubyForge][4] dulu populer sebagai -tempat sumber library Ruby, tapi beberapa tahun terakhir [**GitHub**][5] bangkit +Ada sumber lain dari pustaka. [RubyForge][4] dulu populer sebagai +tempat sumber pustaka Ruby, tapi beberapa tahun terakhir [**GitHub**][5] bangkit sebagai salah satu repositori utama untuk konten terkait dengan Ruby. Biasanya, -kode gem di-host di GitHub, dan dipublikasikan sebagai gem lengkap di RubyGems.org. +kode sumber gem akan di-*host* di GitHub, dan dipublikasikan +sebagai gem lengkap di RubyGems.org. -[Ruby Application Archive][6] (RAA) adalah direktori segala macam software Ruby -yang dikategorikan berdasarkan fungsi, tetapi tidak banyak digunakan lagi. -Anda mungkin tidak perlu pergi ke sana. +[**Ruby Toolbox**][6] adalah sebuah proyek yang memudahkan penelusuran proyek *open +source* Ruby. Ruby Toolbox memiliki kategori untuk berbagai tugas pengembangan, pengumpulan +banyak informasi tentang proyek seperti rilis dan aktivitas *commit* atau *dependency*, +dan penilaian proyek berdasarkan popularitasnya di RubyGems.org dan GitHub. +Pencarian memudahkan untuk menemukan apa yang sedang Anda cari. -### Beberapa Kata tentang RubyGems +### Beberapa kata tentang RubyGems Berikut ini tinjauan singkat dari perintah `gem` untuk penggunaan sehari-hari Anda. -[Dokumentasi lebih rinci][7] tersedia, dan mencakup semua aspek sistem packaging ini. +[Dokumentasi lebih rinci][7] tersedia, dan mencakup semua aspek +sistem *packaging* ini. #### Mencari di antara gem yang tersedia -Perintah **search** digunakan untuk mencari gem berdasarkan sebuah string. +Perintah **search** dapat digunakan untuk mencari gem berdasarkan sebuah string. Gem yang namanya mulai dengan string tertentu akan terdaftar sebagai hasil pencarian. Sebagai contoh, untuk mencari gem terkait dengan "html": @@ -64,20 +68,21 @@ $ gem search -r html html-sample (1.0, 1.1) {% endhighlight %} -Flag `--remote` / `-r` menunjukkan bahwa kita ingin memeriksa repositori -resmi RubyGems.org (default). Dengan flag `--local` / `-l` Anda akan -melakukan pencarian lokal pada gem yang telah Anda instal. +Penanda `--remote` / `-r` menunjukkan bahwa kita ingin memeriksa +repositori resmi RubyGems.org (*default*). +Dengan penanda `--local` / `-l` Anda akan melakukan pencarian lokal +pada gem yang telah Anda pasang. -#### Menginstal sebuah gem +#### Memasang sebuah gem -Setelah Anda tahu gem mana yang ingin Anda **install**, misalnya gem +Setelah Anda tahu gem mana yang ingin Anda pasang, misalnya gem Rails yang populer: {% highlight sh %} $ gem install rails {% endhighlight %} -Anda bahkan dapat menginstal library versi tertentu menggunakan flag +Anda bahkan dapat memasang pustaka versi tertentu menggunakan penanda `--version` / `-v`: {% highlight sh %} @@ -86,14 +91,13 @@ $ gem install rails --version 3.0 #### Daftar semua gem -Untuk **list** semua gem yang telah Anda instal: +Untuk **list** semua gem yang telah Anda pasang: {% highlight sh %} $ gem list {% endhighlight %} -Untuk mendapatkan daftar (sangat panjang) dari semua gem yang -tersedia di RubyGems.org: +Untuk mendapatkan daftar (sangat panjang) dari semua gem yang tersedia di RubyGems.org: {% highlight sh %} $ gem list -r @@ -107,14 +111,14 @@ Dokumentasi tersedia pada terminal Anda: $ gem help {% endhighlight %} -Contohnya, `gem help commands` sangat berguna karena mengeluarkan -daftar semua perintah `gem`. +Contohnya, `gem help commands` sangat berguna karena mengeluarkan daftar dari +semua perintah `gem`. #### Membuat gem Anda sendiri -RubyGems.org memiliki [beberapa panduan][3] tentang topik ini. Anda juga +RubyGems.org memiliki [beberapa panduan][3] terkait topik ini. Anda juga mungkin ingin untuk melihat [Bundler][9], alat generik yang membantu -Anda mengelola dependensi dan aplikasi dapat digunakan bersama RubyGems. +Anda mengelola *dependency* dan aplikasi dapat digunakan bersama RubyGems. @@ -123,6 +127,6 @@ Anda mengelola dependensi dan aplikasi dapat digunakan bersama RubyGems. [3]: http://guides.rubygems.org/ [4]: http://rubyforge.org/ [5]: https://github.com/ -[6]: http://raa.ruby-lang.org/ +[6]: https://www.ruby-toolbox.com/ [7]: http://guides.rubygems.org/command-reference/ [9]: http://bundler.io/ From ec741b4eb47ec21a30e8ca2c4d96863f52b0a4ce Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 09:40:11 +0200 Subject: [PATCH 0165/3394] Rewrap (id) --- id/libraries/index.md | 66 +++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/id/libraries/index.md b/id/libraries/index.md index 88e88ca82d..b3ecad5a75 100644 --- a/id/libraries/index.md +++ b/id/libraries/index.md @@ -8,12 +8,13 @@ Seperti bahasa pemrograman lain, Ruby memanfaatkan serangkaian luas pustaka pihak ketiga. {: .summary} -Sebagian besar dari pustaka tersebut dirilis dalam bentuk **gem**. [**RubyGems**][1] adalah -sistem *packaging* Ruby yang dirancang untuk memfasilitasi penciptaan, berbagi dan -pemasangan pustaka (dalam beberapa hal, itu adalah sistem distribusi *packaging* -yang mirip dengan, katakanlah, `apt-get`, tetapi ditargetkan pada aplikasi Ruby). -Sejak versi 1.9, Ruby dilengkapi dengan RubyGems secara *default*, sementara pada versi -sebelumnya kita perlu [memasangnya sendiri][2]. +Sebagian besar dari pustaka tersebut dirilis dalam bentuk **gem**. +[**RubyGems**][1] adalah sistem *packaging* Ruby yang dirancang untuk +memfasilitasi penciptaan, berbagi dan pemasangan pustaka (dalam beberapa hal, +itu adalah sistem distribusi *packaging* yang mirip dengan, katakanlah, +`apt-get`, tetapi ditargetkan pada aplikasi Ruby). Sejak versi 1.9, Ruby +dilengkapi dengan RubyGems secara *default*, sementara pada versi sebelumnya +kita perlu [memasangnya sendiri][2]. Beberapa pustaka lain dirilis sebagai arsip (.zip atau .tar.gz) direktori dari **kode sumber**. Proses instalasi dapat bervariasi, @@ -25,39 +26,41 @@ untuk penggunaan Anda sendiri. ### Menemukan pustaka [**RubyGems.org**][1] adalah tempat utama dimana pustaka di-*host*, -menyediakan pustaka Ruby sebagai gem. Anda dapat menelusuri langsung situs tersebut, atau -menggunakan perintah `gem`. +menyediakan pustaka Ruby sebagai gem. Anda dapat menelusuri langsung situs +tersebut, atau menggunakan perintah `gem`. Dengan menggunakan `gem search -r`, Anda dapat memeriksa repositori RubyGems. Misalnya, `gem search -r rails` akan mengembalikan daftar gem yang terkait -dengan Rails. Dengan pilihan `--local` (`-l`), Anda akan melakukan pencarian lokal -melalui gem yang Anda pasang. Untuk memasang gem, gunakan `gem install -[gem]`. Menelusuri gem yang telah dipasang dilakukan dengan `gem list`. Untuk informasi -lebih jelas tentang perintah `gem`, lihat di bawah atau kunjungi [dokumentasi -RubyGems][3]. - -Ada sumber lain dari pustaka. [RubyForge][4] dulu populer sebagai -tempat sumber pustaka Ruby, tapi beberapa tahun terakhir [**GitHub**][5] bangkit -sebagai salah satu repositori utama untuk konten terkait dengan Ruby. Biasanya, -kode sumber gem akan di-*host* di GitHub, dan dipublikasikan -sebagai gem lengkap di RubyGems.org. - -[**Ruby Toolbox**][6] adalah sebuah proyek yang memudahkan penelusuran proyek *open -source* Ruby. Ruby Toolbox memiliki kategori untuk berbagai tugas pengembangan, pengumpulan -banyak informasi tentang proyek seperti rilis dan aktivitas *commit* atau *dependency*, -dan penilaian proyek berdasarkan popularitasnya di RubyGems.org dan GitHub. -Pencarian memudahkan untuk menemukan apa yang sedang Anda cari. +dengan Rails. Dengan pilihan `--local` (`-l`), Anda akan melakukan pencarian +lokal melalui gem yang Anda pasang. Untuk memasang gem, +gunakan `gem install [gem]`. Menelusuri gem yang telah dipasang dilakukan +dengan `gem list`. Untuk informasi lebih jelas tentang perintah `gem`, +lihat di bawah atau kunjungi [dokumentasi RubyGems][3]. + +Ada sumber lain dari pustaka. [RubyForge][4] dulu populer sebagai tempat +sumber pustaka Ruby, tapi beberapa tahun terakhir [**GitHub**][5] bangkit +sebagai salah satu repositori utama untuk konten terkait dengan Ruby. +Biasanya, kode sumber gem akan di-*host* di GitHub, dan dipublikasikan sebagai +gem lengkap di RubyGems.org. + +[**Ruby Toolbox**][6] adalah sebuah proyek yang memudahkan penelusuran proyek +*open source* Ruby. Ruby Toolbox memiliki kategori untuk berbagai tugas +pengembangan, pengumpulan banyak informasi tentang proyek seperti rilis dan +aktivitas *commit* atau *dependency*, dan penilaian proyek berdasarkan +popularitasnya di RubyGems.org dan GitHub. Pencarian memudahkan untuk +menemukan apa yang sedang Anda cari. ### Beberapa kata tentang RubyGems -Berikut ini tinjauan singkat dari perintah `gem` untuk penggunaan sehari-hari Anda. -[Dokumentasi lebih rinci][7] tersedia, dan mencakup semua aspek -sistem *packaging* ini. +Berikut ini tinjauan singkat dari perintah `gem` untuk penggunaan sehari-hari +Anda. [Dokumentasi lebih rinci][7] tersedia, dan mencakup semua aspek sistem +*packaging* ini. #### Mencari di antara gem yang tersedia -Perintah **search** dapat digunakan untuk mencari gem berdasarkan sebuah string. -Gem yang namanya mulai dengan string tertentu akan terdaftar sebagai hasil pencarian. +Perintah **search** dapat digunakan untuk mencari gem berdasarkan sebuah +string. Gem yang namanya mulai dengan string tertentu akan terdaftar sebagai +hasil pencarian. Sebagai contoh, untuk mencari gem terkait dengan "html": {% highlight sh %} @@ -97,7 +100,8 @@ Untuk **list** semua gem yang telah Anda pasang: $ gem list {% endhighlight %} -Untuk mendapatkan daftar (sangat panjang) dari semua gem yang tersedia di RubyGems.org: +Untuk mendapatkan daftar (sangat panjang) dari semua gem yang tersedia di +RubyGems.org: {% highlight sh %} $ gem list -r From 9cc79bb94ebf5d62c84a365519ea607da3a86064 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 09:40:17 +0200 Subject: [PATCH 0166/3394] Rewrap (en) --- en/libraries/index.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/en/libraries/index.md b/en/libraries/index.md index 1d711425cc..91ae2b2271 100644 --- a/en/libraries/index.md +++ b/en/libraries/index.md @@ -30,29 +30,30 @@ the `gem` command. Using `gem search -r`, you can inspect RubyGems' repository. For instance, `gem search -r rails` will return a list of Rails-related -gems. With the `--local` (`-l`) option, you would perform a local -search through your installed gems. To install a gem, use `gem install -[gem]`. Browsing installed gems is done with `gem list`. For more -information about the `gem` command, see below or head to [RubyGems’ -docs][3]. +gems. With the `--local` (`-l`) option, you would perform a local search +through your installed gems. To install a gem, use `gem install [gem]`. +Browsing installed gems is done with `gem list`. For more +information about the `gem` command, see below or head to +[RubyGems’ docs][3]. There are other sources of libraries though. [RubyForge][4] used to be a popular home for Ruby libraries, but last years saw the rise of -[**GitHub**][5] as one of the main ruby-related content repository. Most -often a gem source code will be hosted on GitHub while being published -as a fully-fledged gem to RubyGems.org. +[**GitHub**][5] as one of the main ruby-related content repository. +Most often a gem source code will be hosted on GitHub while being +published as a fully-fledged gem to RubyGems.org. -[**The Ruby Toolbox**][6] is a project that makes it easy to explore open source -Ruby projects. It has categories for various common development tasks, collects -a lot of information about the projects like release and commit activity or dependencies, -and rates projects based on their popularity on RubyGems.org and GitHub. -The search makes it easy to find what you are looking for. +[**The Ruby Toolbox**][6] is a project that makes it easy to explore open +source Ruby projects. It has categories for various common development tasks, +collects a lot of information about the projects like release and commit +activity or dependencies, and rates projects based on their popularity on +RubyGems.org and GitHub. The search makes it easy to find what you are +looking for. ### A few more words about RubyGems -Here is a quick review of the `gem` command for your daily use. [More -detailed documentation][7] is available, covering all aspects of this -packaging system. +Here is a quick review of the `gem` command for your daily use. +[More detailed documentation][7] is available, covering all aspects +of this packaging system. #### Searching among available gems From c6a64727c63ac2c541f726dc865840835128021b Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 14:51:48 +0200 Subject: [PATCH 0167/3394] Remove ruby-forum link from mailing lists page (en) ruby-talk is not mirrored by the forum anymore. --- en/community/mailing-lists/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/en/community/mailing-lists/index.md b/en/community/mailing-lists/index.md index 6153b295ae..e5c45623fb 100644 --- a/en/community/mailing-lists/index.md +++ b/en/community/mailing-lists/index.md @@ -12,8 +12,7 @@ Ruby has four primary English speaking mailing lists: Ruby-Talk : This is the most popular mailing-list and deals with general topics - about Ruby. Ruby-Talk is mirrored by [Ruby-Forum.com][1]. - ([FAQ][2] and [Archives][3]) + about Ruby. ([FAQ][2] and [Archives][3]) Ruby-Core : This list deals with core and implementation topics about Ruby, often @@ -40,7 +39,6 @@ subscribing the [manual way](manual-instructions/). -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml From b3d85f62376e21bc73525ef90039e2b3c6b68b7c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 14:52:35 +0200 Subject: [PATCH 0168/3394] Remove ruby-forum link from mailing lists page (translations) --- bg/community/mailing-lists/index.md | 2 -- de/community/mailing-lists/index.md | 4 +--- es/community/mailing-lists/index.md | 5 +---- fr/community/mailing-lists/index.md | 6 +----- id/community/mailing-lists/index.md | 5 +---- it/community/mailing-lists/index.md | 5 +---- ko/community/mailing-lists/index.md | 4 +--- pl/community/mailing-lists/index.md | 6 +----- pt/community/mailing-lists/index.md | 4 +--- ru/community/mailing-lists/index.md | 4 +--- vi/community/mailing-lists/index.md | 5 ++--- zh_cn/community/mailing-lists/index.md | 3 +-- 12 files changed, 12 insertions(+), 41 deletions(-) diff --git a/bg/community/mailing-lists/index.md b/bg/community/mailing-lists/index.md index 7fb4a65dd2..c10430e306 100644 --- a/bg/community/mailing-lists/index.md +++ b/bg/community/mailing-lists/index.md @@ -12,7 +12,6 @@ Ruby има четири основни пощенски списъка на а Ruby-Talk : Това е най-популярният пощенски списък, който се занимава с всякакви теми. - Ruby-Talk има огледална версия на [Ruby-Forum.com][1]. ([Често задавани въпроси][2] и [Архив][3]) Ruby-Core @@ -40,7 +39,6 @@ comp.lang.ruby дискусионна група. -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/de/community/mailing-lists/index.md b/de/community/mailing-lists/index.md index 534385e8ab..5e80caacb0 100644 --- a/de/community/mailing-lists/index.md +++ b/de/community/mailing-lists/index.md @@ -12,8 +12,7 @@ Ruby hat vier vorrangige englischsprachige Mailinglisten: Ruby-Talk : Dies ist die höchstfrequentierte Liste. Sie behandelt alle allgemeinen - Themen zu Ruby. Ruby-Talk wird im [Ruby-Forum.com][1] gespiegelt. - ([FAQ][2], [Archiv][3]) + Themen zu Ruby. ([FAQ][2], [Archiv][3]) Ruby-Core : Diese Liste behandelt die Core-Entwicklung von Ruby. Sie wird @@ -42,7 +41,6 @@ auch [manuell anmelden](manual-instructions/). -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/es/community/mailing-lists/index.md b/es/community/mailing-lists/index.md index 461e9a8df3..78e82fd6a4 100644 --- a/es/community/mailing-lists/index.md +++ b/es/community/mailing-lists/index.md @@ -11,9 +11,7 @@ pulso a la comunidad Ruby. Ruby tiene cuatro listas de correo principales en inglés: Ruby-Talk -: Esta es la lista más popular y trata temas en general sobre Ruby. Se - mantiene una copia espejada de Ruby-Talk en el grupo de noticias - [comp.lang.ruby](news:comp.lang.ruby) y [Ruby-Forum.com][1]. +: Esta es la lista más popular y trata temas en general sobre Ruby. ([FAQ][3], [Archivos][4]) Ruby-Core @@ -38,7 +36,6 @@ manual](manual-instructions/). -[1]: https://www.ruby-forum.com/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/fr/community/mailing-lists/index.md b/fr/community/mailing-lists/index.md index 044d701309..836daab19f 100644 --- a/fr/community/mailing-lists/index.md +++ b/fr/community/mailing-lists/index.md @@ -13,10 +13,7 @@ Quatre listes principales existent : Ruby-Talk : C’est la plus populaire, elle accueille les discussions généralistes - sur Ruby. Elle possède des miroirs sur le web, le *newsgroup* - [comp.lang.ruby](news:comp.lang.ruby) et le forum - [*Ruby-Forum.com*][1]. - Voir aussi la [FAQ][3], les [archives][4]. + sur Ruby. Voir aussi la [FAQ][3], les [archives][4]. Ruby-Core : Cette liste accueille les sujets relatifs à l’implémentation et au @@ -39,7 +36,6 @@ formulaire, essayez la [méthode manuelle](manual-instructions/). -[1]: https://www.ruby-forum.com/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/id/community/mailing-lists/index.md b/id/community/mailing-lists/index.md index 27dc5c9c21..4ff840fba4 100644 --- a/id/community/mailing-lists/index.md +++ b/id/community/mailing-lists/index.md @@ -21,9 +21,7 @@ id-ruby Ruby juga menyediakan milis berbahasa Inggris dengan komunitas global: Ruby-Talk -: Milis Ruby internasional yang paling terkenal. Ruby-Talk juga tersedia - melalui newsgroup [comp.lang.ruby](news:comp.lang.ruby) dan - [Ruby-Forum.com][8]. ([FAQ][10], [Arsip][11]) +: Milis Ruby internasional yang paling terkenal. ([FAQ][10], [Arsip][11]) Ruby-Core : Mendiskusikan implementasi *interpreter* Ruby, terutama @@ -54,7 +52,6 @@ manual](/id/community/mailing-lists/manual-instructions/). [5]: http://blog.gmane.org/gmane.comp.lang.ruby.region.indonesia [6]: http://rss.gmane.org/gmane.comp.lang.ruby.region.indonesia [7]: http://www.mail-archive.com/id-ruby@yahoogroups.com/ -[8]: https://www.ruby-forum.com/ [10]: http://rubyhacker.com/clrFAQ.html [11]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [12]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/it/community/mailing-lists/index.md b/it/community/mailing-lists/index.md index 1d5d35398a..c4e9b5fbe3 100644 --- a/it/community/mailing-lists/index.md +++ b/it/community/mailing-lists/index.md @@ -12,9 +12,7 @@ Ruby ha quattro liste di discussione principali in Inglese: Ruby-Talk : Questa è la lista di discussione più popolare e tratta di argomenti - generali su Ruby. Ruby-Talk ha anche un mirror nel newsgroup - [comp.lang.ruby](news:comp.lang.ruby) e [Ruby-Forum.com][1]. - ([FAQ][3], [Archivi][4]). + generali su Ruby. ([FAQ][3], [Archivi][4]). Ruby-Core : Questa lista tratta argomenti che riguardano nucleo (“core”) e @@ -38,7 +36,6 @@ manuale](/en/community/mailing-lists/manual-instructions/) (in inglese). -[1]: https://www.ruby-forum.com/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/ko/community/mailing-lists/index.md b/ko/community/mailing-lists/index.md index 4bad36816b..f3b344b1ff 100644 --- a/ko/community/mailing-lists/index.md +++ b/ko/community/mailing-lists/index.md @@ -11,8 +11,7 @@ lang: ko Ruby-Talk : 이 곳은 가장 유명한 메일링 리스트로 루비에 관한 일반적인 주제를 다룹니다. - Ruby-Talk의 미러사이트에는 [Ruby-Forum.com][1]이 있습니다. ([FAQ][2], - [Archives][3]) + ([FAQ][2], [Archives][3]) Ruby-Core : 이 곳은 루비의 코어와 구현에 관한 주제를 다룹니다. 주로 패치의 리뷰에 @@ -38,7 +37,6 @@ comp.lang.ruby 뉴스그룹 -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/pl/community/mailing-lists/index.md b/pl/community/mailing-lists/index.md index bc65a13850..858c487070 100644 --- a/pl/community/mailing-lists/index.md +++ b/pl/community/mailing-lists/index.md @@ -12,10 +12,7 @@ Ruby posiada cztery angielskojęzyczne listy mailingowe i jedną polskojęzyczn Ruby-Talk : Najpopularniejsza lista mailingowa, która zajmuje się ogólnymi - tematami związanymi z językiem Ruby. Ruby-Talk jest kopiowana na grupę - newsową [comp.lang.ruby](news:comp.lang.ruby) oraz forum - [Ruby-Forum.com][1]. ([FAQ][3], - [Archiwa][4]) + tematami związanymi z językiem Ruby. ([FAQ][3], [Archiwa][4]) Ruby-Core : Lista zajmująca się tematami zwązanymi z rdzeniem języka oraz jego @@ -44,7 +41,6 @@ way](/en/community/mailing-lists/manual-instructions/). -[1]: https://www.ruby-forum.com/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/pt/community/mailing-lists/index.md b/pt/community/mailing-lists/index.md index 8d335ba80f..a7296095b4 100644 --- a/pt/community/mailing-lists/index.md +++ b/pt/community/mailing-lists/index.md @@ -12,8 +12,7 @@ O Ruby tem quatro listas de e-mail principais em inglês: Ruby-Talk : Esta é a lista de e-mails mais popular e trata de tópicos gerais sobre - o Ruby. A Ruby-Talk tem um *mirror* em [Ruby-Forum.com][1]. - ([FAQ][2] e [Arquivos][3]) + o Ruby. ([FAQ][2] e [Arquivos][3]) Ruby-Core : Esta lsta trata do núcleo e tópicos da implementação do Ruby. @@ -53,7 +52,6 @@ tente se inscrever [manualmente](manual-instructions/). -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/ru/community/mailing-lists/index.md b/ru/community/mailing-lists/index.md index 802322cac3..70c3bbf781 100644 --- a/ru/community/mailing-lists/index.md +++ b/ru/community/mailing-lists/index.md @@ -12,8 +12,7 @@ lang: ru Ruby-Talk : Это наиболее популярная почтовая рассылка, рассматривая основные - вопросы о Ruby. Ruby-Talk транслируется в [Ruby-Forum.com][1]. ([FAQ][2] - и [Архив][3]) + вопросы о Ruby. ([FAQ][2] и [Архив][3]) Ruby-Core : Эта рассылка для обсуждения ядра и внутреннего устройства Ruby. Часто @@ -40,7 +39,6 @@ Ruby-CVS -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/vi/community/mailing-lists/index.md b/vi/community/mailing-lists/index.md index d4dc0b6236..5b4a8a500d 100644 --- a/vi/community/mailing-lists/index.md +++ b/vi/community/mailing-lists/index.md @@ -10,8 +10,8 @@ Hộp thư chung luôn là nơi tốt nhất để giúp bạn hòa nhịp với Ruby có 4 hộp thư sử dụng tiếng Anh là ngôn ngữ chính sau : Ruby-Talk -: Đây là hộp thư phổ biến nhất với các chủ đề chung về Ruby. Ruby-Talk là một - bản sao của [Ruby-Forum.com][1]. ([Câu hỏi thường gặp][2] và [Lưu trữ][3]) +: Đây là hộp thư phổ biến nhất với các chủ đề chung về Ruby. + ([Câu hỏi thường gặp][2] và [Lưu trữ][3]) Ruby-Core : Danh sách này có rất nhiều chủ đề về Ruby core và cách xử lý, @@ -39,7 +39,6 @@ vui lòng thử lại theo cách [thủ công](manual-instructions/). -[1]: https://www.ruby-forum.com/ [2]: http://rubyhacker.com/clrFAQ.html [3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml diff --git a/zh_cn/community/mailing-lists/index.md b/zh_cn/community/mailing-lists/index.md index 192f8c94a2..68a5ce13b7 100644 --- a/zh_cn/community/mailing-lists/index.md +++ b/zh_cn/community/mailing-lists/index.md @@ -10,7 +10,7 @@ lang: zh_cn Ruby 最主要的四个使用英文语言交流的邮件列表: Ruby-Talk -: 这是处理一般 Ruby 话题最流行的邮件列表。[Ruby-Forum.com][1] 是 Ruby-Talk 的镜像。([FAQ][3],[存档][4]) +: 这是处理一般 Ruby 话题最流行的邮件列表。([FAQ][3],[存档][4]) Ruby-Core : 该列表处理和 Ruby 相关的核心和重点专题,经常被用于补丁审核。([存档][5]) @@ -32,7 +32,6 @@ comp.lang.ruby新闻组 -[1]: https://www.ruby-forum.com/ [3]: http://rubyhacker.com/clrFAQ.html [4]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml [5]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml From 91a44ded583f7ada309b7372825592dee335d1fb Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 6 May 2016 14:52:55 +0200 Subject: [PATCH 0169/3394] Remove wrong link for ruby-talk (bg) --- .../ruby-from-other-languages/to-ruby-from-perl/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md b/bg/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md index 0b23dbc653..2bf6a4e905 100644 --- a/bg/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md +++ b/bg/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md @@ -49,11 +49,9 @@ Perl е чудесен език, с богата документация и п всичко друго в Ruby) и няма значение на недефинирана променлива. * Когато тестваме за истинност, само `false` и `nil` представляват лъжа. Всичко друго е истина (включително `0`, `0.0`, `""` и `[]`). -* Липсва [PerlMonks][2]. Вместо това имаме [ruby-talk][3] пощенски - списък. +* Липсва [PerlMonks][2]. Вместо това имаме ruby-talk пощенски списък. [1]: http://guides.rubygems.org [2]: http://www.perlmonks.org/ -[3]: http://www.ruby-forum.com/ From c47ea59c916d3dca4a2dc1ee39b5e97e0dab73d7 Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Sat, 7 May 2016 15:22:02 +0900 Subject: [PATCH 0170/3394] Revise contents of 'Explores' on sidebar (ja) --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_config.yml b/_config.yml index c6f26d71b6..844579b61b 100644 --- a/_config.yml +++ b/_config.yml @@ -1161,6 +1161,9 @@ locales: # books: # text: Books # <<: *books + rubybib: + text: 学術研究(英語) + <<: *rubybib libraries: text: ライブラリ url: /ja/libraries/ From 5c39c1d2fcf3de9749616ec1be5092bb2901b69f Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Sat, 7 May 2016 15:00:57 +0900 Subject: [PATCH 0171/3394] Revise list of not overloadable operators (#1382) `!`, `!=`, and `!~` are overloadable since 1.9.1 --- bg/documentation/ruby-from-other-languages/index.md | 2 +- de/documentation/ruby-from-other-languages/index.md | 2 +- en/documentation/ruby-from-other-languages/index.md | 2 +- es/documentation/ruby-from-other-languages/index.md | 2 +- fr/documentation/ruby-from-other-languages/index.md | 2 +- id/documentation/ruby-from-other-languages/index.md | 2 +- it/documentation/ruby-from-other-languages/index.md | 2 +- ja/documentation/ruby-from-other-languages/index.md | 2 +- ko/documentation/ruby-from-other-languages/index.md | 2 +- pl/documentation/ruby-from-other-languages/index.md | 2 +- pt/documentation/ruby-from-other-languages/index.md | 2 +- ru/documentation/ruby-from-other-languages/index.md | 2 +- tr/documentation/ruby-from-other-languages/index.md | 2 +- vi/documentation/ruby-from-other-languages/index.md | 2 +- zh_cn/documentation/ruby-from-other-languages/index.md | 2 +- zh_tw/documentation/ruby-from-other-languages/index.md | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index 7132adfede..8e69cc515f 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -312,7 +312,7 @@ end Оператоите, които следват не са методи и поради това не могат да бъдат предефинирани: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} В допълнение `+=`, `*=` и т.н са съкращения за `var = var + other_var`, diff --git a/de/documentation/ruby-from-other-languages/index.md b/de/documentation/ruby-from-other-languages/index.md index 4d5cac1aa8..a7809b46e9 100644 --- a/de/documentation/ruby-from-other-languages/index.md +++ b/de/documentation/ruby-from-other-languages/index.md @@ -440,7 +440,7 @@ Die folgenden Operatoren sind *kein* syntaktischer Zucker. Sie sind keine Methoden, und können nicht umdefiniert werden: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Zudem sind `+=`, `*=`, usw. nur Abkürzungen für `foo = foo + bar`, diff --git a/en/documentation/ruby-from-other-languages/index.md b/en/documentation/ruby-from-other-languages/index.md index 339fd034c7..10c144185c 100644 --- a/en/documentation/ruby-from-other-languages/index.md +++ b/en/documentation/ruby-from-other-languages/index.md @@ -410,7 +410,7 @@ To define the unary + and - (think +1 and -2), you must define the `+@` and though. They are not methods, and cannot be redefined: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} In addition, `+=`, `*=` etc. are just abbreviations for `var = var + other_var`, diff --git a/es/documentation/ruby-from-other-languages/index.md b/es/documentation/ruby-from-other-languages/index.md index ad8d36789e..c71b780e8c 100644 --- a/es/documentation/ruby-from-other-languages/index.md +++ b/es/documentation/ruby-from-other-languages/index.md @@ -431,7 +431,7 @@ Sin embargo, los siguientes operadores **no** son simplificaciones sintácticas. No son métodos, y no pueden ser redefinidos: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Además, `+=`, `*=` etc. sólo son abreviaciones para `var = var + otra_var`, diff --git a/fr/documentation/ruby-from-other-languages/index.md b/fr/documentation/ruby-from-other-languages/index.md index 638bf8cde5..43a23a5577 100644 --- a/fr/documentation/ruby-from-other-languages/index.md +++ b/fr/documentation/ruby-from-other-languages/index.md @@ -433,7 +433,7 @@ Les opérateurs ci-dessous ne sont pas des méthodes, et ne peuvent pas être modifiés : {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Par ailleurs, `+=`, `*=`, etc. ne sont que des raccourcis pour diff --git a/id/documentation/ruby-from-other-languages/index.md b/id/documentation/ruby-from-other-languages/index.md index ef9523f01b..c852546df1 100644 --- a/id/documentation/ruby-from-other-languages/index.md +++ b/id/documentation/ruby-from-other-languages/index.md @@ -459,7 +459,7 @@ Operator-operator dibawah ini bukan metode dan tidak dapat didefinisikan ulang: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Tambahan, `+=`, `*=` dan lain sebagainya hanyalah singkatan untuk diff --git a/it/documentation/ruby-from-other-languages/index.md b/it/documentation/ruby-from-other-languages/index.md index 0b03417431..6bb323b9df 100644 --- a/it/documentation/ruby-from-other-languages/index.md +++ b/it/documentation/ruby-from-other-languages/index.md @@ -432,7 +432,7 @@ I seguenti operatori però **non** sono zucchero sintattico: non sono metodi e non possono essere ridefiniti: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Inoltre, `+=`, `*=` ecc. sono solo abbreviazioni di diff --git a/ja/documentation/ruby-from-other-languages/index.md b/ja/documentation/ruby-from-other-languages/index.md index 593347e0ae..e3901341f9 100644 --- a/ja/documentation/ruby-from-other-languages/index.md +++ b/ja/documentation/ruby-from-other-languages/index.md @@ -425,7 +425,7 @@ C++の`operator+`などは必要ありません。 これらはメソッドではないので、再定義できません。 {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} 加えて`+=`、`*=`などは`var = var + other_var`、`var = var * other_var` diff --git a/ko/documentation/ruby-from-other-languages/index.md b/ko/documentation/ruby-from-other-languages/index.md index e0e81073fa..6420e2fea2 100644 --- a/ko/documentation/ruby-from-other-languages/index.md +++ b/ko/documentation/ruby-from-other-languages/index.md @@ -397,7 +397,7 @@ C++의 `operator+` 같은 건 필요 없습니다. 아니며 재정의할 수 없습니다. {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} 덧붙여, `+=`, `*=` 등등은 `var = var + other_var`, `var = var * other_var` diff --git a/pl/documentation/ruby-from-other-languages/index.md b/pl/documentation/ruby-from-other-languages/index.md index e949eb0d45..15a38c7f35 100644 --- a/pl/documentation/ruby-from-other-languages/index.md +++ b/pl/documentation/ruby-from-other-languages/index.md @@ -410,7 +410,7 @@ odpowiednio metody `+@` i `-@`. Poniższe operatory jednak przedefiniować. {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Dodatkowo, `+=`, `*=` etc. są po prostu skrótami dla `var = var + other_var`, diff --git a/pt/documentation/ruby-from-other-languages/index.md b/pt/documentation/ruby-from-other-languages/index.md index 8618ef963b..8e1ce1ee86 100644 --- a/pt/documentation/ruby-from-other-languages/index.md +++ b/pt/documentation/ruby-from-other-languages/index.md @@ -424,7 +424,7 @@ Os operadores abaixo não são, no entanto, açúcar sintáctico.Não são métodos, e não podem ser redifinidos: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Como `+=`, `*=` etc. são somente abreviações para `var = var + outra_var`, diff --git a/ru/documentation/ruby-from-other-languages/index.md b/ru/documentation/ruby-from-other-languages/index.md index 916877e5c5..9fe5167c68 100644 --- a/ru/documentation/ruby-from-other-languages/index.md +++ b/ru/documentation/ruby-from-other-languages/index.md @@ -400,7 +400,7 @@ end Они не являются методами и не могут быть переопределены: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} В дополнение к этому, `+=`, `*=` и т.д. - это всего лишь сокращения для diff --git a/tr/documentation/ruby-from-other-languages/index.md b/tr/documentation/ruby-from-other-languages/index.md index 8224021e93..fca94ed868 100644 --- a/tr/documentation/ruby-from-other-languages/index.md +++ b/tr/documentation/ruby-from-other-languages/index.md @@ -396,7 +396,7 @@ Aşağıdaki operatörler bu şekilde değerlendirilmezler. Bunlar metod değildir ve tekrar tanımlanamazlar: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Ek olarak, `+=`, `*=` vb. şunların kısaltmasıdır : `var = var + other_var`, diff --git a/vi/documentation/ruby-from-other-languages/index.md b/vi/documentation/ruby-from-other-languages/index.md index e7098a9c8f..4fade110b6 100644 --- a/vi/documentation/ruby-from-other-languages/index.md +++ b/vi/documentation/ruby-from-other-languages/index.md @@ -410,7 +410,7 @@ Các toán tử dưới đây **không** có cú pháp. Nó không phải là c phương thức, và không thể tái định nghĩa: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} Thêm vào đó, `+=`, `*=` v.v. chỉ là cách viết tắt cho `var = var + other_var`, diff --git a/zh_cn/documentation/ruby-from-other-languages/index.md b/zh_cn/documentation/ruby-from-other-languages/index.md index 5544259ab7..6935c97f8a 100644 --- a/zh_cn/documentation/ruby-from-other-languages/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/index.md @@ -333,7 +333,7 @@ end 定义了 `[]` 和 `[]=` 方法后,你甚至拥有了数组风格的访问方法。要想定义一元操作符 + 和 -,你也必须定义相应的 `+@` 和 `-@` 方法。下面的操作符 **不是** 语法糖,它们不是方法,无法重新被定义: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} 此外,`+=`、`*=` 等类似操作符只是 `var = var + other_var`、 `var = var * other_var`等的简写。因此也无法重新被定义。 diff --git a/zh_tw/documentation/ruby-from-other-languages/index.md b/zh_tw/documentation/ruby-from-other-languages/index.md index 7756d2ce53..de1dd5a82e 100644 --- a/zh_tw/documentation/ruby-from-other-languages/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/index.md @@ -358,7 +358,7 @@ end 以下的操作符則**不是**語法包裝。它們不是方法,不能被覆寫定義: {% highlight ruby %} -=, .., ..., !, not, &&, and, ||, or, !=, !~, :: +=, .., ..., not, &&, and, ||, or, :: {% endhighlight %} 此外 `+=`, `*=` 等只是 `var = var + other_var` 跟 `var = var * other_var` From b371c847ae3d5db41a2a09398ba846d5df97db68 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 7 May 2016 13:51:12 +0200 Subject: [PATCH 0172/3394] Remove bookstore link from sidebar --- _config.yml | 82 +++++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 50 deletions(-) diff --git a/_config.yml b/_config.yml index 844579b61b..c0f296c86f 100644 --- a/_config.yml +++ b/_config.yml @@ -724,8 +724,6 @@ locales: sidebar: try_ruby: &try_ruby url: http://tryruby.org/ - books: &books - url: http://www.amazon.com/s/ref=sr_nr_n_5?ie=UTF8&rs=1000&keywords=Ruby&rh=i%3Aaps%2Ck%3ARuby%2Ci%3Astripbooks%2Cn%3A1000%2Cn%3A5 rubybib: &rubybib url: http://rubybib.org/ @@ -746,9 +744,8 @@ locales: documentation: text: Документация url: /bg/documentation/ - books: - text: Книги - <<: *books + # books: + # text: Книги libraries: text: Библиотеки url: /bg/libraries/ @@ -804,9 +801,8 @@ locales: documentation: text: Dokumentation url: /de/documentation/ - books: - text: Bücher - <<: *books + # books: + # text: Bücher libraries: text: Bibliotheken url: /de/libraries/ @@ -862,9 +858,8 @@ locales: documentation: text: Documentation url: /en/documentation/ - books: - text: Books - <<: *books + # books: + # text: Books rubybib: text: Academic Research <<: *rubybib @@ -923,9 +918,8 @@ locales: documentation: text: Documentación url: /es/documentation/ - books: - text: Libros - url: http://www.ruby-doc.org/bookstore + # books: + # text: Libros libraries: text: Bibliotecas url: /es/libraries/ @@ -981,9 +975,8 @@ locales: documentation: text: Documentation url: /fr/documentation/ - books: - text: Livres - <<: *books + # books: + # text: Livres libraries: text: Bibliothèques url: /fr/libraries/ @@ -1039,9 +1032,8 @@ locales: documentation: text: Dokumentasi url: /id/documentation/ - books: - text: Buku-buku - url: http://www.ruby-doc.org/bookstore + # books: + # text: Buku-buku libraries: text: Pustaka url: /id/libraries/ @@ -1099,9 +1091,8 @@ locales: documentation: text: Documentazione url: /it/documentation/ - books: - text: Libri - url: http://www.ruby-doc.org/bookstore + # books: + # text: Libri libraries: text: Librerie url: /it/libraries/ @@ -1158,9 +1149,8 @@ locales: documentation: text: ドキュメント url: /ja/documentation/ -# books: -# text: Books -# <<: *books + # books: + # text: Books rubybib: text: 学術研究(英語) <<: *rubybib @@ -1219,9 +1209,8 @@ locales: documentation: text: 문서 url: /ko/documentation/ - books: - text: 책 - url: http://www.ruby-doc.org/bookstore + # books: + # text: 책 libraries: text: 라이브러리 url: /ko/libraries/ @@ -1277,9 +1266,8 @@ locales: documentation: text: Dokumentacja url: /pl/documentation/ - books: - text: Książki - url: http://www.ruby-doc.org/bookstore + # books: + # text: Książki libraries: text: Biblioteki url: /pl/libraries/ @@ -1337,9 +1325,8 @@ locales: documentation: text: Documentação url: /pt/documentation/ - books: - text: Livros - url: http://www.ruby-doc.org/bookstore + # books: + # text: Livros libraries: text: Bibliotecas url: /pt/libraries/ @@ -1396,9 +1383,8 @@ locales: documentation: text: Документация url: /ru/documentation/ - books: - text: Книги - <<: *books + # books: + # text: Книги libraries: text: Библиотеки url: /ru/libraries/ @@ -1454,9 +1440,8 @@ locales: documentation: text: Belgeler url: /tr/documentation/ - books: - text: Kitaplar - <<: *books + # books: + # text: Kitaplar libraries: text: Kütüphaneler url: /tr/libraries/ @@ -1512,9 +1497,8 @@ locales: documentation: text: Tài liệu url: /vi/documentation/ - books: - text: Sách - <<: *books + # books: + # text: Sách libraries: text: Thư viện url: /vi/libraries/ @@ -1570,9 +1554,8 @@ locales: documentation: text: 文件 url: /zh_tw/documentation/ - books: - text: 書籍 - <<: *books + # books: + # text: 書籍 libraries: text: 函式庫 url: /zh_tw/libraries/ @@ -1628,9 +1611,8 @@ locales: documentation: text: 文档 url: /zh_cn/documentation/ -# books: -# text: Books -# <<: *books + # books: + # text: Books libraries: text: 代码库 url: /zh_cn/libraries/ From 8313434327ae88f580871a60f0227c9c3e712a47 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 23 Jan 2016 17:55:13 +0700 Subject: [PATCH 0173/3394] Translate latest news (id) --- .../2015-10-13-fukuoka-ruby-award-2016.md | 62 +++++++++++++ ...2015-11-11-ruby-2-3-0-preview1-released.md | 81 +++++++++++++++++ ...2015-12-11-ruby-2-3-0-preview2-released.md | 91 +++++++++++++++++++ .../2015-12-16-ruby-2-0-0-p648-released.md | 53 +++++++++++ .../_posts/2015-12-16-ruby-2-1-8-released.md | 55 +++++++++++ .../_posts/2015-12-16-ruby-2-2-4-released.md | 53 +++++++++++ ...ng-usage-in-fiddle-and-dl-cve-2015-7551.md | 87 ++++++++++++++++++ .../_posts/2015-12-25-ruby-2-3-0-released.md | 84 +++++++++++++++++ 8 files changed, 566 insertions(+) create mode 100644 id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md create mode 100644 id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md create mode 100644 id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md create mode 100644 id/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md create mode 100644 id/news/_posts/2015-12-16-ruby-2-1-8-released.md create mode 100644 id/news/_posts/2015-12-16-ruby-2-2-4-released.md create mode 100644 id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md create mode 100644 id/news/_posts/2015-12-25-ruby-2-3-0-released.md diff --git a/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md b/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md new file mode 100644 index 0000000000..cf3da2796b --- /dev/null +++ b/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md @@ -0,0 +1,62 @@ +--- +layout: news_post +title: "2016 Fukuoka Ruby Award Competition - Peserta akan Dinilai oleh Matz" +author: "Fukuoka Ruby" +translator: "meisyal" +date: 2015-10-13 08:00:00 +0000 +lang: id +--- + +Penggemar Ruby terhomat, + +Pemerintah Fukuoka, Jepang bersama dengan "Matz" Matsumoto ingin +mengajak Anda untuk mengikuti kompetisi Ruby berikut. Jika Anda telah mengembangkan sebuah +program Ruby yang menarik, mohon dengan sangat untuk mengajukan. + +2016 Fukuoka Ruby Award Competition +- Grand Prize - 1 juta Yen! + +Batas akhir masuk: 27 November 2015 + +Matz dan sebuah grup panelis akan memilih pemenang kompetisi ini. +Hadiah utama dari kompetisi ini adalah 1 juta yen. +Hadiah utama pemenang sebelumnya *Rhomobile* (USA) dan APEC *Climate Center* (Korea). + +[http://myfukuoka.com/category/news/ruby-news/](http://myfukuoka.com/category/news/ruby-news/) + +Program-program yang masuk di dalam kompetisi tidak harus seluruhnya diprogram dengan Ruby +tetapi harus mengambil kemudahan karakteristik unik yang diberikan Ruby. + +Proyek telah harus dikembangkan atau diselesaikan selama 12 bulan sebelumnya untuk +memenuhi persyaratan. Silakan kunjungi laman Fukuoka berikut untuk detail tambahan atau +pengajuan: + +[http://www.digitalfukuoka.jp/events/84](http://www.digitalfukuoka.jp/events/84) +atau +[http://myfukuoka.com/events/2016-fukuoka-ruby-award-guidelines-for-applicants/](http://myfukuoka.com/events/2016-fukuoka-ruby-award-guidelines-for-applicants/) + +[http://www.digitalfukuoka.jp/uploads/event_detail/file/210/RubyAward_ApplicationForm_2016.doc](http://www.digitalfukuoka.jp/uploads/event_detail/file/210/RubyAward_ApplicationForm_2016.doc) + +Silakan kirim formulir aplikasi ke award@f-ruby.com. + +Tahun ini, kami memiliki hadiah yang spesial berikut ini: + +Pemenang *AWS Prize* akan menerima: + +* *Kindle Fire* HDX (dapat berubah sewaktu-waktu) +* AWS *architect technical consultation* + +Pemenang *GMO Pepabo Prize* akan menerima: + +* 50,000 yen *gift certificate* untuk layanan domain dari *MuuMuu Domain* +* *Gift basket* yang berisi makanan lokasl dan makanan ringan (senilai 30,000 yen) + +Pemenang *IIJ GIO Prize* akan menerima: + +* IIJ GIO kupon gratis senilai 500,000 yen (hingga 6 bulan) + +"Matz akan menguji dan mengulas kode sumber Anda sepenuhnya, sehingga ini sangat +berarti untuk mengajukan dalam kompetisi! Kompetisi ini gratis untuk diikuti." + +Terima kasih dan sampai jumpa! + diff --git a/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md b/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md new file mode 100644 index 0000000000..960e702590 --- /dev/null +++ b/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md @@ -0,0 +1,81 @@ +--- +layout: news_post +title: "Ruby 2.3.0-preview1 Rilis" +author: "naruse" +translator: "meisyal" +date: 2015-11-11 14:00:00 +0000 +lang: id +--- + +Kami dengan senang hati mengumumkan rilis dari Ruby-2.3.0-preview1. + +Ruby 2.3.0-preview1 merupakan pratinjau pertama dari Ruby 2.3.0. +Banyak fitur baru dan perbaikan yang dimasukkan. + +Sebuah [*Frozen String Literal Pragma*](https://bugs.ruby-lang.org/issues/11473) +diperkenalkan. +Dengan Ruby 2.1, `"str".freeze` telah dioptimalkan untuk mengurangi alokasi objek. +Ruby 2.3 memperkenalkan sebuah *magic comment* dan opsi *command line* baru untuk +membekukan semua *string literal* di dalam berkas sumber. +Adapun tambahan untuk *debugging*, Anda bisa mendapatkan di mana objek dibuat +eror `"can't modify frozen String"` oleh +`--enable-frozen-string-literal-debug`. + +Sebuah [*safe navigation operator*](https://bugs.ruby-lang.org/issues/11537), +yang telah ada di C#, Groovy, dan Swift, diperkenalkan untuk memudahkan +penanganan `nil` sebagai `obj&.foo`. `Array#dig` dan `Hash#dig` juga ditambahkan. + +[*did_you_mean gem is bundled*](https://bugs.ruby-lang.org/issues/11252). +*Gem did_you_mean* +menunjukkan calon `NameError` dan `NoMethodError` untuk memudahkan +*debugging*. + +Coba dan nikmati memprogram dengan Ruby 2.3.0-preview1, dan laporkan +apa yang Anda ketahui kepada kami! + +## Perubahan Penting sejak 2.2 + +* akan ditentukan + +Lihat [NEWS](https://github.com/ruby/ruby/blob/v2_3_0_preview1/NEWS) dan +[ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0_preview1/ChangeLog) +untuk detail. + +Dengan perubahan-perubahan di atas, 1036 berkas berubah, 81312 sisipan(+), 51322 +terhapus(-) sejak Ruby 2.2.0. + +## Unduh + +* + + * SIZE: 14174035 bytes + * SHA1: 55ad4f04d7a33ab780458ee0999de9f6124217ea + * SHA256: 42b9c9e1740a5abe2855d11803524370bd95744c8dcb0068572ed5c969ac7f0f + * SHA512: ae6d46c87f59e1fd3703b76dfc45bfcf208625f95ab9f4559f0b9f7050e8681f1a6e419f5fa06b704c83e56879c3a9ff1337dba443bcfca76fadb49c97d97a93 + +* + + * SIZE: 17560800 bytes + * SHA1: 6249572e5dca27d8c73a0cbf036e24e5d88fe82f + * SHA256: dc8f9d48392a2bb226df5f4b4fd2074d81af155cdf3f3799139a6e31e012aefe + * SHA512: 58384ef6e743dde20ea263692dab86ce9d6d22d722ef4c02a84396aa3128ce06d933d9b69078a3cd666d72320a8a6ffdc93296bc0d5338595b2a44c29d4db383 + +* + + * SIZE: 11225228 bytes + * SHA1: 85b4f631efa4b6435b2b41df6ce6c46da294c4d4 + * SHA256: a88e19d9dc001db8f49ca3986a8a4e69980affff876854585725e40de0eedcd8 + * SHA512: 3be0f3ed4de73509b2f6975fe3fbe28bb4d51df87db6e2c0019e8a107edf49be60b2127ba5b18bca91f9f5964b07f1adde3042dac6327017359eeb130760672b + +* + + * SIZE: 19777010 bytes + * SHA1: 3458666c250dd333ac4b537be25f1913dd311ea1 + * SHA256: 0fc1d4450e9141f541038a4433f8fb49fb929e43c7bf5985685a4fa7b213a811 + * SHA512: f53653cf11d8dce1d627f7db3a15acca29c74c78735406a5d64bbbdc39fac232ef63110eb4d83521bef40c6f3006d55bbeaf54d1ddab1d4b6e5a13cee9247e85 + +## Komentar Rilis + +Lihat juga jadwal rilis dan informasi lainnya: + +[ReleaseEngineering23](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23) diff --git a/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md b/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md new file mode 100644 index 0000000000..7ad405ebb9 --- /dev/null +++ b/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md @@ -0,0 +1,91 @@ +--- +layout: news_post +title: "Ruby 2.3.0-preview2 Rilis" +author: "naruse" +translator: "meisyal" +date: 2015-12-11 14:00:00 +0000 +lang: id +--- + +Kami dengan senang hati mengumumkan rilis dari Ruby 2.3.0-preview2. + +Ruby 2.3.0-preview2 adalah pratinjau kedua dari Ruby 2.3.0. +Banyak fitur baru dan perbaikan yang dimasukkan. + +Sebuah [*Frozen String Literal Pragma*](https://bugs.ruby-lang.org/issues/11473) +diperkenalkan. +Dengan Ruby 2.1, `"str".freeze` telah dioptimalkan untuk mengurangi alokasi objek. +Ruby 2.3 memperkenalkan sebuah *magic comment* dan opsi *command line* baru untuk +membekukan semua *string literal* di dalam kode sumber. +Adapun tambahan untuk *debugging*, Anda bisa mendapatkan di mana objek dibuat +eror `"can't modify frozen string"` oleh penggunaan +opsi *command line* `--debug=frozen-string-literal`. + +Sebuah [*safe navigation operator*](https://bugs.ruby-lang.org/issues/11537) +([disebut *lonely operator*](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +yang telah ada di C#, Groovy, dan Swift, diperkenalkan untuk mempermudah +penanganan `nil` sebagai `obj&.foo`. `Array#dig` dan `Hash#dig` juga ditambahkan. + +[*did_you_mean gem is bundled*](https://bugs.ruby-lang.org/issues/11252). +*Gem did_you_mean* +menunjukkan calon `NameError` dan `NoMethodError` untuk mempermudah +*debugging*. + +[*RubyVM::InstructionSequence#to_binary and .load_from_binary*](https://bugs.ruby-lang.org/issues/11788) +diperkenalkan sebagai fitur percobaan. +Dengan fitur-fitur tersebut, kita dapat membuat sebuah sistem prakompilasi ISeq (*bytecode*). + +Ruby 2.3 melingkupi banyak perbaikan *performance tuning*. +Sebagai contoh, +[*optimizing Proc#call*](https://bugs.ruby-lang.org/issues/11569), +[*reconsidering method entry data structure*](https://bugs.ruby-lang.org/issues/11278), +[*introducing new table data structure*](https://bugs.ruby-lang.org/issues/11420), +*machine code level tuning* untuk alokasi objek dan *method calling code*, +dan banyak pengoptimalan lainnya. + +Coba dan nikmati memprogram dengan Ruby 2.3.0-preview2, dan laporkan +apa yang Anda ketahui kepada kami! + +## Perubahan Penting sejak 2.2 + +Lihat [NEWS](https://github.com/ruby/ruby/blob/v2_3_0_preview2/NEWS) +dan [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0_preview2/ChangeLog) +untuk detail. + +Dengan perubahan-perubahan itu, [1097 berkas berubah, 97466 sisipan(+), 58685 terhapus(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0_preview2) sejak Ruby 2.2.0! + +## Unduh + +* + + * SIZE: 14126752 bytes + * SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810 + * SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb + * SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288 + +* + + * SIZE: 17623519 bytes + * SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d + * SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3 + * SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0 + +* + + * SIZE: 11249780 bytes + * SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b + * SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11 + * SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87 + +* + + * SIZE: 19841531 bytes + * SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6 + * SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d + * SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65 + +## Komentar Rilis + +Lihat juga jadwal rilis dan informasi lainnya: + +[ReleaseEngineering23](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23) diff --git a/id/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/id/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md new file mode 100644 index 0000000000..8a405a6f9b --- /dev/null +++ b/id/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.0.0-p648 Rilis" +author: "usa" +translator: "meisyal" +date: 2015-12-16 12:00:00 +0000 +lang: id +--- + +Ruby 2.0.0-p648 telah rilis. + +Rilis ini mencakup perbaikan keamanan untuk *Fiddle* dan *DL extension*. +Silakan lihat topik di bawah ini untuk lebih detail. + +* [CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL](https://www.ruby-lang.org/id/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Ruby 2.0.0 saat ini dalam masa perawatan keamanan, hingga 24 Februari 2016. +Setelah tanggal tersebut, perawatan Ruby 2.0.0 akan berakhir. +Kami merekomendasikan Anda untuk mulai merencanakan migrasi ke versi Ruby terbaru, seperti 2.1, 2.2 atau 2.3 (dijadwalkan rilis dalam beberapa minggu lagi). + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2) + + SIZE: 10785918 bytes + SHA1: 504be2eae6cdfe93aa7ed02ec55e35043d067ad5 + SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166 + SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz) + + SIZE: 13622628 bytes + SHA1: 2323df55f5e941c45be13500df9daf216098f884 + SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8 + SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz) + + SIZE: 8303584 bytes + SHA1: 4500e7b65a3788a2c9d787dc3b7d7e16014d4daf + SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 + SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip) + + SIZE: 15139871 bytes + SHA1: 2d5521cc12823af20269b9380a9d605a21509b43 + SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd + SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 + +## Komentar Rilis + +Terima kasih kepada semua yang telah membantu rilis ini. diff --git a/id/news/_posts/2015-12-16-ruby-2-1-8-released.md b/id/news/_posts/2015-12-16-ruby-2-1-8-released.md new file mode 100644 index 0000000000..eb015432ad --- /dev/null +++ b/id/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -0,0 +1,55 @@ +--- +layout: news_post +title: "Ruby 2.1.8 Rilis" +author: "usa" +translator: "meisyal" +date: 2015-12-16 12:00:00 +0000 +lang: id +--- + +Ruby 2.1.8 telah rilis. + +Rilis ini mencakup perbaikan keamanan untuk *Fiddle* dan *DL extension*. +Silakan lihat topik di bawah ini untuk lebih detail. + +* [CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL](https://www.ruby-lang.org/id/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Dan, banyak perbaikan *bug* lainnya dimasukkan. +Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_8/ChangeLog) +untuk detail. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2) + + SIZE: 12014426 bytes + SHA1: 0284eaf42ac76a641abd5cd4b6bd933abeb9934e + SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 + SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz) + + SIZE: 15154017 bytes + SHA1: c7e50159357afd87b13dc5eaf4ac486a70011149 + SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d + SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz) + + SIZE: 9382672 bytes + SHA1: e1f4e043006a762604c042e6aac7540854a92d8c + SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d + SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip) + + SIZE: 16686848 bytes + SHA1: b554328fb3d9f2a527adc5830de221b00e3ce2b9 + SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee + SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6 + +## Komentar Rilis + +Terima kasih kepada semua yang telah membantu rilis ini. + +Perawatan Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for Ruby stable version" dari [the Ruby Association](http://www.ruby.or.jp/). diff --git a/id/news/_posts/2015-12-16-ruby-2-2-4-released.md b/id/news/_posts/2015-12-16-ruby-2-2-4-released.md new file mode 100644 index 0000000000..37737dc455 --- /dev/null +++ b/id/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.2.4 Rilis" +author: "nagachika" +translator: "meisyal" +date: 2015-12-16 12:00:00 +0000 +lang: id +--- + +Ruby 2.2.4 telah rilis. + +Rilis ini mencakup perbaikan keamanan *Fiddle extension*. +Silakan lihat topik di bawah ini untuk lebih detail. + +* [CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL](https://www.ruby-lang.org/id/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551) + +Ada juga beberapa perbaikan *bug*. +Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog) untuk detail. + +## Unduh + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2) + + SIZE: 13336518 bytes + SHA1: 6132840a859dbf2ac1498ba313021f299a870038 + SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 + SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz) + + SIZE: 16638151 bytes + SHA1: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 + SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 + SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz) + + SIZE: 10464500 bytes + SHA1: 9216cf34df7fd5ce8059a6403951d6d47964442a + SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c + SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip) + + SIZE: 18472352 bytes + SHA1: b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a + SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 + SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b + +## Komentar Rilis + +Banyak *committer*, pengembang, dan pengguna yang menyediakan laporan *bug* telah membantu kami mengeluarkan rilis ini. +Terima kasih atas kontribusinya. diff --git a/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md new file mode 100644 index 0000000000..e4feb05243 --- /dev/null +++ b/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -0,0 +1,87 @@ +--- +layout: news_post +title: "CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL" +author: "usa" +translator: "meisyal" +date: 2015-12-16 12:00:00 +0000 +tags: security +lang: id +--- + +Ada sebuah kerentanan penggunaan *string* yang tidak aman pada *Fiddle* dan *DL*. +Kerentanan ini telah ditetapkan sebagai *CVE identifier* +[CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551). + +Detail +------ + +Ada sebuah kerentanan penggunaan *string* yang tidak aman pada *Fiddle* dan *DL*. +Masalah ini semula telah dilaporkan dan diperbaiki [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) pada *DL*, +namun muncul kembali setelah *DL* diimplementasikan menggunakan *Fiddle* dan *libffi*. + +Dan, tentang *DL*, [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) telah diperbaiki pada Ruby 1.9.1, +namun tidak diperbaiki pada *branch* lain, sehingga *rubies* yang dibundel dengan *DL* +kecuali Ruby 1.9.1 masih rentan. + +Kode yang terkena imbas tampak seperti ini: + +{% highlight ruby %} +handle = Fiddle::Handle.new(dangerous_user_input) +{% endhighlight %} + +atau: + +{% highlight ruby %} +handle = Fiddle::Handle.new(some_library) +function_pointer = handle[dangerous_user_input] +{% endhighlight %} + +Semua pengguna yang menggunakan rilis yang terkena imbas ini sebaiknya meng-*upgrade* atau menggunakan satu +dari solusi yang ada segera. + +Versi yang terkena imbas +------------------------ + +* Semua rilis *patch* Ruby 1.9.2 dan Ruby 1.9.3 (*DL* dan *Fiddle*). +* Semua rilis *patch* Ruby 2.0.0 sebelum Ruby 2.0.0 *patchlevel* 648 (*DL* dan *Fiddle*). +* Semua versi Ruby 2.1 sebelum Ruby 2.1.8 (*DL* dan *Fiddle*). +* Semua versi Ruby 2.2 sebelum Ruby 2.2.4 (*Fiddle*). +* Ruby 2.3.0 preview1 dan preview2 (*Fiddle*). +* sebelum perbaikan *trunk* 53153 (*Fiddle*). + +Solusi +------ + +Jika Anda tidak dapat *upgrade*, *monkey patch* berikut dapat dipakai sebagai +salah satu solusi untuk *Fiddle*: + +{% highlight ruby %} +class Fiddle::Handle + alias :old_initialize :initialize + + def initialize file, *args + raise SecurityError if file.tainted? && $SAFE > 0 + old_initialize file, *args + end + + alias :sym :[] + alias :old_call :[] + + def [] fun + raise SecurityError if fun.tainted? && $SAFE > 0 + old_call fun + end +end +{% endhighlight %} + +Jika Anda sedang menggunakan *DL*, gunakan *Fiddle* daripada *DL*. + +Pujian +------ + +Terima kasih kepada Christian Hofstaedtler yang telah melaporkan permasalahan ini! + +Riwayat +------- + +* Semula dipublikasikan pada 2015-12-16 12:00:00 UTC diff --git a/id/news/_posts/2015-12-25-ruby-2-3-0-released.md b/id/news/_posts/2015-12-25-ruby-2-3-0-released.md new file mode 100644 index 0000000000..d0e446c9f7 --- /dev/null +++ b/id/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -0,0 +1,84 @@ +--- +layout: news_post +title: "Ruby 2.3.0 Rilis" +author: "naruse" +translator: "meisyal" +date: 2015-12-25 17:00:00 +0000 +lang: id +--- + +Kami dengan senang hati mengumumkan rilis dari Ruby 2.3.0. + +Ini adalah rilis *stable* pertama dari rangkaian Ruby 2.3. +Rilis ini memperkenalkan banyak fitur sebagai contoh: + +Sebuah [*Frozen String Literal Pragma*](https:///bugs.ruby-lang.org/issues/11473) +diperkenalkan. +Dengan Ruby 2.1, `"str".freeze` telah dioptimalkan untuk mengurangi alokasi objek. +Ruby 2.3 memperkenalkan sebuah *magic comment* dan opsi *command line* baru untuk +membekukan semua *string literal* di dalam berkas sumber. +Adapun tambahan untuk *debugging*, Anda bisa memperoleh di mana objek dibuat +eror `"can't modify frozen String"` dengan +opsi *command line* `--debug=frozen-string-literal`. + +Sebuah [*safe navigation operator*](https://bugs.ruby-lang.org/issues/11537) +([disebut *lonely operator*](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +yang telah ada di C#, Groovy, dan Swift, diperkenalkan untuk memudahkan +penanganan `nil` sebagai `obj&.foo`. `Array#dig` dan `Hash#dig` juga ditambahkan. +Catat bahwa ini berperilaku sebagai [*try! of Active Support*](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +yang khusus menangani *nil*. + +[*Gem did_you_mean* dibundel](https://bugs.ruby-lang.org/issues/11252). +*Gem did_you_mean* +menunjukkan calon `NameError` dan `NoMethodError` untuk mempermudah +*debugging*. + +[*RubyVM::InstructionSequence#to_binary and .load_from_binary*](https://bugs.ruby-lang.org/issues/11788) diperkenalkan sebagai fitur percobaan. Dengan fitur ini, kita dapat membuat sebuah sistem prakompilasi ISeq (*bytecode*). + +Rilis ini juga mencakup banyak perbaikan performa sebagai contoh, +[*reconsider method entry data structure*](https://bugs.ruby-lang.org/issues/11278), +[*introducing new table data structure*](https://bugs.ruby-lang.org/issues/11420), +[*optimize Proc#call*](https://bugs.ruby-lang.org/issues/11569), +*machine code level tuning* untuk alokasi objek dan *method calling code*, +[*smarter instance variable data structure*](https://bugs.ruby-lang.org/issues/11170), +[`exception: false` *keyword argument support on Socket#*_nonblock methods*](https://bugs.ruby-lang.org/issues/11229) +dan sebagainya. Cek bagian "Implementation improvements" di dalam berkas NEWS. + +Untuk daftar lengkap fitur baru dan catatan *compatibility*, silakan lihat +[NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) dan +[ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). + +Dengan perubahan tersebut, [2946 berkas berubah, 104057 sisipan(+), 59478 terhapus(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) sejak Ruby 2.2.0! + +Selamat Hari Natal, selamat berlibur, dan nikmati memprogram dengan Ruby 2.3! + +## Unduh + +* + + SIZE: 14185617 bytes + SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 + SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e + SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c + +* + + SIZE: 17648682 bytes + SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 + SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 + SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc + +* + + SIZE: 11294412 bytes + SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 + SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 + SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 + +* + + SIZE: 19840511 bytes + SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 + SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a + SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef + From 2bc1d7adaed119d6e5bca002f23d4ce8db6c3bf6 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 8 May 2016 11:49:52 +0200 Subject: [PATCH 0174/3394] Small fixes in recent posts (id) --- id/news/_posts/2015-08-18-ruby-2-1-7-released.md | 2 +- .../_posts/2015-10-13-fukuoka-ruby-award-2016.md | 3 +-- .../2015-11-11-ruby-2-3-0-preview1-released.md | 2 +- .../2015-12-11-ruby-2-3-0-preview2-released.md | 2 +- id/news/_posts/2015-12-16-ruby-2-1-8-released.md | 2 +- id/news/_posts/2015-12-16-ruby-2-2-4-released.md | 2 +- ...string-usage-in-fiddle-and-dl-cve-2015-7551.md | 15 +++++---------- id/news/_posts/2015-12-25-ruby-2-3-0-released.md | 3 +-- 8 files changed, 12 insertions(+), 19 deletions(-) diff --git a/id/news/_posts/2015-08-18-ruby-2-1-7-released.md b/id/news/_posts/2015-08-18-ruby-2-1-7-released.md index 3326a06d92..43e7d2affa 100644 --- a/id/news/_posts/2015-08-18-ruby-2-1-7-released.md +++ b/id/news/_posts/2015-08-18-ruby-2-1-7-released.md @@ -53,4 +53,4 @@ untuk detail. Terima kasih kepada semua yang telah membantu rilis ini, terutama, nagachika. -Perawatan dari Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for the Ruby stable version" dari [the Ruby Association](http://www.ruby.or.jp/). +Perawatan dari Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for the Ruby stable version" dari [Ruby Association](http://www.ruby.or.jp/). diff --git a/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md b/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md index cf3da2796b..2a8f8cc480 100644 --- a/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md +++ b/id/news/_posts/2015-10-13-fukuoka-ruby-award-2016.md @@ -14,7 +14,7 @@ mengajak Anda untuk mengikuti kompetisi Ruby berikut. Jika Anda telah mengembang program Ruby yang menarik, mohon dengan sangat untuk mengajukan. 2016 Fukuoka Ruby Award Competition -- Grand Prize - 1 juta Yen! + - Grand Prize - 1 juta Yen! Batas akhir masuk: 27 November 2015 @@ -59,4 +59,3 @@ Pemenang *IIJ GIO Prize* akan menerima: berarti untuk mengajukan dalam kompetisi! Kompetisi ini gratis untuk diikuti." Terima kasih dan sampai jumpa! - diff --git a/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md b/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md index 960e702590..c8e5f72e9d 100644 --- a/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md +++ b/id/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md @@ -7,7 +7,7 @@ date: 2015-11-11 14:00:00 +0000 lang: id --- -Kami dengan senang hati mengumumkan rilis dari Ruby-2.3.0-preview1. +Kami dengan senang hati mengumumkan rilis dari Ruby 2.3.0-preview1. Ruby 2.3.0-preview1 merupakan pratinjau pertama dari Ruby 2.3.0. Banyak fitur baru dan perbaikan yang dimasukkan. diff --git a/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md b/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md index 7ad405ebb9..6cfb166291 100644 --- a/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md +++ b/id/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md @@ -18,7 +18,7 @@ Dengan Ruby 2.1, `"str".freeze` telah dioptimalkan untuk mengurangi alokasi obje Ruby 2.3 memperkenalkan sebuah *magic comment* dan opsi *command line* baru untuk membekukan semua *string literal* di dalam kode sumber. Adapun tambahan untuk *debugging*, Anda bisa mendapatkan di mana objek dibuat -eror `"can't modify frozen string"` oleh penggunaan +eror `"can't modify frozen String"` oleh penggunaan opsi *command line* `--debug=frozen-string-literal`. Sebuah [*safe navigation operator*](https://bugs.ruby-lang.org/issues/11537) diff --git a/id/news/_posts/2015-12-16-ruby-2-1-8-released.md b/id/news/_posts/2015-12-16-ruby-2-1-8-released.md index eb015432ad..b7608b3ad1 100644 --- a/id/news/_posts/2015-12-16-ruby-2-1-8-released.md +++ b/id/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -52,4 +52,4 @@ untuk detail. Terima kasih kepada semua yang telah membantu rilis ini. -Perawatan Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for Ruby stable version" dari [the Ruby Association](http://www.ruby.or.jp/). +Perawatan Ruby 2.1, termasuk rilis ini, didasarkan pada "Agreement for the Ruby stable version" dari [Ruby Association](http://www.ruby.or.jp/). diff --git a/id/news/_posts/2015-12-16-ruby-2-2-4-released.md b/id/news/_posts/2015-12-16-ruby-2-2-4-released.md index 37737dc455..daeba3432a 100644 --- a/id/news/_posts/2015-12-16-ruby-2-2-4-released.md +++ b/id/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -12,7 +12,7 @@ Ruby 2.2.4 telah rilis. Rilis ini mencakup perbaikan keamanan *Fiddle extension*. Silakan lihat topik di bawah ini untuk lebih detail. -* [CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL](https://www.ruby-lang.org/id/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551) +* [CVE-2015-7551: Cacat penggunaan string yang tidak aman pada Fiddle dan DL](https://www.ruby-lang.org/id/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) Ada juga beberapa perbaikan *bug*. Lihat [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog) untuk detail. diff --git a/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index e4feb05243..3ffcebb713 100644 --- a/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/id/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -12,8 +12,7 @@ Ada sebuah kerentanan penggunaan *string* yang tidak aman pada *Fiddle* dan *DL* Kerentanan ini telah ditetapkan sebagai *CVE identifier* [CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551). -Detail ------- +## Detail Ada sebuah kerentanan penggunaan *string* yang tidak aman pada *Fiddle* dan *DL*. Masalah ini semula telah dilaporkan dan diperbaiki [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) pada *DL*, @@ -39,8 +38,7 @@ function_pointer = handle[dangerous_user_input] Semua pengguna yang menggunakan rilis yang terkena imbas ini sebaiknya meng-*upgrade* atau menggunakan satu dari solusi yang ada segera. -Versi yang terkena imbas ------------------------- +## Versi yang terkena imbas * Semua rilis *patch* Ruby 1.9.2 dan Ruby 1.9.3 (*DL* dan *Fiddle*). * Semua rilis *patch* Ruby 2.0.0 sebelum Ruby 2.0.0 *patchlevel* 648 (*DL* dan *Fiddle*). @@ -49,8 +47,7 @@ Versi yang terkena imbas * Ruby 2.3.0 preview1 dan preview2 (*Fiddle*). * sebelum perbaikan *trunk* 53153 (*Fiddle*). -Solusi ------- +## Solusi Jika Anda tidak dapat *upgrade*, *monkey patch* berikut dapat dipakai sebagai salah satu solusi untuk *Fiddle*: @@ -76,12 +73,10 @@ end Jika Anda sedang menggunakan *DL*, gunakan *Fiddle* daripada *DL*. -Pujian ------- +## Pujian Terima kasih kepada Christian Hofstaedtler yang telah melaporkan permasalahan ini! -Riwayat -------- +## Riwayat * Semula dipublikasikan pada 2015-12-16 12:00:00 UTC diff --git a/id/news/_posts/2015-12-25-ruby-2-3-0-released.md b/id/news/_posts/2015-12-25-ruby-2-3-0-released.md index d0e446c9f7..0150e24387 100644 --- a/id/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/id/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -12,7 +12,7 @@ Kami dengan senang hati mengumumkan rilis dari Ruby 2.3.0. Ini adalah rilis *stable* pertama dari rangkaian Ruby 2.3. Rilis ini memperkenalkan banyak fitur sebagai contoh: -Sebuah [*Frozen String Literal Pragma*](https:///bugs.ruby-lang.org/issues/11473) +Sebuah [*frozen string literal pragma*](https://bugs.ruby-lang.org/issues/11473) diperkenalkan. Dengan Ruby 2.1, `"str".freeze` telah dioptimalkan untuk mengurangi alokasi objek. Ruby 2.3 memperkenalkan sebuah *magic comment* dan opsi *command line* baru untuk @@ -81,4 +81,3 @@ Selamat Hari Natal, selamat berlibur, dan nikmati memprogram dengan Ruby 2.3! SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef - From 16bc519e9f0229721d92629552f1fe468bf20c58 Mon Sep 17 00:00:00 2001 From: Artur Cygan Date: Mon, 9 May 2016 20:18:06 +0200 Subject: [PATCH 0175/3394] Fix typo (pl) --- pl/downloads/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pl/downloads/index.md b/pl/downloads/index.md index 95da9a2e0e..89607e65c8 100644 --- a/pl/downloads/index.md +++ b/pl/downloads/index.md @@ -51,7 +51,7 @@ skorzystanie z narzędzi osób trzecich wspomnianych powyżej. Mogą ci pomóc. * **Migawki:** * [Stabilna migawka]({{ site.downloads.stable_snapshot.url.gz }}): To jest tarball ostatniej migawki stabilnej obecnego stabilnego brancha. - * [Nocny migawka]({{ site.downloads.nightly_snapshot.url.gz }}): + * [Nocna migawka]({{ site.downloads.nightly_snapshot.url.gz }}): To jest tarball tego co jest w SVN, przygotowany w nocy. Może zawierać błędy lub inne problemy, używaj na własne ryzyko! From 152ade34a2e49c2802880591ad96a3439f10f77b Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Tue, 10 May 2016 22:33:12 +0300 Subject: [PATCH 0176/3394] Update and improve ruby-from-other-languages (bg) Fixes a lot of spelling and grammatical errors and updates some obsolete code examples. Also fixes code formatting. --- .../ruby-from-other-languages/index.md | 161 +++++++++++++----- 1 file changed, 120 insertions(+), 41 deletions(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index 8e69cc515f..d03c7b4ad3 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -4,14 +4,16 @@ title: "Миграция от други езици" lang: bg --- -Когато за първи път се сблъскате с код писан на Ruby е вероятно да ви напомни +Когато за първи път се сблъскате с код, писан на Ruby, е вероятно да ви напомни на езици за програмиране, които вече ползвате. Това е направено с цел. Много -от синтаксиса е заимстван от Perl, Python и Java (както от други езици), за -това научаването на Ruby би било много по-лесно. Този страница е разделена на -две секции. Първата е обобщение на нещата, които ще видите от езика *X* в -Ruby. Втората секция е посветена на някои от основните принципи на езика. +от синтаксиса е заимстван от Perl, Python и Java (както и от други езици), +затова научаването на Ruby би било много по-лесно. {: .summary} +Този страница е разделена на две секции. Първата е обобщение на нещата, които +ще видите от езика *X* в Ruby. Втората секция е посветена на някои от основните +принципи на езика. + ## Какво да очакваме * [Oт C/C++ към Ruby](to-ruby-from-c-and-cpp/) @@ -26,7 +28,10 @@ Ruby. Втората секция е посветена на някои от о ### Итерация -Две от нещата, с които може би не сте се сблъсквали са \"блоковете\" и итераторите. Вместо да използваме цикъл с индекс ( както в C, C++ или в ранните версии на 1.5 Java), итерацията на списък (в Perl `for (@a) {...}` или в Python `for i in aList: ...`) може да се осъществи с : +Две от нещата, с които може би не сте се сблъсквали са "блоковете" и +итераторите. Вместо да използваме цикъл с индекс (както в C, C++ или във +версиите на Java преди 1.5), итерацията на списък (в Perl `for (@a) {...}` или +в Python `for i in aList: ...`) може да се осъществи с: {% highlight ruby %} some_list.each do |this_item| @@ -34,11 +39,14 @@ some_list.each do |this_item| end {% endhighlight %} -За повече информация относно `each` (и неговите приятели `collect`, `find`, `inject`, `sort` и т.н.) можете да прочетете с командата `ri Enumerable` (и `ri Enumerable#име_на_метод`). +За повече информация относно `each` (и неговите приятели `collect`, `find`, +`inject`, `sort` и т.н.) можете да използвате командата `ri Enumerable` (и `ri +Enumerable#име_на_метод`). ### Всичко има стойност -Няма разлика между expression и statement. Всичко има стойност, дори и тя да бъде **nil**: +Няма разлика между expression и statement. Всичко има стойност, дори и тя да +бъде `nil`: {% highlight ruby %} x = 10 @@ -53,7 +61,11 @@ z # => true ### Символите не са опростен вариант на низовете -Много хора, учещи Ruby имат трудности с разбирането на символите и тяхната употреба. Символите могат да се приемат за идентификатори. Стартирайте `irb` и вижте разликата: +Много хора, учещи Ruby, имат трудности с разбирането на символите и тяхната +употреба. + +Символите могат да се приемат за идентификатори. Стартирайте `irb` и вижте +разликата: {% highlight irb %} irb(main):001:0> :george.object_id == :george.object_id @@ -63,11 +75,24 @@ irb(main):002:0> "george".object_id == "george".object_id irb(main):003:0> {% endhighlight %} -Методът `object_id` връща идентификатора на обекта. Ако два обекта имат един и същ `object_id`, те са еднакви (сочат към един и същ обект в паметта). Както може да видим, когато използваме символи, всеки един от тях има характеристики с референция към обект в паметта. За всеки символ, имащ еднаква характеристика, идентификаторът на обекта съвпада. Ако погледнем примера с низовете, виждаме, че имаме два различни обекта. Това е така, тъй като при създаването на нов низ се заделя памет отделно. Ако се чудите дали да ползвате низ или символ, помислете кое е по-важно: идентификацията на обекта или неговото съдържание (\"george\" в горния пример). +Методът `object_id` връща идентификатора на обекта. Ако два обекта имат един и +същи `object_id`, те са еднакви (сочат към един и същ обект в паметта). + +Както може да видим когато използваме символи, всеки един от тях има +характеристики с референция към обект в паметта. За всеки символ, имащ еднаква +характеристика, идентификаторът на обекта съвпада. + +Ако погледнем примера с низовете виждаме, че техните `object_id` не съвпадат. +Това означава, че те реферират към два отделни обекта в паметта. Това е така, +тъй като при създаването на нов низ се заделя памет отделно. + +Ако се чудите дали да ползвате низ или символ, помислете кое е по-важно: +идентификацията на обекта (например ключ на хеш) или неговото съдържание +("george" в горният пример). ### Всичко е обект -"Всичко е обект" не е хипербола. Дори класовете и числата се представят като обекти: +"Всичко е обект" не е хипербола. Дори класовете и числата са обекти: {% highlight ruby %} # Двете дефиниции са еднакви @@ -81,11 +106,20 @@ end ### Променливи константи -Константите всъщност не са константи. Ако промените съдържанието на съществуваща константа ще получите предупреждение, но това няма да наруши изпълнението на програмата. Това не значи, че трябва да предефинирате константите. +Константите всъщност не са константни. Ако промените съдържанието на +съществуваща константа ще получите предупреждение, но това няма да наруши +изпълнението на програмата. Това не значи, че **трябва** да предефинирате +константи. ### Конвенции при наименуването -Ruby ни \"принуждава\" да ползваме някои конвенции при наименуването. Ако идентификаторът започва с главна буква, той е константа. Ако започва с `$`, той е глобална променлива. Ако започва с `@` той е променлива на инстанцията, а с `@@` се именоват клас променливите. Въпреки това може да ползваме главна буква за името на метод, въпреки, че това може да доведе до объркване: +Ruby ни "принуждава" да ползваме някои конвенции при наименуването. Ако +идентификаторът започва с главна буква, той е константа. Ако започва с `$`, +той е глобална променлива. Ако започва с `@` той е променлива на инстанцията, +а с `@@` се именуват клас променливите. + +Въпреки това може да ползваме главна буква за името на метод, въпреки, че това +може да доведе до объркване: {% highlight ruby %} Constant = 10 @@ -94,23 +128,29 @@ def Constant end {% endhighlight %} -`Constant` е 10, но `Constant()` вика метод, който връща 11. +`Constant` е променлива със стойност 10, но `Constant()` извиква метод, +който връща 11. -### Симулиране на ключови параметри +### Именувани аргументи -В Ruby липсват ключови параметри както в Python, но това може да бъде симулирано с употребата на символи и хешове: +Както в Python, от Ruby 2.0 методите могат да използват именувани аргументи: {% highlight ruby %} -def some_keyword_params(params) - params +def deliver(from: "A", to: nil, via: "mail") + "Sending from #{from} to #{to} via #{via}." end -some_keyword_params(:param_one => 10, :param_two => 42) -# => {:param_one=>10, :param_two=>42} + +deliver(to: "B") +# => "Sending from A to B via mail." +deliver(via: "Pony Express", from: "B", to: "A") +# => "Sending from B to A via Pony Express." {% endhighlight %} ### Универсалната истина -В Ruby, всяко нещо, различно от **nil** и **false**, е истина. В C, Python и други езици 0, празен низ и други се считат за лъжа ( false ). Нека разгледаме пример с код на Python code: +В Ruby всяко нещо, различно от `nil` и `false`, е `true`. В C, Python и други +езици `0`, `""` и други се считат за `false`. Нека разгледаме пример с код +на Python: {% highlight python %} # in Python @@ -120,7 +160,7 @@ else: print("0 is false") {% endhighlight %} -Изхода от кода е \"0 is false\". Еквивалента на Ruby +Изхода от кода е `0 is false`. Еквивалента, написан на Ruby: {% highlight ruby %} # in Ruby @@ -131,7 +171,7 @@ else end {% endhighlight %} -Принтира се \"0 is true\". +На екрана се изписва `0 is true`. ### Модификаторите за достъп важат до края на декларацията @@ -143,7 +183,9 @@ class MyClass end {% endhighlight %} -Може би очаквате `another_method` да бъде public, но това не е така. Модификатора \'private\' важи до употребата на друг модификатор. По подразбиране методите са public: +Може би очаквате `another_method` да бъде `public`, но това не е така. +Модификатора `private` важи до употребата на друг модификатор. По подразбиране +всички методи са `public`: {% highlight ruby %} class MyClass @@ -157,11 +199,27 @@ class MyClass end {% endhighlight %} -`public`, `private` и `protected` всъщност са методи и за това могат да приемат параметри. Ако предадем символ към този метод, променяме видимостта на метода с име на символа. +`public`, `private` и `protected` всъщност са методи и за това могат да приемат +параметри. Ако подадем символ на този метод, променяме видимостта на метода с +име на символа. ### Достъп до метод -В Ruby `private` се изпозлзва за модификатор за достъп, който прави методите достъпни, когато се викат без explicit receiver. В този случай Само **self** е receiver на извикването на private метод. Към `protected` трябва да се подхожда с внимание. protected метод може да бъде извикан от клас или инстанция на наследен клас, но също така и с друга инстанции като receiver. Пример, взет от [Ruby Language FAQ][faq]: +В Java, `public` означава, че методът е достъпен за всички. `protected` +означава, че инстанциите на класа и всички наследяващи го класове, както и +класове в същият package могат да го достъпят. `private` означава, че +единствено инстанциите на класа имат достъп до метода. + +В Ruby нещата стоят по малко по-различен начин. `public` работи по същият +начин. `private` се използва за модификатор за достъп, който прави методите +достъпни, когато се викат без explicit receiver. В този случай единствено +`self` може да е получател на извикването на `private` метод. + +Към `protected` трябва да се подхожда с внимание. `protected` метод може да +бъде извикан от клас или инстанция на наследен клас, но също така и с друга +инстанции като неговият receiver. + +Пример, взет от [Ruby Language FAQ][faq]: {% highlight ruby %} class Test @@ -200,7 +258,10 @@ t1 == t2 ### Отворени класове -Класовете в Ruby могат винаги да бъдат отворени за да се добавят и променят. Всеки вграден клас от стандартната библиотека, като `Fixnum` или дори `Object`, родителя на всички обекти, могат да бъдат променяни. Ruby on Rails дефинира множество методи за употребата на дати и времена в `Fixnum`. Пример: +Класовете в Ruby могат винаги да бъдат отворени, за да се допълват и променят. +Всеки вграден клас от стандартната библиотека, като `Fixnum` или дори `Object`, +родителят на всички обекти, може да бъде променен. Ruby on Rails дефинира +множество методи за употребата на дати и времена във `Fixnum`. Пример: {% highlight ruby %} class Fixnum @@ -217,7 +278,13 @@ Time.mktime(2006, 01, 01) + 14.hours # => Sun Jan 01 14:00:00 ### Методи със странни имена -В Ruby е разрешено да използваме \'?\' и \'!\' като последен символ в името на метод. По конвенция, методи, които завършват с \'?\' (i.e. `Array#empty?` връща **true** ако receiver празен) връща булев израз. Потенциално \"опасни\" методи (тоест методи променящи **self** или аргументите си) завършват с \'!\'. Всички методи, променящи аргументите си не завършват с \'!\'. `Array#replace` заменя съдържанието на масив със съдържанието на друг масив. +В Ruby е разрешено да използваме "?" и "!" като последен символ в името на +метод. По конвенция методи, които завършват с "?" (например `Array#empty?` +връща `true` ако receiver празен) връща булев израз. Потенциално "опасни" +методи (тоест методи, променящи `self` или аргументите си, например `exit!`) +завършват с "!". Не всички методи, променящи аргументите си, завършват с "!". +. `Array#replace` заменя съдържанието на масив със съдържанието на друг масив. +Няма смисъл да има подобен метод, който не променя себе си. ### Singleton методи @@ -245,7 +312,10 @@ other_car.inspect # => Cheap car ### Липсващи методи -Ruby не се отказва, ако не може да намери метод отговарящ на дадено съобщение към обект. Когато това стане се вика метода `method_missing`. По подразбиране, `method_missing` активира изключение, но поради динамиката на Ruby, можем да го предефинираме: +Ruby не се отказва, ако не може да намери метод, отговарящ на дадено съобщение +към обект. Когато това стане, се извиква метода `method_missing`. По +подразбиране `method_missing` активира изключение, но поради динамиката на +Ruby можем да го предефинираме, както правят много библиотеки: {% highlight ruby %} # id is the name of the method called, the * syntax collects @@ -260,7 +330,8 @@ __ :a, :b, 10 # arguments: a, b, 10 {% endhighlight %} -При изпълнението на горния код се извеждат детайли относно извикването на метода, но Вие можете свободно да контролирате следствието от този метод. +При изпълнението на горният код се извеждат детайли относно извикването на +метода, но Вие можете свободно да контролирате следствието от този метод. ### Предаване на метод @@ -275,9 +346,11 @@ __ :a, :b, 10 1.send "+", 2 {% endhighlight %} -### Блокове и Обекти +### Блоковете са обекти, които просто не го знаят -Блоковете (closures) се използват интензивно в стандартната библиотека. При извикването на блок можем да ползваме `yield`, или да го направим `Proc` чрез добавянето на специален аргумент: +Блоковете (всъщност closures) се използват интензивно в стандартната +библиотека. При извикването на блок можем да ползваме `yield` или да го +направим `Proc` чрез добавянето на специален аргумент: {% highlight ruby %} def block(&the_block) @@ -289,16 +362,17 @@ adder = block { |a, b| a + b } adder.class # => Proc {% endhighlight %} -Можем да създаваме блокове извън извиквания към методи чрез `Proc.new` или чрез метода `lambda`. Впрочем, методите са обекти: +Можем да създаваме блокове извън методи чрез `Proc.new` или чрез метода +`lambda`. Впрочем, методите също са обекти: {% highlight ruby %} method(:puts).call "puts is an object!" -# => puts is an object! -{% endhighlight %} +# => puts is an object! {% endhighlight %} ### Операторите са синтактична захар -Повечето оператори са \"синтактична захар\" за извиквания на методи. Пример за предефинирането на + : +Повечето оператори са "синтактична захар" за извиквания на методи. Може +например да се предифинира `Fixnum#+`: {% highlight ruby %} class Fixnum @@ -309,19 +383,24 @@ class Fixnum end {% endhighlight %} -Оператоите, които следват не са методи и поради това не могат да бъдат предефинирани: +Не е нужен `operator+` от C++ например. + +Може дори и да се направи достъп, подобен на този при масивите, ако се +предефинират `[]` и `[]=`. `+` и `-` могат също да бъдат предефинирани +съответно чрез `+@` и `-@`. + +Операторите, които следват, не са методи и поради това не могат да бъдат +предефинирани: {% highlight ruby %} =, .., ..., not, &&, and, ||, or, :: {% endhighlight %} В допълнение `+=`, `*=` и т.н са съкращения за `var = var + other_var`, -`var = var * other_var` и не могат да бъдат предефинирани. cannot be redefined. +`var = var * other_var` и не могат да бъдат предефинирани. ## Научете още -Ако сте готови за още знания, посетете [документацията](/en/documentation/). - - +Ако сте готови за още знания, посетете [документацията](/bg/documentation/). [faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html From f3d6f03d780a80c22bc471c8af10b8b96d56d5bc Mon Sep 17 00:00:00 2001 From: Shugo Maeda Date: Fri, 13 May 2016 09:30:45 +0900 Subject: [PATCH 0177/3394] Change NaCl to Ruby Association because hosting is now sponsored by Ruby Association and their sponsors. --- en/about/website/index.md | 4 ++-- ja/about/website/index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/en/about/website/index.md b/en/about/website/index.md index 184c9e9bd1..75346df50a 100644 --- a/en/about/website/index.md +++ b/en/about/website/index.md @@ -34,7 +34,7 @@ to this website. Also many thanks to the organizations that support us: - * [NaCl][nacl] (hosting) + * [Ruby Association][rubyassociation] (hosting) * [Heroku][heroku] (hosting) * [IIJ][iij] (hosting) * [GlobalSign][globalsign] (SSL certification) @@ -51,7 +51,7 @@ Also many thanks to the organizations that support us: [github-repo]: https://github.com/ruby/www.ruby-lang.org/ [github-issues]: https://github.com/ruby/www.ruby-lang.org/issues [github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki -[nacl]: http://www.netlab.jp +[rubyassociation]: http://www.ruby.or.jp [heroku]: https://www.heroku.com/ [iij]: http://www.iij.ad.jp [globalsign]: https://www.globalsign.com diff --git a/ja/about/website/index.md b/ja/about/website/index.md index ed1d037b5b..077a8bda63 100644 --- a/ja/about/website/index.md +++ b/ja/about/website/index.md @@ -33,7 +33,7 @@ Ruby Visual Identity Team による初期のデザインが元になっていま また、われわれをサポートしてくれる以下の機関にも大きな感謝をいたします: - * [NaCl][nacl] (ホスティング) + * [Rubyアソシエーション][rubyassociation] (ホスティング) * [Heroku][heroku] (ホスティング) * [IIJ][iij] (ホスティング) * [GlobalSign][globalsign] (SSL 証明書) @@ -50,7 +50,7 @@ Ruby Visual Identity Team による初期のデザインが元になっていま [github-repo]: https://github.com/ruby/www.ruby-lang.org/ [github-issues]: https://github.com/ruby/www.ruby-lang.org/issues [github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki -[nacl]: http://www.netlab.jp +[rubyassociation]: http://www.ruby.or.jp/ja/sponsors/list/ [heroku]: https://www.heroku.com/ [iij]: http://www.iij.ad.jp [globalsign]: https://www.globalsign.com From fd35a8359a43932d975affda6ec8cddd31d796ef Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Sat, 14 May 2016 09:19:22 +0900 Subject: [PATCH 0178/3394] update bundler 1.12.x, and added entry for ruby version by bundler. --- Gemfile.lock | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 55b5776ac6..e09ae1fbe9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -109,5 +109,8 @@ DEPENDENCIES unicorn validate-website (~> 0.9) +RUBY VERSION + ruby 2.3.1p112 + BUNDLED WITH - 1.11.2 + 1.12.3 From 9c72083b9c554cc21f5f14540fa8134ee47ff5ee Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 13:50:15 +0200 Subject: [PATCH 0179/3394] Remove trailing whitespace --- en/about/license.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/about/license.txt b/en/about/license.txt index a1f19ff99d..426810a7fb 100644 --- a/en/about/license.txt +++ b/en/about/license.txt @@ -44,9 +44,9 @@ You can redistribute it and/or modify it under either the terms of the For the list of those files and their copying conditions, see the file LEGAL. - 5. The scripts and library files supplied as input to or produced as + 5. The scripts and library files supplied as input to or produced as output from the software do not automatically fall under the - copyright of the software, but belong to whomever generated them, + copyright of the software, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this software. From 07f4bc7c4cd5ef28e1b732f2ab594066c395fcd8 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 16 May 2016 14:20:57 +0200 Subject: [PATCH 0180/3394] Improve paragraph on iterators (en) --- .../to-ruby-from-c-and-cpp/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md index 3555df8cdd..61e22a07c5 100644 --- a/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md +++ b/en/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md @@ -136,9 +136,9 @@ Unlike C++, in Ruby,... object to a given variable, and types get figured out at runtime anyway). No casting either. * Iteration is done a bit differently. In Ruby, you don’t use a separate - iterator object (like `vector::const_iterator iter`) but instead - your objects may mixin the `Enumerator` module and just make a method - call like `my_obj.each`. + iterator object (like `vector::const_iterator iter`). + Instead you use an iterator method of the container object (like `each`) + that takes a block of code to which it passes successive elements. * There’s only two container types: `Array` and `Hash`. * There’s no type conversions. With Ruby though, you’ll probably find that they aren’t necessary. From cff86573054742a164a146488c2541bdd84d4d30 Mon Sep 17 00:00:00 2001 From: Laurent Arnoud Date: Mon, 16 May 2016 18:41:33 +0200 Subject: [PATCH 0181/3394] Fix /id/about/website/ link --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index c0f296c86f..72efc6c1d4 100644 --- a/_config.yml +++ b/_config.yml @@ -1834,7 +1834,7 @@ locales: ou contactez le webmaster pour toute question ou tout commentaire. id: | - Situs ini + Situs ini dengan bangga dirawat oleh anggota komunitas Ruby. it: | Questo sito web From e4b08e982e51494f8220e1a802f051c4c9196724 Mon Sep 17 00:00:00 2001 From: Anna Filina Date: Mon, 16 May 2016 14:11:48 -0400 Subject: [PATCH 0182/3394] News: ConFoo Vancouver 2016 call for papers. --- en/news/_posts/2016-05-16-confoo-cfp.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 en/news/_posts/2016-05-16-confoo-cfp.md diff --git a/en/news/_posts/2016-05-16-confoo-cfp.md b/en/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..e5db4248be --- /dev/null +++ b/en/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,19 @@ +--- +layout: news_post +title: "ConFoo Vancouver 2016 is looking for Ruby speakers" +author: "afilina" +translator: +date: 2016-05-16 20:06:00 +0000 +lang: en +--- + +ConFoo is once more seeking passionate speakers for the upcoming conference. + +![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo is happy to open the [call for papers][1] of the Vancouver 2016 edition! If you are interested in speaking about Ruby or other web development topics, please submit until June 6th. We will cover travel and hotel for the speakers who require it. + +ConFoo Vancouver will be held on December 5-7, 2016. For those who are familiar with ConFoo Montreal, that conference will still be running annually in addition to Vancouver. [Visit our site][2] to learn more. + +Talks are 35 minutes for the topic and 10 minutes for Q&A, for a total of 45 minutes. We are eagerly expecting your proposals! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From 50bda27cd0265750017b839b20cbdaca008f22d1 Mon Sep 17 00:00:00 2001 From: Alex Shi Date: Thu, 19 May 2016 13:10:32 +0800 Subject: [PATCH 0183/3394] Translate to-ruby-from-python (zh_cn + zh_tw) (#1394) per https://github.com/ruby/www.ruby-lang.org/pull/1226 --- .../ruby-from-other-languages/to-ruby-from-python/index.md | 5 ++++- .../ruby-from-other-languages/to-ruby-from-python/index.md | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-python/index.md b/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-python/index.md index 77e9cbabd8..ff2d4b3bc6 100644 --- a/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-python/index.md +++ b/zh_cn/documentation/ruby-from-other-languages/to-ruby-from-python/index.md @@ -20,6 +20,7 @@ Ruby 与 Python 一样的地方…… * 一切皆是对象,变量只是对象的引用。 * 尽管关键字有些许不同,但异常处理方式是一致的。 * 拥有嵌入式文档工具(Ruby 的工具叫 rdoc)。 +* 同样好地支持函数式编程,比如:一级类型函数,匿名方法和闭包。 ### 相异点 @@ -42,4 +43,6 @@ Ruby 与 Python 不同的地方…… * `require` 替代 `import`。其他情况,使用相同。 * 通常,代码之*上*(而不是之下的字符文档)的注释用来生成文档。 * 虽然有很多语法糖需要记忆、学习,这也使得 Ruby 非常有趣且有效率。 -* 变量设置后无法取消(类似 Python 的 `del` 声明)。你可以将其重置为 `nil` 让GC回收旧的内容,但它仍然存在于符号表中。 +* 变量设置后无法取消(类似 Python 的 `del` 声明)。你可以将其重置为 `nil` 让 GC 回收旧的内容,但它仍然存在于符号表中。 +* `yield` 关键字作用是不一样的。在 Python 中,它会记住上一次返回时在函数体中调用的位置。外部代码有责任继续执行函数。而在 Ruby 中,`yield` 会执行作为方法最后一个参数传入的方法,然后立即执行。 +* Python 支持一种匿名函数,`lambdas`。而 Ruby 支持 `blocks`,`Procs` 和 `lambdas`。 diff --git a/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-python/index.md b/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-python/index.md index 48fa43e1a5..106f3baabc 100644 --- a/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-python/index.md +++ b/zh_tw/documentation/ruby-from-other-languages/to-ruby-from-python/index.md @@ -51,3 +51,6 @@ Ruby 與 Python 不同的地方... * 用來產生文件的註解通常寫在內容的**上面**(而不像 docstrings 是寫在下面)。 * Ruby 有許多的捷徑可以使用,雖然有比較多要記,但你可以很快學會。這些捷徑會讓 Ruby 變得更有趣而且更有生產力。 +* 變量設置後無法取消(類似 Python 的 `del` 聲明)。你可以將其重置爲 `nil` 讓 GC 回收舊的內容,但它仍然存在于符號表中。 +* `yield` 關鍵字作用是不一樣的。在 Python 中,它會記住上一次返回時在函數體中調用的位置。外部代碼有責任繼續執行函數。而在 Ruby 中,`yield` 會執行作爲方法最後一個參數傳入的方法,然後立即執行。 +* Python 支持一種匿名函數,`lambdas`。而 Ruby 支持 `blocks`,`Procs` 和 `lambdas`。 From 5f13fe58e5050f8f8a74b840a756afd8f607bd52 Mon Sep 17 00:00:00 2001 From: Alex Shi Date: Thu, 19 May 2016 13:11:27 +0800 Subject: [PATCH 0184/3394] Update about/website/index.md (zh_cn) (#1395) --- zh_cn/about/website/index.md | 4 ++-- zh_tw/about/website/index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/zh_cn/about/website/index.md b/zh_cn/about/website/index.md index eaafa70ba0..5ce45c6512 100644 --- a/zh_cn/about/website/index.md +++ b/zh_cn/about/website/index.md @@ -29,7 +29,7 @@ lang: zh_cn 同时也感谢这些组织对我们的支持: - * [NaCl][nacl](托管) + * [Ruby Association][rubyassociation](托管) * [Heroku][heroku](托管) * [IIJ][iij](托管) * [GlobalSign][globalsign](SSL 认证) @@ -46,7 +46,7 @@ lang: zh_cn [github-repo]: https://github.com/ruby/www.ruby-lang.org/ [github-issues]: https://github.com/ruby/www.ruby-lang.org/issues [github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki -[nacl]: http://www.netlab.jp +[rubyassociation]: http://www.ruby.or.jp [heroku]: https://www.heroku.com/ [iij]: http://www.iij.ad.jp [globalsign]: https://www.globalsign.com diff --git a/zh_tw/about/website/index.md b/zh_tw/about/website/index.md index 7414cb4ba8..cb92c36843 100644 --- a/zh_tw/about/website/index.md +++ b/zh_tw/about/website/index.md @@ -31,7 +31,7 @@ lang: zh_tw 此外感謝下列機構提供支持: - * [NaCl][nacl] (網站托管)、 + * [Ruby Association][rubyassociation] (網站托管)、 * [Heroku][heroku] (網站托管)、 * [IIJ][iij] (網站托管)、 * [GlobalSign][globalsign] (SSL 證書)、 @@ -45,7 +45,7 @@ lang: zh_tw [github-repo]: https://github.com/ruby/www.ruby-lang.org/ [github-issues]: https://github.com/ruby/www.ruby-lang.org/issues [github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki -[nacl]: http://www.netlab.jp +[rubyassociation]: http://www.ruby.or.jp [heroku]: https://www.heroku.com/ [iij]: http://www.iij.ad.jp [globalsign]: https://www.globalsign.com From 5d1f4c9ebf03a2c8023534221a63c4965ce084d9 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 19 May 2016 14:17:22 +0200 Subject: [PATCH 0185/3394] Small fix (bg) --- bg/documentation/ruby-from-other-languages/index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bg/documentation/ruby-from-other-languages/index.md b/bg/documentation/ruby-from-other-languages/index.md index d03c7b4ad3..04c66bfeb4 100644 --- a/bg/documentation/ruby-from-other-languages/index.md +++ b/bg/documentation/ruby-from-other-languages/index.md @@ -367,7 +367,8 @@ adder.class # => Proc {% highlight ruby %} method(:puts).call "puts is an object!" -# => puts is an object! {% endhighlight %} +# => puts is an object! +{% endhighlight %} ### Операторите са синтактична захар @@ -403,4 +404,6 @@ end Ако сте готови за още знания, посетете [документацията](/bg/documentation/). + + [faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html From 68fe244d0d2acadfbe8bd36936eb220758d0d8ca Mon Sep 17 00:00:00 2001 From: Simone D Date: Sun, 3 Jan 2016 19:23:31 +0100 Subject: [PATCH 0186/3394] Translate latest news (it) --- ...2015-12-11-ruby-2-3-0-preview2-released.md | 89 +++++++++++++++++++ .../2015-12-16-ruby-2-0-0-p648-released.md | 55 ++++++++++++ .../_posts/2015-12-16-ruby-2-1-8-released.md | 56 ++++++++++++ .../_posts/2015-12-16-ruby-2-2-4-released.md | 54 +++++++++++ ...ng-usage-in-fiddle-and-dl-cve-2015-7551.md | 82 +++++++++++++++++ .../_posts/2015-12-25-ruby-2-3-0-released.md | 83 +++++++++++++++++ 6 files changed, 419 insertions(+) create mode 100644 it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md create mode 100644 it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md create mode 100644 it/news/_posts/2015-12-16-ruby-2-1-8-released.md create mode 100644 it/news/_posts/2015-12-16-ruby-2-2-4-released.md create mode 100644 it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md create mode 100644 it/news/_posts/2015-12-25-ruby-2-3-0-released.md diff --git a/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md new file mode 100644 index 0000000000..0c598204b0 --- /dev/null +++ b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md @@ -0,0 +1,89 @@ +--- +layout: news_post +title: "Ruby 2.3.0-preview2 Released" +author: "naruse" +translator: "simo2409" +date: 2015-12-11 14:00:00 +0000 +lang: it +--- + +Siamo lieti di annunciare il rilascio di Ruby 2.3.0-preview2. + +Ruby 2.3.0-preview2 è la seconda anteprima di Ruby 2.3.0. +Sono state aggiunte molte nuove funzionalità e miglioramenti. + +E' stato aggiunto il [Frozen String Literal +Pragma](https://bugs.ruby-lang.org/issues/11473). Su Ruby 2.1 `"str".freeze` è +stato ottimizzato per ridurre il numero di oggetti allocati in memoria. Ruby 2.3 +introduce un nuovo commento 'magico' e un'opzione da linea di comando che +permette di congelare tutte le stringhe nel codice sorgente. +Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia +stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando +l'opzione `--enable-frozen-string-literal-debug`. + +Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +che esiste già in linguaggi come C#, Groovy e Swift, è stato introdotto per +rendere più semplice la gestione di oggetti che potrebbero essere `nil`, +scrivendo ad esempio `obj&.foo`. Inoltre sono stati aggiunti `Array#dig` e +`Hash#dig`. + +E' stata anche aggiunta la gemma +[did_you_mean](https://bugs.ruby-lang.org/issues/11252), che mostra le possibili +alternative quando si incontrano `NameError` o `NoMethodError` per rendere più +semplice il debug delle nostre applicazioni. + +Sono stati aggiunti [RubyVM::InstructionSequence#to_binary e .load_from_binary](https://bugs.ruby-lang.org/issues/11788) come funzionalità sperimentali. +Con queste funzionalità, possiamo creare un sistema di pre-compilazione ISeq (bytecode). + +Ruby 2.3 include molti fix per migliorare le performance. +Ad esempio, +[ottimizzazzione Proc#call](https://bugs.ruby-lang.org/issues/11569), +[reconsidering method entry data structure](https://bugs.ruby-lang.org/issues/11278), +[l'introduzione di una nuova struttura dati](https://bugs.ruby-lang.org/issues/11420), +a livello del codice macchina per ottimizzare l'allocazione degli oggetti e il codice relativo all'invocazione dei metodi, oltre ad altre molte ottimizzazioni. + +Provate e godetevi Ruby 2.3.0-preview2 e fateci sapere cosa ne pensate! + +## Modifiche importanti da 2.2 + +Vedi le [NEWS](https://github.com/ruby/ruby/blob/v2_3_0_preview2/NEWS) +e il [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0_preview2/ChangeLog) +per maggiori dettagli. + +Con queste modifiche, [1097 file modificati, 97466 aggiunte(+), 58685 rimozioni(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0_preview2) a partire da Ruby 2.2.0! + +## Download + +* + + * SIZE: 14126752 bytes + * SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810 + * SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb + * SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288 + +* + + * SIZE: 17623519 bytes + * SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d + * SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3 + * SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0 + +* + + * SIZE: 11249780 bytes + * SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b + * SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11 + * SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87 + +* + + * SIZE: 19841531 bytes + * SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6 + * SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d + * SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65 + +## Commento alla release + +Potete leggere anche il programma delle release e altre informazioni qui: + +[ReleaseEngineering23](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23) diff --git a/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md new file mode 100644 index 0000000000..04aa955ec2 --- /dev/null +++ b/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -0,0 +1,55 @@ +--- +layout: news_post +title: "Ruby 2.0.0-p648 Released" +author: "usa" +translator: "simo2409" +date: 2015-12-16 12:00:00 +0000 +lang: it +--- + +Ruby 2.0.0-p648 è stato rilasciato. + +Questa release include un fix di sicurezza per Fiddle e per l'estensione DL. +Guarda i topic qui sotto per maggiori informazioni. + +* [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +Ruby 2.0.0 è nella fase di mantenimento di sicurezza, che durerà fino al 24 +Febbraio 2016. +Dopo tale data, il supporto a Ruby 2.0.0 sarà terminato. +Vi consigliamo di cominciare a pianificare la migrazione a versioni più recenti +di Ruby, come la 2.1, la 2.2 o la 2.3 (programmata per il rilascio nelle prossime settimane). + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2) + + SIZE: 10785918 bytes + SHA1: 504be2eae6cdfe93aa7ed02ec55e35043d067ad5 + SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166 + SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz) + + SIZE: 13622628 bytes + SHA1: 2323df55f5e941c45be13500df9daf216098f884 + SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8 + SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz) + + SIZE: 8303584 bytes + SHA1: 4500e7b65a3788a2c9d787dc3b7d7e16014d4daf + SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 + SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 + +* [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip) + + SIZE: 15139871 bytes + SHA1: 2d5521cc12823af20269b9380a9d605a21509b43 + SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd + SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 + +## Commento alla release + +Grazie a tutti coloro che ci hanno aiutato con questa release. diff --git a/it/news/_posts/2015-12-16-ruby-2-1-8-released.md b/it/news/_posts/2015-12-16-ruby-2-1-8-released.md new file mode 100644 index 0000000000..354213c0e0 --- /dev/null +++ b/it/news/_posts/2015-12-16-ruby-2-1-8-released.md @@ -0,0 +1,56 @@ +--- +layout: news_post +title: "Ruby 2.1.8 Released" +author: "usa" +translator: "simo2409" +date: 2015-12-16 12:00:00 +0000 +lang: it +--- + +Ruby 2.1.8 è stato rilasciato. + +Questa release include un fix di sicurezza per Fiddle e per l'estensione DL. +Guarda i topic qui sotto per maggiori informazioni. + +* [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +E molti altri fix. +Vedi il [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_1_8/ChangeLog) +per maggiori informazioni. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2) + + SIZE: 12014426 bytes + SHA1: 0284eaf42ac76a641abd5cd4b6bd933abeb9934e + SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 + SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz) + + SIZE: 15154017 bytes + SHA1: c7e50159357afd87b13dc5eaf4ac486a70011149 + SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d + SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz) + + SIZE: 9382672 bytes + SHA1: e1f4e043006a762604c042e6aac7540854a92d8c + SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d + SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip) + + SIZE: 16686848 bytes + SHA1: b554328fb3d9f2a527adc5830de221b00e3ce2b9 + SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee + SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6 + +## Commento alla release + +Grazie a tutti coloro che ci hanno aiutato con questa release. + +Il mantenimento di Ruby 2.1, inclusa questa release, è basato sull' "Agreement +for the Ruby stable version" della [Ruby Association](http://www.ruby.or.jp/). diff --git a/it/news/_posts/2015-12-16-ruby-2-2-4-released.md b/it/news/_posts/2015-12-16-ruby-2-2-4-released.md new file mode 100644 index 0000000000..cf423d49f4 --- /dev/null +++ b/it/news/_posts/2015-12-16-ruby-2-2-4-released.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "Ruby 2.2.4 Released" +author: "nagachika" +translator: "simo2409" +date: 2015-12-16 12:00:00 +0000 +lang: it +--- + +Ruby 2.2.4 è stato rilasciato. + +Questa release include un fix di sicurezza per Fiddle e per l'estensione DL. +Guarda i topic qui sotto per maggiori informazioni. + +* [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) + +E molti altri fix. +Vedi il [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog) per maggiori informazioni. + +## Download + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2) + + SIZE: 13336518 bytes + SHA1: 6132840a859dbf2ac1498ba313021f299a870038 + SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 + SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz) + + SIZE: 16638151 bytes + SHA1: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 + SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 + SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832 + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz) + + SIZE: 10464500 bytes + SHA1: 9216cf34df7fd5ce8059a6403951d6d47964442a + SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c + SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip) + + SIZE: 18472352 bytes + SHA1: b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a + SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 + SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b + +## Release Comment + +I molti committer, developer e utenti che ci hanno segnalato bug hanno reso +possibile questa release. +Grazie per il vostro contributo. diff --git a/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md new file mode 100644 index 0000000000..8006e04593 --- /dev/null +++ b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -0,0 +1,82 @@ +--- +layout: news_post +title: "CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL" +author: "usa" +translator: "simo2409" +date: 2015-12-16 12:00:00 +0000 +tags: security +lang: it +--- + +E' stata trovata una vulnerabilità nella gestione delle stringhe in Fiddle e DL. +A questa vulnerabilità è stato assegnato l'identificativo [CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551). + +Dettagli +------- + +E' stato trovata una vulnerabilità nella gestion delle stringhe in Fiddle e DL. +Questo problema è stato originariamente riportato e corretto con il codice [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) in DL, +ma è riapparso dopo che DL è stato re-implementato utilizzando Fiddle e libffi. + +E, sempre riguardo DL, la vulnerabilità [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) è stata risolta in Ruby 1.9.1, ma non negli altri branch, quindi tutte le versioni (eccetto Ruby 1.9.1) sono ancora vulnerabili. + +Un esempio del codice che causa il problema: + +{% highlight ruby %} +handle = Fiddle::Handle.new(dangerous_user_input) +{% endhighlight %} + +O: + +{% highlight ruby %} +handle = Fiddle::Handle.new(some_library) +function_pointer = handle[dangerous_user_input] +{% endhighlight %} + +Tutti gli utenti che stanno utilizzando una versione ancora senza fix dovrebbero aggiornarla o usare un workaround. + +Versioni afflitte +----------------- + +* Tutte le versioni patch di Ruby 1.9.2 e Ruby 1.9.3 (DL e Fiddle). +* Tutte le versioni patch di Ruby 2.0.0 e precedenti al patchlevel 648 (DL e Fiddle). +* Tutte le versioni di Ruby 2.1 precedenti a Ruby 2.1.8 (DL e Fiddle). +* Tutte le versioni di Ruby 2.2 precedenti a Ruby 2.2.4 (Fiddle). +* Ruby 2.3.0 preview 1 e preview 2 (Fiddle). +* Tutte le versioni precedenti alla revisione del trunk 53153 (Fiddle). + +Workaround +----------- + +Se non è possibile aggiornare, il seguente codice può essere utilizzato per risolvere il problema in Fiddle: + +{% highlight ruby %} +class Fiddle::Handle + alias :old_initialize :initialize + + def initialize file, *args + raise SecurityError if file.tainted? && $SAFE > 0 + old_initialize file, *args + end + + alias :sym :[] + alias :old_call :[] + + def [] fun + raise SecurityError if fun.tainted? && $SAFE > 0 + old_call fun + end +end +{% endhighlight %} + +Se si utilizza DL si suggerisce di utilizzare Fiddle al suo posto. + +Credits +------- + +Grazie a Christian Hofstaedtler per aver riportato il problema! + +Storia +------- + +* Originariamente pubblicato il 2015-12-16 12:00:00 UTC diff --git a/it/news/_posts/2015-12-25-ruby-2-3-0-released.md b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md new file mode 100644 index 0000000000..d8c1b3a744 --- /dev/null +++ b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -0,0 +1,83 @@ +--- +layout: news_post +title: "Ruby 2.3.0 Released" +author: "naruse" +translator: "simo2409" +date: 2015-12-25 17:00:00 +0000 +lang: it +--- + +Siamo lieti di annunciare la release di Ruby 2.3.0. + +Questa è la prima release stabile della serie Ruby 2.3. +Questa versione introduce nuove funzionalità, ad esempio: + +Il [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). +Su Ruby 2.1 `"str".freeze` è stato ottimizzato per ridurre il numero di oggetti allocati in memoria. +Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che +permette di congelare tutte le stringhe nel codice sorgente. +Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia +stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando +l'opzione `--enable-frozen-string-literal-debug`. + +Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +che esiste già in linguaggi come C#, Groovy e Swift, è stato introdotto per +rendere più semplice la gestione di oggetti che potrebbero essere `nil`, +scrivendo ad esempio `obj&.foo`. Inoltre sono stati aggiunti `Array#dig` e +`Hash#dig`. +Da notare che si comporta come [try! di Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), +che tratta in maniera particolare solo nil. + +La gemma [did_you_mean](https://bugs.ruby-lang.org/issues/11252), +che mostra le possibili alternative quando si incontrano `NameError` o +`NoMethodError` per rendere più semplice il debug delle nostre applicazioni. + +[RubyVM::InstructionSequence#to_binary e .load_from_binary](https://bugs.ruby-lang.org/issues/11788) sono stati aggiunte come funzionalità sperimentali. +Con queste funzionalità, possiamo creare un sistema di pre-compilazione ISeq (bytecode). + +Questa release include anche molti miglioramenti alle performance, come ad esempio: +[reconsider method entry data structure](https://bugs.ruby-lang.org/issues/11278), +[introducing new table data structure](https://bugs.ruby-lang.org/issues/11420), +[ottimizzazione di Proc#call](https://bugs.ruby-lang.org/issues/11569), +un'ottimizzazione a livello di codice macchina per ottimizzare l'allocazione +degli oggetti e l'invocazione dei metodi, +[smarter instance variable data structure](https://bugs.ruby-lang.org/issues/11170), +[`exception: false` keyword argument support on Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229) +e così via. Controllare la sezione "Implementation improvements" nel file NEWS. + +Per una lista completa delle nuove funzionalità e le note sulla compatibilità, vedere il file [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) e il [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). + +Con queste modifiche, [2946 files modificati, 104057 aggiunte(+), 59478 rimozioni(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) da Ruby 2.2.0! + +Buon natale, Buone feste e buon divertimento con Ruby 2.3! + +## Download + +* + + SIZE: 14185617 bytes + SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 + SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e + SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c + +* + + SIZE: 17648682 bytes + SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 + SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 + SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc + +* + + SIZE: 11294412 bytes + SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 + SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 + SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 + +* + + SIZE: 19840511 bytes + SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 + SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a + SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef + From b9c2869b94a5cef39ab4a1c2795415945c86a4df Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 19 May 2016 14:28:56 +0200 Subject: [PATCH 0187/3394] Small fixes in recent posts (it) --- ...2015-12-11-ruby-2-3-0-preview2-released.md | 12 ++++---- .../2015-12-16-ruby-2-0-0-p648-released.md | 3 +- ...ng-usage-in-fiddle-and-dl-cve-2015-7551.md | 28 +++++++++---------- .../_posts/2015-12-25-ruby-2-3-0-released.md | 16 ++++++----- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md index 0c598204b0..66a07b83c9 100644 --- a/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md +++ b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md @@ -12,16 +12,17 @@ Siamo lieti di annunciare il rilascio di Ruby 2.3.0-preview2. Ruby 2.3.0-preview2 è la seconda anteprima di Ruby 2.3.0. Sono state aggiunte molte nuove funzionalità e miglioramenti. -E' stato aggiunto il [Frozen String Literal -Pragma](https://bugs.ruby-lang.org/issues/11473). Su Ruby 2.1 `"str".freeze` è +E' stato aggiunto il [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). +Su Ruby 2.1 `"str".freeze` è stato ottimizzato per ridurre il numero di oggetti allocati in memoria. Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che permette di congelare tutte le stringhe nel codice sorgente. Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando -l'opzione `--enable-frozen-string-literal-debug`. +l'opzione `--debug=frozen-string-literal`. -Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) +([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, che esiste già in linguaggi come C#, Groovy e Swift, è stato introdotto per rendere più semplice la gestione di oggetti che potrebbero essere `nil`, scrivendo ad esempio `obj&.foo`. Inoltre sono stati aggiunti `Array#dig` e @@ -32,7 +33,8 @@ E' stata anche aggiunta la gemma alternative quando si incontrano `NameError` o `NoMethodError` per rendere più semplice il debug delle nostre applicazioni. -Sono stati aggiunti [RubyVM::InstructionSequence#to_binary e .load_from_binary](https://bugs.ruby-lang.org/issues/11788) come funzionalità sperimentali. +Sono stati aggiunti [RubyVM::InstructionSequence#to_binary e .load_from_binary](https://bugs.ruby-lang.org/issues/11788) +come funzionalità sperimentali. Con queste funzionalità, possiamo creare un sistema di pre-compilazione ISeq (bytecode). Ruby 2.3 include molti fix per migliorare le performance. diff --git a/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md b/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md index 04aa955ec2..bd579cdba6 100644 --- a/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md +++ b/it/news/_posts/2015-12-16-ruby-2-0-0-p648-released.md @@ -14,8 +14,7 @@ Guarda i topic qui sotto per maggiori informazioni. * [CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL](https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/) -Ruby 2.0.0 è nella fase di mantenimento di sicurezza, che durerà fino al 24 -Febbraio 2016. +Ruby 2.0.0 è nella fase di mantenimento di sicurezza, che durerà fino al 24 Febbraio 2016. Dopo tale data, il supporto a Ruby 2.0.0 sarà terminato. Vi consigliamo di cominciare a pianificare la migrazione a versioni più recenti di Ruby, come la 2.1, la 2.2 o la 2.3 (programmata per il rilascio nelle prossime settimane). diff --git a/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index 8006e04593..fa4408dfdf 100644 --- a/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -9,16 +9,18 @@ lang: it --- E' stata trovata una vulnerabilità nella gestione delle stringhe in Fiddle e DL. -A questa vulnerabilità è stato assegnato l'identificativo [CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551). +A questa vulnerabilità è stato assegnato l'identificativo +[CVE-2015-7551](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551). -Dettagli -------- +## Dettagli E' stato trovata una vulnerabilità nella gestion delle stringhe in Fiddle e DL. Questo problema è stato originariamente riportato e corretto con il codice [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) in DL, ma è riapparso dopo che DL è stato re-implementato utilizzando Fiddle e libffi. -E, sempre riguardo DL, la vulnerabilità [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) è stata risolta in Ruby 1.9.1, ma non negli altri branch, quindi tutte le versioni (eccetto Ruby 1.9.1) sono ancora vulnerabili. +E, sempre riguardo DL, la vulnerabilità [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) +è stata risolta in Ruby 1.9.1, ma non negli altri branch, +quindi tutte le versioni (eccetto Ruby 1.9.1) sono ancora vulnerabili. Un esempio del codice che causa il problema: @@ -33,10 +35,10 @@ handle = Fiddle::Handle.new(some_library) function_pointer = handle[dangerous_user_input] {% endhighlight %} -Tutti gli utenti che stanno utilizzando una versione ancora senza fix dovrebbero aggiornarla o usare un workaround. +Tutti gli utenti che stanno utilizzando una versione ancora senza fix +dovrebbero aggiornarla o usare un workaround. -Versioni afflitte ------------------ +## Versioni afflitte * Tutte le versioni patch di Ruby 1.9.2 e Ruby 1.9.3 (DL e Fiddle). * Tutte le versioni patch di Ruby 2.0.0 e precedenti al patchlevel 648 (DL e Fiddle). @@ -45,10 +47,10 @@ Versioni afflitte * Ruby 2.3.0 preview 1 e preview 2 (Fiddle). * Tutte le versioni precedenti alla revisione del trunk 53153 (Fiddle). -Workaround ------------ +## Workaround -Se non è possibile aggiornare, il seguente codice può essere utilizzato per risolvere il problema in Fiddle: +Se non è possibile aggiornare, il seguente codice può essere utilizzato +per risolvere il problema in Fiddle: {% highlight ruby %} class Fiddle::Handle @@ -71,12 +73,10 @@ end Se si utilizza DL si suggerisce di utilizzare Fiddle al suo posto. -Credits -------- +## Credits Grazie a Christian Hofstaedtler per aver riportato il problema! -Storia -------- +## Storia * Originariamente pubblicato il 2015-12-16 12:00:00 UTC diff --git a/it/news/_posts/2015-12-25-ruby-2-3-0-released.md b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md index d8c1b3a744..58ad7e2b93 100644 --- a/it/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -12,21 +12,22 @@ Siamo lieti di annunciare la release di Ruby 2.3.0. Questa è la prima release stabile della serie Ruby 2.3. Questa versione introduce nuove funzionalità, ad esempio: -Il [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473). +Il [frozen string literal pragma](https://bugs.ruby-lang.org/issues/11473). Su Ruby 2.1 `"str".freeze` è stato ottimizzato per ridurre il numero di oggetti allocati in memoria. Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che permette di congelare tutte le stringhe nel codice sorgente. Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando -l'opzione `--enable-frozen-string-literal-debug`. +l'opzione `--debug=frozen-string-literal`. -Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, +Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) +([chiamato anche lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, che esiste già in linguaggi come C#, Groovy e Swift, è stato introdotto per rendere più semplice la gestione di oggetti che potrebbero essere `nil`, scrivendo ad esempio `obj&.foo`. Inoltre sono stati aggiunti `Array#dig` e `Hash#dig`. Da notare che si comporta come [try! di Active Support](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), -che tratta in maniera particolare solo nil. +che tratta in maniera particolare solo `nil`. La gemma [did_you_mean](https://bugs.ruby-lang.org/issues/11252), che mostra le possibili alternative quando si incontrano `NameError` o @@ -36,7 +37,7 @@ che mostra le possibili alternative quando si incontrano `NameError` o Con queste funzionalità, possiamo creare un sistema di pre-compilazione ISeq (bytecode). Questa release include anche molti miglioramenti alle performance, come ad esempio: -[reconsider method entry data structure](https://bugs.ruby-lang.org/issues/11278), +[reconsidering method entry data structure](https://bugs.ruby-lang.org/issues/11278), [introducing new table data structure](https://bugs.ruby-lang.org/issues/11420), [ottimizzazione di Proc#call](https://bugs.ruby-lang.org/issues/11569), un'ottimizzazione a livello di codice macchina per ottimizzare l'allocazione @@ -45,7 +46,9 @@ degli oggetti e l'invocazione dei metodi, [`exception: false` keyword argument support on Socket#*_nonblock methods](https://bugs.ruby-lang.org/issues/11229) e così via. Controllare la sezione "Implementation improvements" nel file NEWS. -Per una lista completa delle nuove funzionalità e le note sulla compatibilità, vedere il file [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) e il [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). +Per una lista completa delle nuove funzionalità e le note sulla compatibilità, vedere il file +[NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) e il +[ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). Con queste modifiche, [2946 files modificati, 104057 aggiunte(+), 59478 rimozioni(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) da Ruby 2.2.0! @@ -80,4 +83,3 @@ Buon natale, Buone feste e buon divertimento con Ruby 2.3! SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef - From ce502f9bc7cfa26be033ff3206e54d7ee1cd5f56 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 19 May 2016 14:28:57 +0200 Subject: [PATCH 0188/3394] Small fixes in recent posts (it) Thanks to @kennyadsl. --- it/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md | 2 +- it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md | 2 +- ...nsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md | 2 +- it/news/_posts/2015-12-25-ruby-2-3-0-released.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/it/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md b/it/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md index 79fd4f39bc..8f341bfb72 100644 --- a/it/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md +++ b/it/news/_posts/2015-11-11-ruby-2-3-0-preview1-released.md @@ -18,7 +18,7 @@ stato ottimizzato per ridurre il numero di oggetti allocati in memoria. Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che permette di congelare tutte le stringhe nel codice sorgente. Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia -stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando +stato creato l'oggetto che causa l'errore `"can't modify frozen String"` passando l'opzione `--enable-frozen-string-literal-debug`. Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537), diff --git a/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md index 66a07b83c9..f2d2fa2850 100644 --- a/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md +++ b/it/news/_posts/2015-12-11-ruby-2-3-0-preview2-released.md @@ -18,7 +18,7 @@ stato ottimizzato per ridurre il numero di oggetti allocati in memoria. Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che permette di congelare tutte le stringhe nel codice sorgente. Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia -stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando +stato creato l'oggetto che causa l'errore `"can't modify frozen String"` passando l'opzione `--debug=frozen-string-literal`. Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) diff --git a/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md index fa4408dfdf..2385486d96 100644 --- a/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md +++ b/it/news/_posts/2015-12-16-unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551.md @@ -14,7 +14,7 @@ A questa vulnerabilità è stato assegnato l'identificativo ## Dettagli -E' stato trovata una vulnerabilità nella gestion delle stringhe in Fiddle e DL. +E' stato trovata una vulnerabilità nella gestione delle stringhe in Fiddle e DL. Questo problema è stato originariamente riportato e corretto con il codice [CVE-2009-5147](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147) in DL, ma è riapparso dopo che DL è stato re-implementato utilizzando Fiddle e libffi. diff --git a/it/news/_posts/2015-12-25-ruby-2-3-0-released.md b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md index 58ad7e2b93..7c985dbc53 100644 --- a/it/news/_posts/2015-12-25-ruby-2-3-0-released.md +++ b/it/news/_posts/2015-12-25-ruby-2-3-0-released.md @@ -17,7 +17,7 @@ Su Ruby 2.1 `"str".freeze` è stato ottimizzato per ridurre il numero di oggetti Ruby 2.3 introduce un nuovo commento 'magico' e un'opzione da linea di comando che permette di congelare tutte le stringhe nel codice sorgente. Inoltre per poter debuggare le proprie applicazioni, potete individuare dove sia -stato creato l'oggeto che causa l'errore `"can't modify frozen String"` passando +stato creato l'oggetto che causa l'errore `"can't modify frozen String"` passando l'opzione `--debug=frozen-string-literal`. Il [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) From 9a25c91629e8bd237df82219e8f0f1ec201aaaea Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Thu, 19 May 2016 22:21:19 +0900 Subject: [PATCH 0189/3394] Improve paragraph on iterators (ja) --- .../to-ruby-from-c-and-cpp/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md index d2d9b93a51..fe7a6a52b8 100644 --- a/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md +++ b/ja/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md @@ -109,9 +109,9 @@ C++と違って、Rubyは... * どんな種類のオブジェクトでも変数に設定でき、型は実行時に評価されるので、 C++テンプレートは必要ありません。キャストもありません。 * イテレーションはわずかな違いがあります。 - Rubyでは、(`vector::const_iterator iter`のような)独立したイテレータ・オブジェクトは使いません。 - 代わりに、オブジェクトは`Enumerator`モジュールをMix-inし、 - `my_obj.each`のように呼び出すメソッドを作成する必要があります。 + Rubyでは、`vector::const_iterator iter`のような独立したイテレータオブジェクトは使いません。 + 代わりに、コンテナオブジェクトが持つ`each`などのイテレータメソッドを使います。 + イテレータメソッドはコード片を受け取り、それを各要素へと順に渡していきます。 * コンテナクラスは`Array`と`Hash`の2種類だけです。 * 型変換はありません。Rubyを使い始めれば、必要ない理由がわかるはずです。 * マルチスレッド機能は組み込まれています。 From 0fc847f3a6e2ce0f57129b49bd66db7c85fb88f4 Mon Sep 17 00:00:00 2001 From: SHIMADA Koji Date: Thu, 19 May 2016 22:47:55 +0900 Subject: [PATCH 0190/3394] Update and markup summary sections on root pages (ja) --- ja/community/index.md | 7 +++++++ ja/dev/index.md | 1 + ja/documentation/index.md | 4 +++- ja/downloads/index.md | 2 +- ja/libraries/index.md | 1 + ja/security/index.md | 1 + 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ja/community/index.md b/ja/community/index.md index caca8f8f37..ee650de4e0 100644 --- a/ja/community/index.md +++ b/ja/community/index.md @@ -4,6 +4,13 @@ title: "コミュニティ" lang: ja --- +プログラミング言語の周りに育まれるコミュニティは、その言語における最も重要な強みの一つです。 +Rubyには活気があり成長しているコミュニティがあります。 +Rubyコミュニティはどのようなスキルレベルの人々にとっても心地よい場です。 +{: .summary} + +Rubyコミュニティに興味があるのなら、ぜひ以下のコミュニティにアクセスしてみてください。 + ## 団体 * [日本Rubyの会][1] diff --git a/ja/dev/index.md b/ja/dev/index.md index 6e0e701d2a..d0be15ce01 100644 --- a/ja/dev/index.md +++ b/ja/dev/index.md @@ -5,6 +5,7 @@ lang: ja --- ここでは、Ruby自体の開発を追いかけるための情報源について述べます。 +{: .summary} ## Wiki diff --git a/ja/documentation/index.md b/ja/documentation/index.md index 8351b1519e..a4f14811fd 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -4,7 +4,9 @@ title: "ドキュメント" lang: ja --- -ここでは、マニュアルなどのドキュメントを紹介します。 +ここでは、マニュアルやチュートリアル、リファレンスといった、 +Rubyでプログラミングする際に役立つドキュメントを紹介します。 +{: .summary} ### マニュアル diff --git a/ja/downloads/index.md b/ja/downloads/index.md index 7a5b01f283..280556a587 100644 --- a/ja/downloads/index.md +++ b/ja/downloads/index.md @@ -5,9 +5,9 @@ lang: ja --- ここでは、Rubyインタプリタの代表的な入手方法を説明します。 - 現在の安定版は {{ site.downloads.stable[0].version }}です。 [Ruby’sライセンス][license]を必ずお読み下さい。 +{: .summary} ### Rubyのインストール方法 diff --git a/ja/libraries/index.md b/ja/libraries/index.md index b5d71cae43..09992ef651 100644 --- a/ja/libraries/index.md +++ b/ja/libraries/index.md @@ -5,6 +5,7 @@ lang: ja --- 多くのプログラミング言語と同様に、Ruby にも幅広いサードパーティのライブラリが提供されています。 +{: .summary} それらのほとんどは "gem" という形式で公開されています。[RubyGems][rubygems] は (Ruby に特化した `apt-get` と同じようなパッケージングシステムで) ライブラリの作成や公開、インストールを助けるシステムです。Ruby のバージョン 1.9 以降 RubyGems は標準添付となっていますが、それ以前のバージョンの Ruby の場合は[自分でインストール][rubygems-download]する必要があります。 diff --git a/ja/security/index.md b/ja/security/index.md index f82b8cc395..6592c84057 100644 --- a/ja/security/index.md +++ b/ja/security/index.md @@ -5,6 +5,7 @@ lang: ja --- Rubyのセキュリティ問題に関連する情報を紹介します。 +{: .summary} ## セキュリティ問題の報告窓口 From 5624e154d4f388b0d6510bc50e3825380c7b82b5 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:27 +0200 Subject: [PATCH 0191/3394] Rename posts in preparation for Jekyll 3 Jekyll 3 will remove trailing and multiple hyphens from the generated post URLs. Rename the affected files to keep filenames and URLs in sync. --- ...7-p248-released-.md => 2009-12-25-ruby-1-8-7-p248-released.md} | 0 ...-ruby-1-9-2-released-.md => 2010-11-15-ruby-1-9-2-released.md} | 0 ...-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} | 0 ...g-guide-ist-da-obwohl-.md => 2002-12-11-ruby-hacking-guide.md} | 0 ...{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} | 0 ...0-000-.md => 2011-10-12-programming-competitions-with-matz.md} | 0 ...riff.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} | 0 ...-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} | 0 ...g-guide-is-out-though-.md => 2002-12-11-ruby-hacking-guide.md} | 0 ...{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} | 0 ...grand-prize-12000.md => 2010-11-17-fukuoka-ruby-award-2011.md} | 0 ...00-jpy.md => 2011-10-12-programming-competitions-with-matz.md} | 0 ...ack-.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} | 0 ...be-judged-by-matz.md => 2012-11-10-fukuoka-ruby-award-2013.md} | 0 ...d => 2010-10-02-matz-visita-san-francisco-y-silicon-valley.md} | 0 ...by-.md => 2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby.md} | 0 ...ruby-1-9-2-p290-.md => 2011-07-19-liberado-ruby-1-9-2-p290.md} | 0 ...4-06-matz-gana-el-premio-al-avance-del-software-libre-2011.md} | 0 ... => 2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby.md} | 0 ...ygems-.md => 2012-04-29-parches-de-seguridad-para-rubygems.md} | 0 ...7-p370-liberado-.md => 2012-07-05-ruby-1-8-7-p370-liberado.md} | 0 ...ruby-1-9-3-p327-.md => 2012-11-12-liberado-ruby-1-9-3-p327.md} | 0 ...ack-.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} | 0 ...be-judged-by-matz.md => 2012-11-10-fukuoka-ruby-award-2013.md} | 0 ...grand-prize-12000.md => 2011-01-01-fukuoka-ruby-award-2011.md} | 0 ...be-judged-by-matz.md => 2013-01-06-fukuoka-ruby-award-2013.md} | 0 ...ine-ruby-2006-.md => 2006-06-28-rubyist-magazine-ruby-2006.md} | 0 ...yist-magazine-0016-.md => 2006-09-21-rubyist-magazine-0016.md} | 0 ...yist-magazine-0017-.md => 2006-11-26-rubyist-magazine-0017.md} | 0 ...09-12-25-ruby-1-8-7-p248-.md => 2009-12-25-ruby-1-8-7-p248.md} | 0 ...10-06-23-ruby-1-8-7-p299-.md => 2010-06-23-ruby-1-8-7-p299.md} | 0 ...11-07-02-ruby-1-8-7-p352-.md => 2011-07-02-ruby-1-8-7-p352.md} | 0 ...12-02-16-ruby-1-9-3-p125-.md => 2012-02-16-ruby-1-9-3-p125.md} | 0 ...-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} | 0 ...g-guide-is-out-though-.md => 2002-12-11-ruby-hacking-guide.md} | 0 ...{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} | 0 .../{2006-10-30-rubyconf-2006-.md => 2006-10-30-rubyconf-2006.md} | 0 ...2006-11-10--2006-11-25.md => 2006-11-10-meeting-2006-11-25.md} | 0 ...07-03-11-rails-framework-.md => 2007-03-11-rails-framework.md} | 0 .../_posts/{2007-09-10--4-.md => 2007-09-10-ruby-kr-seminar-4.md} | 0 .../{2007-09-10-rubyconf-2007-.md => 2007-09-10-rubyconf-2007.md} | 0 .../_posts/{2008-06-12--1-8-7-.md => 2008-06-12-ruby-1-8-7.md} | 0 ...ita-edycja-konferencji-niebawem.md => 2012-10-22-rupy-2012.md} | 0 .../{2009-02-16-ruby-1-9-1-.md => 2009-02-16-ruby-1-9-1.md} | 0 .../{2010-11-06-ruby-1-9-2-.md => 2010-11-06-ruby-1-9-2.md} | 0 ...11-01-04-ruby-1-9-2-p136-.md => 2011-01-04-ruby-1-9-2-p136.md} | 0 .../{2011-11-26-ruby-1-9-3-p0-.md => 2011-11-26-ruby-1-9-3-p0.md} | 0 .../{2011-12-29-ruby-china-.md => 2011-12-29-ruby-china.md} | 0 .../{2007-09-13-rubyconf-2007-.md => 2007-09-13-rubyconf-2007.md} | 0 ...-09-27-euruko-2007-ruby-.md => 2007-09-27-euruko-2007-ruby.md} | 0 .../{2009-01-31-ruby-1-9-1-.md => 2009-01-31-ruby-1-9-1.md} | 0 ...60-1-8-6-p368-.md => 2009-05-02-ruby-1-8-7-p160-1-8-6-p368.md} | 0 ...2009-07-21-bigdecimal-dos-.md => 2009-07-21-bigdecimal-dos.md} | 0 ...09-07-21-ruby-1-9-1-p243-.md => 2009-07-21-ruby-1-9-1-p243.md} | 0 ...uby-1-9-2-preview-1-.md => 2009-07-21-ruby-1-9-2-preview-1.md} | 0 ...2010-07-17-ruby-1-9-2-rc2-.md => 2010-07-17-ruby-1-9-2-rc2.md} | 0 .../{2010-08-18-ruby-1-9-2-.md => 2010-08-18-ruby-1-9-2.md} | 0 57 files changed, 0 insertions(+), 0 deletions(-) rename bg/news/_posts/{2009-12-25-ruby-1-8-7-p248-released-.md => 2009-12-25-ruby-1-8-7-p248-released.md} (100%) rename bg/news/_posts/{2010-11-15-ruby-1-9-2-released-.md => 2010-11-15-ruby-1-9-2-released.md} (100%) rename de/news/_posts/{2002-12-07-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} (100%) rename de/news/_posts/{2002-12-11-ruby-hacking-guide-ist-da-obwohl-.md => 2002-12-11-ruby-hacking-guide.md} (100%) rename de/news/_posts/{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} (100%) rename de/news/_posts/{2011-10-13-anstehende-ruby-programmierwettbewerbe-mit-matz---groer-preis-1-000-000-.md => 2011-10-12-programming-competitions-with-matz.md} (100%) rename de/news/_posts/{2012-02-16-sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} (100%) rename en/news/_posts/{2002-12-07-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} (100%) rename en/news/_posts/{2002-12-11-ruby-hacking-guide-is-out-though-.md => 2002-12-11-ruby-hacking-guide.md} (100%) rename en/news/_posts/{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} (100%) rename en/news/_posts/{2010-11-17-fukuoka-ruby-award-2011-competition---grand-prize-12000.md => 2010-11-17-fukuoka-ruby-award-2011.md} (100%) rename en/news/_posts/{2011-10-12-upcoming-ruby-programming-competitions-with-matz---grand-prize---1000000-jpy.md => 2011-10-12-programming-competitions-with-matz.md} (100%) rename en/news/_posts/{2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} (100%) rename en/news/_posts/{2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md => 2012-11-10-fukuoka-ruby-award-2013.md} (100%) rename es/news/_posts/{2010-10-02-matz-visita-san-francisco-y-silicon-valley-.md => 2010-10-02-matz-visita-san-francisco-y-silicon-valley.md} (100%) rename es/news/_posts/{2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby-.md => 2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby.md} (100%) rename es/news/_posts/{2011-07-19-liberado-ruby-1-9-2-p290-.md => 2011-07-19-liberado-ruby-1-9-2-p290.md} (100%) rename es/news/_posts/{2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011-.md => 2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011.md} (100%) rename es/news/_posts/{2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby-.md => 2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby.md} (100%) rename es/news/_posts/{2012-04-29-parches-de-seguridad-para-rubygems-.md => 2012-04-29-parches-de-seguridad-para-rubygems.md} (100%) rename es/news/_posts/{2012-07-05-ruby-1-8-7-p370-liberado-.md => 2012-07-05-ruby-1-8-7-p370-liberado.md} (100%) rename es/news/_posts/{2012-11-12-liberado-ruby-1-9-3-p327-.md => 2012-11-12-liberado-ruby-1-9-3-p327.md} (100%) rename id/news/_posts/{2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md => 2012-02-16-security-fix-for-ruby-openssl-module.md} (100%) rename id/news/_posts/{2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md => 2012-11-10-fukuoka-ruby-award-2013.md} (100%) rename it/news/_posts/{2011-01-01-fukuoka-ruby-award-2011-competition---grand-prize-12000.md => 2011-01-01-fukuoka-ruby-award-2011.md} (100%) rename it/news/_posts/{2013-01-06-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md => 2013-01-06-fukuoka-ruby-award-2013.md} (100%) rename ja/news/_posts/{2006-06-28-rubyist-magazine-ruby-2006-.md => 2006-06-28-rubyist-magazine-ruby-2006.md} (100%) rename ja/news/_posts/{2006-09-21-rubyist-magazine-0016-.md => 2006-09-21-rubyist-magazine-0016.md} (100%) rename ja/news/_posts/{2006-11-26-rubyist-magazine-0017-.md => 2006-11-26-rubyist-magazine-0017.md} (100%) rename ja/news/_posts/{2009-12-25-ruby-1-8-7-p248-.md => 2009-12-25-ruby-1-8-7-p248.md} (100%) rename ja/news/_posts/{2010-06-23-ruby-1-8-7-p299-.md => 2010-06-23-ruby-1-8-7-p299.md} (100%) rename ja/news/_posts/{2011-07-02-ruby-1-8-7-p352-.md => 2011-07-02-ruby-1-8-7-p352.md} (100%) rename ja/news/_posts/{2012-02-16-ruby-1-9-3-p125-.md => 2012-02-16-ruby-1-9-3-p125.md} (100%) rename ko/news/_posts/{2002-12-07-my20021207-raasuccversion--210.md => 2002-12-07-raa-2-1-0.md} (100%) rename ko/news/_posts/{2002-12-11-ruby-hacking-guide-is-out-though-.md => 2002-12-11-ruby-hacking-guide.md} (100%) rename ko/news/_posts/{2003-01-31-raasuccversion--230.md => 2003-01-31-raa-2-3-0.md} (100%) rename ko/news/_posts/{2006-10-30-rubyconf-2006-.md => 2006-10-30-rubyconf-2006.md} (100%) rename ko/news/_posts/{2006-11-10--2006-11-25.md => 2006-11-10-meeting-2006-11-25.md} (100%) rename ko/news/_posts/{2007-03-11-rails-framework-.md => 2007-03-11-rails-framework.md} (100%) rename ko/news/_posts/{2007-09-10--4-.md => 2007-09-10-ruby-kr-seminar-4.md} (100%) rename ko/news/_posts/{2007-09-10-rubyconf-2007-.md => 2007-09-10-rubyconf-2007.md} (100%) rename ko/news/_posts/{2008-06-12--1-8-7-.md => 2008-06-12-ruby-1-8-7.md} (100%) rename pl/news/_posts/{2012-10-22-rupy-2012---pita-edycja-konferencji-niebawem.md => 2012-10-22-rupy-2012.md} (100%) rename zh_cn/news/_posts/{2009-02-16-ruby-1-9-1-.md => 2009-02-16-ruby-1-9-1.md} (100%) rename zh_cn/news/_posts/{2010-11-06-ruby-1-9-2-.md => 2010-11-06-ruby-1-9-2.md} (100%) rename zh_cn/news/_posts/{2011-01-04-ruby-1-9-2-p136-.md => 2011-01-04-ruby-1-9-2-p136.md} (100%) rename zh_cn/news/_posts/{2011-11-26-ruby-1-9-3-p0-.md => 2011-11-26-ruby-1-9-3-p0.md} (100%) rename zh_cn/news/_posts/{2011-12-29-ruby-china-.md => 2011-12-29-ruby-china.md} (100%) rename zh_tw/news/_posts/{2007-09-13-rubyconf-2007-.md => 2007-09-13-rubyconf-2007.md} (100%) rename zh_tw/news/_posts/{2007-09-27-euruko-2007-ruby-.md => 2007-09-27-euruko-2007-ruby.md} (100%) rename zh_tw/news/_posts/{2009-01-31-ruby-1-9-1-.md => 2009-01-31-ruby-1-9-1.md} (100%) rename zh_tw/news/_posts/{2009-05-02-ruby-1-8-7-p160-1-8-6-p368-.md => 2009-05-02-ruby-1-8-7-p160-1-8-6-p368.md} (100%) rename zh_tw/news/_posts/{2009-07-21-bigdecimal-dos-.md => 2009-07-21-bigdecimal-dos.md} (100%) rename zh_tw/news/_posts/{2009-07-21-ruby-1-9-1-p243-.md => 2009-07-21-ruby-1-9-1-p243.md} (100%) rename zh_tw/news/_posts/{2009-07-21-ruby-1-9-2-preview-1-.md => 2009-07-21-ruby-1-9-2-preview-1.md} (100%) rename zh_tw/news/_posts/{2010-07-17-ruby-1-9-2-rc2-.md => 2010-07-17-ruby-1-9-2-rc2.md} (100%) rename zh_tw/news/_posts/{2010-08-18-ruby-1-9-2-.md => 2010-08-18-ruby-1-9-2.md} (100%) diff --git a/bg/news/_posts/2009-12-25-ruby-1-8-7-p248-released-.md b/bg/news/_posts/2009-12-25-ruby-1-8-7-p248-released.md similarity index 100% rename from bg/news/_posts/2009-12-25-ruby-1-8-7-p248-released-.md rename to bg/news/_posts/2009-12-25-ruby-1-8-7-p248-released.md diff --git a/bg/news/_posts/2010-11-15-ruby-1-9-2-released-.md b/bg/news/_posts/2010-11-15-ruby-1-9-2-released.md similarity index 100% rename from bg/news/_posts/2010-11-15-ruby-1-9-2-released-.md rename to bg/news/_posts/2010-11-15-ruby-1-9-2-released.md diff --git a/de/news/_posts/2002-12-07-my20021207-raasuccversion--210.md b/de/news/_posts/2002-12-07-raa-2-1-0.md similarity index 100% rename from de/news/_posts/2002-12-07-my20021207-raasuccversion--210.md rename to de/news/_posts/2002-12-07-raa-2-1-0.md diff --git a/de/news/_posts/2002-12-11-ruby-hacking-guide-ist-da-obwohl-.md b/de/news/_posts/2002-12-11-ruby-hacking-guide.md similarity index 100% rename from de/news/_posts/2002-12-11-ruby-hacking-guide-ist-da-obwohl-.md rename to de/news/_posts/2002-12-11-ruby-hacking-guide.md diff --git a/de/news/_posts/2003-01-31-raasuccversion--230.md b/de/news/_posts/2003-01-31-raa-2-3-0.md similarity index 100% rename from de/news/_posts/2003-01-31-raasuccversion--230.md rename to de/news/_posts/2003-01-31-raa-2-3-0.md diff --git a/de/news/_posts/2011-10-13-anstehende-ruby-programmierwettbewerbe-mit-matz---groer-preis-1-000-000-.md b/de/news/_posts/2011-10-12-programming-competitions-with-matz.md similarity index 100% rename from de/news/_posts/2011-10-13-anstehende-ruby-programmierwettbewerbe-mit-matz---groer-preis-1-000-000-.md rename to de/news/_posts/2011-10-12-programming-competitions-with-matz.md diff --git a/de/news/_posts/2012-02-16-sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff.md b/de/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md similarity index 100% rename from de/news/_posts/2012-02-16-sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff.md rename to de/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md diff --git a/en/news/_posts/2002-12-07-my20021207-raasuccversion--210.md b/en/news/_posts/2002-12-07-raa-2-1-0.md similarity index 100% rename from en/news/_posts/2002-12-07-my20021207-raasuccversion--210.md rename to en/news/_posts/2002-12-07-raa-2-1-0.md diff --git a/en/news/_posts/2002-12-11-ruby-hacking-guide-is-out-though-.md b/en/news/_posts/2002-12-11-ruby-hacking-guide.md similarity index 100% rename from en/news/_posts/2002-12-11-ruby-hacking-guide-is-out-though-.md rename to en/news/_posts/2002-12-11-ruby-hacking-guide.md diff --git a/en/news/_posts/2003-01-31-raasuccversion--230.md b/en/news/_posts/2003-01-31-raa-2-3-0.md similarity index 100% rename from en/news/_posts/2003-01-31-raasuccversion--230.md rename to en/news/_posts/2003-01-31-raa-2-3-0.md diff --git a/en/news/_posts/2010-11-17-fukuoka-ruby-award-2011-competition---grand-prize-12000.md b/en/news/_posts/2010-11-17-fukuoka-ruby-award-2011.md similarity index 100% rename from en/news/_posts/2010-11-17-fukuoka-ruby-award-2011-competition---grand-prize-12000.md rename to en/news/_posts/2010-11-17-fukuoka-ruby-award-2011.md diff --git a/en/news/_posts/2011-10-12-upcoming-ruby-programming-competitions-with-matz---grand-prize---1000000-jpy.md b/en/news/_posts/2011-10-12-programming-competitions-with-matz.md similarity index 100% rename from en/news/_posts/2011-10-12-upcoming-ruby-programming-competitions-with-matz---grand-prize---1000000-jpy.md rename to en/news/_posts/2011-10-12-programming-competitions-with-matz.md diff --git a/en/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md b/en/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md similarity index 100% rename from en/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md rename to en/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md diff --git a/en/news/_posts/2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md b/en/news/_posts/2012-11-10-fukuoka-ruby-award-2013.md similarity index 100% rename from en/news/_posts/2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md rename to en/news/_posts/2012-11-10-fukuoka-ruby-award-2013.md diff --git a/es/news/_posts/2010-10-02-matz-visita-san-francisco-y-silicon-valley-.md b/es/news/_posts/2010-10-02-matz-visita-san-francisco-y-silicon-valley.md similarity index 100% rename from es/news/_posts/2010-10-02-matz-visita-san-francisco-y-silicon-valley-.md rename to es/news/_posts/2010-10-02-matz-visita-san-francisco-y-silicon-valley.md diff --git a/es/news/_posts/2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby-.md b/es/news/_posts/2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby.md similarity index 100% rename from es/news/_posts/2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby-.md rename to es/news/_posts/2011-07-12-liberada-la-versin-1-8-7-p352-de-ruby.md diff --git a/es/news/_posts/2011-07-19-liberado-ruby-1-9-2-p290-.md b/es/news/_posts/2011-07-19-liberado-ruby-1-9-2-p290.md similarity index 100% rename from es/news/_posts/2011-07-19-liberado-ruby-1-9-2-p290-.md rename to es/news/_posts/2011-07-19-liberado-ruby-1-9-2-p290.md diff --git a/es/news/_posts/2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011-.md b/es/news/_posts/2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011.md similarity index 100% rename from es/news/_posts/2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011-.md rename to es/news/_posts/2012-04-06-matz-gana-el-premio-al-avance-del-software-libre-2011.md diff --git a/es/news/_posts/2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby-.md b/es/news/_posts/2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby.md similarity index 100% rename from es/news/_posts/2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby-.md rename to es/news/_posts/2012-04-29-mruby-la-nueva-implementacin-ligera-de-ruby.md diff --git a/es/news/_posts/2012-04-29-parches-de-seguridad-para-rubygems-.md b/es/news/_posts/2012-04-29-parches-de-seguridad-para-rubygems.md similarity index 100% rename from es/news/_posts/2012-04-29-parches-de-seguridad-para-rubygems-.md rename to es/news/_posts/2012-04-29-parches-de-seguridad-para-rubygems.md diff --git a/es/news/_posts/2012-07-05-ruby-1-8-7-p370-liberado-.md b/es/news/_posts/2012-07-05-ruby-1-8-7-p370-liberado.md similarity index 100% rename from es/news/_posts/2012-07-05-ruby-1-8-7-p370-liberado-.md rename to es/news/_posts/2012-07-05-ruby-1-8-7-p370-liberado.md diff --git a/es/news/_posts/2012-11-12-liberado-ruby-1-9-3-p327-.md b/es/news/_posts/2012-11-12-liberado-ruby-1-9-3-p327.md similarity index 100% rename from es/news/_posts/2012-11-12-liberado-ruby-1-9-3-p327-.md rename to es/news/_posts/2012-11-12-liberado-ruby-1-9-3-p327.md diff --git a/id/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md b/id/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md similarity index 100% rename from id/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-.md rename to id/news/_posts/2012-02-16-security-fix-for-ruby-openssl-module.md diff --git a/id/news/_posts/2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md b/id/news/_posts/2012-11-10-fukuoka-ruby-award-2013.md similarity index 100% rename from id/news/_posts/2012-11-10-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md rename to id/news/_posts/2012-11-10-fukuoka-ruby-award-2013.md diff --git a/it/news/_posts/2011-01-01-fukuoka-ruby-award-2011-competition---grand-prize-12000.md b/it/news/_posts/2011-01-01-fukuoka-ruby-award-2011.md similarity index 100% rename from it/news/_posts/2011-01-01-fukuoka-ruby-award-2011-competition---grand-prize-12000.md rename to it/news/_posts/2011-01-01-fukuoka-ruby-award-2011.md diff --git a/it/news/_posts/2013-01-06-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md b/it/news/_posts/2013-01-06-fukuoka-ruby-award-2013.md similarity index 100% rename from it/news/_posts/2013-01-06-2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz.md rename to it/news/_posts/2013-01-06-fukuoka-ruby-award-2013.md diff --git a/ja/news/_posts/2006-06-28-rubyist-magazine-ruby-2006-.md b/ja/news/_posts/2006-06-28-rubyist-magazine-ruby-2006.md similarity index 100% rename from ja/news/_posts/2006-06-28-rubyist-magazine-ruby-2006-.md rename to ja/news/_posts/2006-06-28-rubyist-magazine-ruby-2006.md diff --git a/ja/news/_posts/2006-09-21-rubyist-magazine-0016-.md b/ja/news/_posts/2006-09-21-rubyist-magazine-0016.md similarity index 100% rename from ja/news/_posts/2006-09-21-rubyist-magazine-0016-.md rename to ja/news/_posts/2006-09-21-rubyist-magazine-0016.md diff --git a/ja/news/_posts/2006-11-26-rubyist-magazine-0017-.md b/ja/news/_posts/2006-11-26-rubyist-magazine-0017.md similarity index 100% rename from ja/news/_posts/2006-11-26-rubyist-magazine-0017-.md rename to ja/news/_posts/2006-11-26-rubyist-magazine-0017.md diff --git a/ja/news/_posts/2009-12-25-ruby-1-8-7-p248-.md b/ja/news/_posts/2009-12-25-ruby-1-8-7-p248.md similarity index 100% rename from ja/news/_posts/2009-12-25-ruby-1-8-7-p248-.md rename to ja/news/_posts/2009-12-25-ruby-1-8-7-p248.md diff --git a/ja/news/_posts/2010-06-23-ruby-1-8-7-p299-.md b/ja/news/_posts/2010-06-23-ruby-1-8-7-p299.md similarity index 100% rename from ja/news/_posts/2010-06-23-ruby-1-8-7-p299-.md rename to ja/news/_posts/2010-06-23-ruby-1-8-7-p299.md diff --git a/ja/news/_posts/2011-07-02-ruby-1-8-7-p352-.md b/ja/news/_posts/2011-07-02-ruby-1-8-7-p352.md similarity index 100% rename from ja/news/_posts/2011-07-02-ruby-1-8-7-p352-.md rename to ja/news/_posts/2011-07-02-ruby-1-8-7-p352.md diff --git a/ja/news/_posts/2012-02-16-ruby-1-9-3-p125-.md b/ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md similarity index 100% rename from ja/news/_posts/2012-02-16-ruby-1-9-3-p125-.md rename to ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md diff --git a/ko/news/_posts/2002-12-07-my20021207-raasuccversion--210.md b/ko/news/_posts/2002-12-07-raa-2-1-0.md similarity index 100% rename from ko/news/_posts/2002-12-07-my20021207-raasuccversion--210.md rename to ko/news/_posts/2002-12-07-raa-2-1-0.md diff --git a/ko/news/_posts/2002-12-11-ruby-hacking-guide-is-out-though-.md b/ko/news/_posts/2002-12-11-ruby-hacking-guide.md similarity index 100% rename from ko/news/_posts/2002-12-11-ruby-hacking-guide-is-out-though-.md rename to ko/news/_posts/2002-12-11-ruby-hacking-guide.md diff --git a/ko/news/_posts/2003-01-31-raasuccversion--230.md b/ko/news/_posts/2003-01-31-raa-2-3-0.md similarity index 100% rename from ko/news/_posts/2003-01-31-raasuccversion--230.md rename to ko/news/_posts/2003-01-31-raa-2-3-0.md diff --git a/ko/news/_posts/2006-10-30-rubyconf-2006-.md b/ko/news/_posts/2006-10-30-rubyconf-2006.md similarity index 100% rename from ko/news/_posts/2006-10-30-rubyconf-2006-.md rename to ko/news/_posts/2006-10-30-rubyconf-2006.md diff --git a/ko/news/_posts/2006-11-10--2006-11-25.md b/ko/news/_posts/2006-11-10-meeting-2006-11-25.md similarity index 100% rename from ko/news/_posts/2006-11-10--2006-11-25.md rename to ko/news/_posts/2006-11-10-meeting-2006-11-25.md diff --git a/ko/news/_posts/2007-03-11-rails-framework-.md b/ko/news/_posts/2007-03-11-rails-framework.md similarity index 100% rename from ko/news/_posts/2007-03-11-rails-framework-.md rename to ko/news/_posts/2007-03-11-rails-framework.md diff --git a/ko/news/_posts/2007-09-10--4-.md b/ko/news/_posts/2007-09-10-ruby-kr-seminar-4.md similarity index 100% rename from ko/news/_posts/2007-09-10--4-.md rename to ko/news/_posts/2007-09-10-ruby-kr-seminar-4.md diff --git a/ko/news/_posts/2007-09-10-rubyconf-2007-.md b/ko/news/_posts/2007-09-10-rubyconf-2007.md similarity index 100% rename from ko/news/_posts/2007-09-10-rubyconf-2007-.md rename to ko/news/_posts/2007-09-10-rubyconf-2007.md diff --git a/ko/news/_posts/2008-06-12--1-8-7-.md b/ko/news/_posts/2008-06-12-ruby-1-8-7.md similarity index 100% rename from ko/news/_posts/2008-06-12--1-8-7-.md rename to ko/news/_posts/2008-06-12-ruby-1-8-7.md diff --git a/pl/news/_posts/2012-10-22-rupy-2012---pita-edycja-konferencji-niebawem.md b/pl/news/_posts/2012-10-22-rupy-2012.md similarity index 100% rename from pl/news/_posts/2012-10-22-rupy-2012---pita-edycja-konferencji-niebawem.md rename to pl/news/_posts/2012-10-22-rupy-2012.md diff --git a/zh_cn/news/_posts/2009-02-16-ruby-1-9-1-.md b/zh_cn/news/_posts/2009-02-16-ruby-1-9-1.md similarity index 100% rename from zh_cn/news/_posts/2009-02-16-ruby-1-9-1-.md rename to zh_cn/news/_posts/2009-02-16-ruby-1-9-1.md diff --git a/zh_cn/news/_posts/2010-11-06-ruby-1-9-2-.md b/zh_cn/news/_posts/2010-11-06-ruby-1-9-2.md similarity index 100% rename from zh_cn/news/_posts/2010-11-06-ruby-1-9-2-.md rename to zh_cn/news/_posts/2010-11-06-ruby-1-9-2.md diff --git a/zh_cn/news/_posts/2011-01-04-ruby-1-9-2-p136-.md b/zh_cn/news/_posts/2011-01-04-ruby-1-9-2-p136.md similarity index 100% rename from zh_cn/news/_posts/2011-01-04-ruby-1-9-2-p136-.md rename to zh_cn/news/_posts/2011-01-04-ruby-1-9-2-p136.md diff --git a/zh_cn/news/_posts/2011-11-26-ruby-1-9-3-p0-.md b/zh_cn/news/_posts/2011-11-26-ruby-1-9-3-p0.md similarity index 100% rename from zh_cn/news/_posts/2011-11-26-ruby-1-9-3-p0-.md rename to zh_cn/news/_posts/2011-11-26-ruby-1-9-3-p0.md diff --git a/zh_cn/news/_posts/2011-12-29-ruby-china-.md b/zh_cn/news/_posts/2011-12-29-ruby-china.md similarity index 100% rename from zh_cn/news/_posts/2011-12-29-ruby-china-.md rename to zh_cn/news/_posts/2011-12-29-ruby-china.md diff --git a/zh_tw/news/_posts/2007-09-13-rubyconf-2007-.md b/zh_tw/news/_posts/2007-09-13-rubyconf-2007.md similarity index 100% rename from zh_tw/news/_posts/2007-09-13-rubyconf-2007-.md rename to zh_tw/news/_posts/2007-09-13-rubyconf-2007.md diff --git a/zh_tw/news/_posts/2007-09-27-euruko-2007-ruby-.md b/zh_tw/news/_posts/2007-09-27-euruko-2007-ruby.md similarity index 100% rename from zh_tw/news/_posts/2007-09-27-euruko-2007-ruby-.md rename to zh_tw/news/_posts/2007-09-27-euruko-2007-ruby.md diff --git a/zh_tw/news/_posts/2009-01-31-ruby-1-9-1-.md b/zh_tw/news/_posts/2009-01-31-ruby-1-9-1.md similarity index 100% rename from zh_tw/news/_posts/2009-01-31-ruby-1-9-1-.md rename to zh_tw/news/_posts/2009-01-31-ruby-1-9-1.md diff --git a/zh_tw/news/_posts/2009-05-02-ruby-1-8-7-p160-1-8-6-p368-.md b/zh_tw/news/_posts/2009-05-02-ruby-1-8-7-p160-1-8-6-p368.md similarity index 100% rename from zh_tw/news/_posts/2009-05-02-ruby-1-8-7-p160-1-8-6-p368-.md rename to zh_tw/news/_posts/2009-05-02-ruby-1-8-7-p160-1-8-6-p368.md diff --git a/zh_tw/news/_posts/2009-07-21-bigdecimal-dos-.md b/zh_tw/news/_posts/2009-07-21-bigdecimal-dos.md similarity index 100% rename from zh_tw/news/_posts/2009-07-21-bigdecimal-dos-.md rename to zh_tw/news/_posts/2009-07-21-bigdecimal-dos.md diff --git a/zh_tw/news/_posts/2009-07-21-ruby-1-9-1-p243-.md b/zh_tw/news/_posts/2009-07-21-ruby-1-9-1-p243.md similarity index 100% rename from zh_tw/news/_posts/2009-07-21-ruby-1-9-1-p243-.md rename to zh_tw/news/_posts/2009-07-21-ruby-1-9-1-p243.md diff --git a/zh_tw/news/_posts/2009-07-21-ruby-1-9-2-preview-1-.md b/zh_tw/news/_posts/2009-07-21-ruby-1-9-2-preview-1.md similarity index 100% rename from zh_tw/news/_posts/2009-07-21-ruby-1-9-2-preview-1-.md rename to zh_tw/news/_posts/2009-07-21-ruby-1-9-2-preview-1.md diff --git a/zh_tw/news/_posts/2010-07-17-ruby-1-9-2-rc2-.md b/zh_tw/news/_posts/2010-07-17-ruby-1-9-2-rc2.md similarity index 100% rename from zh_tw/news/_posts/2010-07-17-ruby-1-9-2-rc2-.md rename to zh_tw/news/_posts/2010-07-17-ruby-1-9-2-rc2.md diff --git a/zh_tw/news/_posts/2010-08-18-ruby-1-9-2-.md b/zh_tw/news/_posts/2010-08-18-ruby-1-9-2.md similarity index 100% rename from zh_tw/news/_posts/2010-08-18-ruby-1-9-2-.md rename to zh_tw/news/_posts/2010-08-18-ruby-1-9-2.md From 6cb4d93da0b76476ea35dba21ca26bc58ea0a352 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:32 +0200 Subject: [PATCH 0192/3394] Update internal links to renamed posts --- de/news/_posts/2012-02-16-ruby-1-9-3-p125-verffentlicht.md | 2 +- de/security/index.md | 2 +- en/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md | 2 +- en/security/index.md | 2 +- id/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md | 2 +- id/security/index.md | 2 +- ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md | 2 +- ja/security/index.md | 2 +- ko/news/_posts/2007-01-22-ruby-seminar-2nd.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/de/news/_posts/2012-02-16-ruby-1-9-3-p125-verffentlicht.md b/de/news/_posts/2012-02-16-ruby-1-9-3-p125-verffentlicht.md index 21103a3da7..89f99411ad 100644 --- a/de/news/_posts/2012-02-16-ruby-1-9-3-p125-verffentlicht.md +++ b/de/news/_posts/2012-02-16-ruby-1-9-3-p125-verffentlicht.md @@ -71,7 +71,7 @@ Für nähere Informationen siehe die [Tickets][4] und das [Changelog][5]. -[1]: {{ site.url }}/de/news/2012/02/16/sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff/ +[1]: {{ site.url }}/de/news/2012/02/16/security-fix-for-ruby-openssl-module/ [2]: https://bugs.ruby-lang.org/issues/show/5076 [3]: https://bugs.ruby-lang.org/issues/show/5851 [4]: https://bugs.ruby-lang.org/projects/ruby-193/issues?set_filter=1&status_id=5 diff --git a/de/security/index.md b/de/security/index.md index e905c452c5..67204ee303 100644 --- a/de/security/index.md +++ b/de/security/index.md @@ -99,7 +99,7 @@ Weitere bekannte Probleme: [5]: /de/news/2012/10/12/durch-ungltiges-nul-zeichen-werden-unabsichtlich-dateien-erzeugt/ [6]: /de/news/2012/10/12/sicherheitsluecke-in-exception-ermoeglicht-umgehung-von-safe-mode/ [7]: /de/news/2012/04/20/ruby-1-9-3-p194-verffentlicht/ -[8]: /de/news/2012/02/16/sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff/ +[8]: /de/news/2012/02/16/security-fix-for-ruby-openssl-module/ [9]: /de/news/2012/01/04/denial-of-service-attacke-fr-rubys-hash-algorithmus-gefunden-cve-2011-4815/ [10]: /de/news/2011/02/18/exception-methoden-knnen-safe-umgehen/ [11]: /de/news/2011/02/18/sicherheitslcke-in-fileutils-durch-race-conditions-in-symlinks/ diff --git a/en/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md b/en/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md index 09a8968453..5b7223371a 100644 --- a/en/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md +++ b/en/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md @@ -47,7 +47,7 @@ NOTE: Repackaged on 2012-02-17 02:04:00 UTC to fix [\[Bug #6040\]][6]. -[1]: {{ site.url }}/en/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[1]: {{ site.url }}/en/news/2012/02/16/security-fix-for-ruby-openssl-module/ [2]: https://bugs.ruby-lang.org/issues/show/5076 [3]: https://bugs.ruby-lang.org/issues/show/5851 [4]: https://bugs.ruby-lang.org/projects/ruby-193/issues?set_filter=1&status_id=5 diff --git a/en/security/index.md b/en/security/index.md index d85e6254ef..3d34f46133 100644 --- a/en/security/index.md +++ b/en/security/index.md @@ -99,7 +99,7 @@ More known issues: [5]: /en/news/2012/10/12/poisoned-NUL-byte-vulnerability/ [6]: /en/news/2012/10/12/cve-2012-4464-cve-2012-4466/ [7]: /en/news/2012/04/20/ruby-1-9-3-p194-is-released/ -[8]: /en/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[8]: /en/news/2012/02/16/security-fix-for-ruby-openssl-module/ [9]: /en/news/2011/12/28/denial-of-service-attack-was-found-for-rubys-hash-algorithm-cve-2011-4815/ [10]: /en/news/2011/02/18/exception-methods-can-bypass-safe/ [11]: /en/news/2011/02/18/fileutils-is-vulnerable-to-symlink-race-attacks/ diff --git a/id/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md b/id/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md index 2750f16bae..63091eee34 100644 --- a/id/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md +++ b/id/news/_posts/2012-02-16-ruby-1-9-3-p125-is-released.md @@ -48,7 +48,7 @@ Catatan: Dipackage ulang pada on 2012-02-17 02:04:00 UTC untuk memperbaiki [\[Bu -[1]: {{ site.url }}/id/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[1]: {{ site.url }}/id/news/2012/02/16/security-fix-for-ruby-openssl-module/ [2]: https://bugs.ruby-lang.org/issues/show/5076 [3]: https://bugs.ruby-lang.org/issues/show/5851 [4]: https://bugs.ruby-lang.org/projects/ruby-193/issues?set_filter=1&status_id=5 diff --git a/id/security/index.md b/id/security/index.md index 841eb0916f..c74052fe8f 100644 --- a/id/security/index.md +++ b/id/security/index.md @@ -49,6 +49,6 @@ Untuk isu - isu sebelumnya lihat [halaman bahasa Inggris][12]. [7]: /id/news/2012/10/12/poisoned-NUL-byte-vulnerability/ [8]: /id/news/2012/10/12/cve-2012-4464-cve-2012-4466/ [9]: /id/news/2012/04/20/ruby-1-9-3-p194-is-released/ -[10]: /id/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[10]: /id/news/2012/02/16/security-fix-for-ruby-openssl-module/ [11]: /id/news/2011/12/28/denial-of-service-attack-was-found-for-rubys-hash-algorithm-cve-2011-4815/ [12]: /en/security/ diff --git a/ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md b/ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md index 65cc997b05..e98456b7f8 100644 --- a/ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md +++ b/ja/news/_posts/2012-02-16-ruby-1-9-3-p125.md @@ -45,7 +45,7 @@ See [tickets][4] and [ChangeLog][5] for details. -[1]: {{ site.url }}/en/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[1]: {{ site.url }}/en/news/2012/02/16/security-fix-for-ruby-openssl-module/ [2]: https://bugs.ruby-lang.org/issues/show/5076 [3]: https://bugs.ruby-lang.org/issues/show/5851 [4]: https://bugs.ruby-lang.org/projects/ruby-193/issues?set_filter=1&status_id=5 diff --git a/ja/security/index.md b/ja/security/index.md index 6592c84057..5d19d5dc96 100644 --- a/ja/security/index.md +++ b/ja/security/index.md @@ -82,7 +82,7 @@ Posted by usa on 02 Jun 2006 [5]: /ja/news/2012/10/12/poisoned-NUL-byte-vulnerability/ [6]: /ja/news/2012/10/12/cve-2012-4464-cve-2012-4466/ [7]: /en/news/2012/04/20/ruby-1-9-3-p194-is-released/ -[8]: /en/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-/ +[8]: /en/news/2012/02/16/security-fix-for-ruby-openssl-module/ [9]: /en/news/2011/12/28/denial-of-service-attack-was-found-for-rubys-hash-algorithm-cve-2011-4815/ [10]: /ja/news/2011/02/18/exception-methods-can-bypass-safe/ [11]: /ja/news/2011/02/18/fileutils-is-vulnerable-to-symlink-race-attacks/ diff --git a/ko/news/_posts/2007-01-22-ruby-seminar-2nd.md b/ko/news/_posts/2007-01-22-ruby-seminar-2nd.md index d492f9d6a0..93fe5ce0c0 100644 --- a/ko/news/_posts/2007-01-22-ruby-seminar-2nd.md +++ b/ko/news/_posts/2007-01-22-ruby-seminar-2nd.md @@ -15,4 +15,4 @@ http://wiki.rubykr.org/show/RubySeminar -[1]: {{ site.url }}/ko/news/2006/11/10/-2006-11-25/ +[1]: {{ site.url }}/ko/news/2006/11/10/meeting-2006-11-25/ From ec923b93043089e7261684c773a57b522501d55d Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:36 +0200 Subject: [PATCH 0193/3394] Add rewrite rules for renamed posts --- config.ru | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/config.ru b/config.ru index 982993ec43..0df1a64de2 100644 --- a/config.ru +++ b/config.ru @@ -23,6 +23,23 @@ use Rack::Rewrite do r302 %r{^/([a-z_]+)/news/2013/12/21/semantic-versioning-after-2-1-0(.*)$}, "/$1/news/2013/12/21/ruby-version-policy-changes-with-2-1-0$2" r302 %r{^/([a-z_]+)/documentation/ruby-from-other-languages/to-ruby-from-c-and-c-(.*)$}, "/$1/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp$2" + # URL changes with Jekyll 3, May 2016 + r302 %r{^/(en|id)/news/2012/02/16/security-fix-for-ruby-openssl-module-allow-0n-splitting-as-a-prevention-for-the-tls-beast-attack-(.*)$}, "/$1/news/2012/02/16/security-fix-for-ruby-openssl-module$2" + r302 %r{^/(de)/news/2012/02/16/sicherheitsfix-fr-rubys-openssl-modul-erlaube-0n-splitting-als-gegenmanahme-fr-den-tls-beast-angriff(.*)$}, "/$1/news/2012/02/16/security-fix-for-ruby-openssl-module$2" + r302 %r{^/(en|it)/news/(201./../..)/fukuoka-ruby-award-2011-competition---grand-prize-12000(.*)$}, "/$1/news/$2/fukuoka-ruby-award-2011$3" + r302 %r{^/(en|id|it)/news/(201./../..)/2013-fukuoka-ruby-award-competitionentries-to-be-judged-by-matz(.*)$}, "/$1/news/$2/fukuoka-ruby-award-2013$3" + r302 %r{^/(en)/news/2011/10/12/upcoming-ruby-programming-competitions-with-matz---grand-prize---1000000-jpy(.*)$}, "/$1/news/2011/10/12/programming-competitions-with-matz$2" + r302 %r{^/(de)/news/2011/10/13/anstehende-ruby-programmierwettbewerbe-mit-matz---groer-preis-1-000-000-(.*)$}, "/$1/news/2011/10/12/programming-competitions-with-matz$2" + r302 %r{^/(en|de|ko)/news/2003/01/31/raasuccversion--230(.*)$}, "/$1/news/2003/01/31/raa-2-3-0$2" + r302 %r{^/(en|de|ko)/news/2002/12/07/my20021207-raasuccversion--210(.*)$}, "/$1/news/2002/12/07/raa-2-1-0$2" + r302 %r{^/(en|ko)/news/2002/12/11/ruby-hacking-guide-is-out-though-(.*)$}, "/$1/news/2002/12/11/ruby-hacking-guide$2" + r302 %r{^/(de)/news/2002/12/11/ruby-hacking-guide-ist-da-obwohl-(.*)$}, "/$1/news/2002/12/11/ruby-hacking-guide$2" + r302 %r{^/(pl)/news/2012/10/22/rupy-2012---pita-edycja-konferencji-niebawem(.*)$}, "/$1/news/2012/10/22/rupy-2012$2" + r302 %r{^/(ko)/news/2008/06/12/-1-8-7-(.*)$}, "/$1/news/2008/06/12/ruby-1-8-7$2" + r302 %r{^/(ko)/news/2007/09/10/-4-(.*)$}, "/$1/news/2007/09/10/ruby-kr-seminar-4$2" + r302 %r{^/(ko)/news/2006/11/10/-2006-11-25(.*)$}, "/$1/news/2006/11/10/meeting-2006-11-25$2" + r302 %r{^/(bg|es|ja|ko|zh_cn|zh_tw)/news/(.*)-(|/|/index\.html)$}, "/$1/news/$2$3" + # removed resources (some are still linked to from old news posts) r302 %r{^/ja/install\.cgi(\?.+)?$}, "/ja/downloads" r302 %r{^/ja/20030611\.html$}, "/ja/downloads" From eb955fdd1f5bc38de46f86d36359b12e7a1f1ee7 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:39 +0200 Subject: [PATCH 0194/3394] Switch to Jekyll 3 --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index c2c83c5f88..690dfe21f0 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" ruby ENV['CUSTOM_RUBY_VERSION'] || '2.3.1' gem 'rake', '~> 10.0' -gem 'jekyll', '~> 2.0' +gem 'jekyll', '~> 3.0' gem 'rouge', '~> 1.10' gem 'unicorn' From 2a1436c5f46836a155af5edca51971da42070e8f Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:42 +0200 Subject: [PATCH 0195/3394] Update gem bundle for Jekyll 3 --- Gemfile.lock | 55 ++++++++-------------------------------------------- 1 file changed, 8 insertions(+), 47 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e09ae1fbe9..b85cf6253d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,40 +1,17 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.4.0) - blankslate (2.1.2.4) - classifier-reborn (2.0.4) - fast-stemmer (~> 1.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.10.0) colorator (0.1) - execjs (2.6.0) - faraday (0.9.2) - multipart-post (>= 1.2, < 3) - fast-stemmer (1.0.2) ffi (1.9.10) - jekyll (2.5.3) - classifier-reborn (~> 2.0) + jekyll (3.1.5) colorator (~> 0.1) - jekyll-coffeescript (~> 1.0) - jekyll-gist (~> 1.0) - jekyll-paginate (~> 1.0) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 1.1) kramdown (~> 1.3) - liquid (~> 2.6.1) + liquid (~> 3.0) mercenary (~> 0.3.3) - pygments.rb (~> 0.6.0) - redcarpet (~> 3.1) + rouge (~> 1.7) safe_yaml (~> 1.0) - toml (~> 0.1.0) - jekyll-coffeescript (1.0.1) - coffee-script (~> 2.2) - jekyll-gist (1.4.0) - octokit (~> 4.2) - jekyll-paginate (1.1.0) jekyll-sass-converter (1.4.0) sass (~> 3.4) jekyll-watch (1.4.0) @@ -44,25 +21,16 @@ GEM lanyon (0.3.3) jekyll (>= 2.0, < 4.0) rack (~> 1.6) - liquid (2.6.3) - listen (3.0.7) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9.7) + liquid (3.0.6) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) mercenary (0.3.6) mini_portile2 (2.0.0) - multipart-post (2.0.0) multipart_body (0.2.1) nokogiri (1.6.7.2) mini_portile2 (~> 2.0.0.rc2) - octokit (4.3.0) - sawyer (~> 0.7.0, >= 0.5.3) paint (0.9.0) - parslet (1.5.0) - blankslate (~> 2.0) - posix-spawn (0.3.11) - pygments.rb (0.6.3) - posix-spawn (~> 0.3.6) - yajl-ruby (~> 1.2.0) rack (1.6.4) rack-protection (1.5.3) rack @@ -74,17 +42,11 @@ GEM rb-fsevent (0.9.7) rb-inotify (0.9.7) ffi (>= 0.5.0) - redcarpet (3.3.4) rouge (1.10.1) safe_yaml (1.0.4) sass (3.4.22) - sawyer (0.7.0) - addressable (>= 2.3.5, < 2.5) - faraday (~> 0.8, < 0.10) spidr (0.5.0) nokogiri (~> 1.3) - toml (0.1.2) - parslet (~> 1.5.0) unicorn (5.1.0) kgio (~> 2.6) raindrops (~> 0.7) @@ -92,13 +54,12 @@ GEM multipart_body (~> 0.2) paint (~> 0.8) spidr (~> 0.4) - yajl-ruby (1.2.1) PLATFORMS ruby DEPENDENCIES - jekyll (~> 2.0) + jekyll (~> 3.0) lanyon (~> 0.3.1) rack-protection rack-rewrite From a2cc43c66923d780c31d3237a4126ba3924ea5a2 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:48 +0200 Subject: [PATCH 0196/3394] Update plugins for Jekyll 3 * posts are now instances of Jekyll::Document * site.posts is now an instance of Jekyll::Collection; an array of all posts can be accessed via site.posts.docs * access to Document#data properties via methods is now deprecated --- _plugins/news.rb | 4 ++-- _plugins/translation_status.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_plugins/news.rb b/_plugins/news.rb index 591e7f0757..25b4539bf8 100644 --- a/_plugins/news.rb +++ b/_plugins/news.rb @@ -118,7 +118,7 @@ def initialize(site,base,lang,posts) end end - class Post + class Document def lang data['lang'] @@ -144,7 +144,7 @@ def generate(site) end end - site.posts.each do |post| + site.posts.docs.each do |post| posts[post.lang][post.date.year][post.date.month] << post end diff --git a/_plugins/translation_status.rb b/_plugins/translation_status.rb index 8f7ab06d6a..6aba0cbc01 100644 --- a/_plugins/translation_status.rb +++ b/_plugins/translation_status.rb @@ -117,7 +117,7 @@ def render(context) name = post.url.gsub(%r(\A/#{lang}/news/), '') @posts[name].translations << lang - @posts[name].security = true if post.tags.include?('security') + @posts[name].security = true if post.data['tags'].include?('security') end end From be7561f9bd08f92fd877b18caf00620c3603ede6 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:53 +0200 Subject: [PATCH 0197/3394] Update layouts for Jekyll 3 Layout metadata is now available via "layout", not via "page". --- _layouts/default.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index 3bcbd50177..1aa504f748 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -24,8 +24,8 @@ - {% if page.javascript != null %} - {% for javascript in page.javascript %} + {% if layout.javascript != null %} + {% for javascript in layout.javascript %} {% endfor %} {% endif %} From e006e35fc370e0ae002531f261f100e1dc37983d Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sat, 14 May 2016 09:25:58 +0200 Subject: [PATCH 0198/3394] Disable kramdown's syntax highlighting Prevent kramdown from doing any syntax highlighting and instead leave syntax highlighting to Jekyll via Liquid tags. This preserves the previous behavior of Jekyll 2. --- _config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_config.yml b/_config.yml index 72efc6c1d4..cc4d6e9a25 100644 --- a/_config.yml +++ b/_config.yml @@ -6,6 +6,8 @@ timezone: UTC kramdown: auto_ids: false + syntax_highlighter_opts: + disable: true exclude: - config.ru From 8b7de4dda47f324d647937d0cd81f861c50a8837 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sun, 22 May 2016 20:47:10 +0700 Subject: [PATCH 0199/3394] Translate ConFoo Vancouver 2016 is looking for Ruby speakers (id) --- id/news/_posts/2016-05-16-confoo-cfp.md | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 id/news/_posts/2016-05-16-confoo-cfp.md diff --git a/id/news/_posts/2016-05-16-confoo-cfp.md b/id/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..64f8feafc9 --- /dev/null +++ b/id/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,26 @@ +--- +layout: news_post +title: "ConFoo Vancouver 2016 Mencari Pembicara Ruby" +author: "afilina" +translator: "meisyal" +date: 2016-05-16 20:06:00 +0000 +lang: id +--- + +ConFoo sekali lagi sedang mencari pembicara yang penuh semangat untuk konferensi +mendatang. + +![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo dengan gembira membuka [call for papers][1] Vancouver +edisi 2016! Jika Anda tertarik untuk berbicara tentang Ruby atau topik pengembangan +*web* lainnya, silakan mengajukan hingga 6 Juni. Kami akan menanggung perjalanan dan +hotel untuk pembicara yang memerlukannya. + +ConFoo Vancouver akan diselenggarakan pada 5-7 Desember 2016. Bagi mereka yang +terbiasa dengan ConFoo Montreal, konferensi ini akan tetap berlanjut setiap tahun +disamping Vancouver. [Kunjungi situs kami][2] untuk mempelajari lebih lanjut. + +Perbincangan topik berlangsung 35 menit dan tanya jawab 10 menit, total 45 menit. +Kami tidak sabar untuk menunggu ajuan Anda! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From ff6b3bd437c0b5ac33655319778f99457358bfde Mon Sep 17 00:00:00 2001 From: Chayoung You Date: Thu, 26 May 2016 11:35:52 +0900 Subject: [PATCH 0200/3394] Translate ConFoo Vancouver 2016 call for papers (ko) (#1402) * Translate ConFoo Vancouver 2016 call for papers (ko) * Fix grammar (ko) --- ko/news/_posts/2015-08-31-confoo-cfp.md | 4 ++-- ko/news/_posts/2016-05-16-confoo-cfp.md | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 ko/news/_posts/2016-05-16-confoo-cfp.md diff --git a/ko/news/_posts/2015-08-31-confoo-cfp.md b/ko/news/_posts/2015-08-31-confoo-cfp.md index 8839a528bf..c06c468346 100644 --- a/ko/news/_posts/2015-08-31-confoo-cfp.md +++ b/ko/news/_posts/2015-08-31-confoo-cfp.md @@ -7,13 +7,13 @@ date: 2015-08-31 16:00:00 +0000 lang: ko --- -ConFoo가 다음 콘퍼런스에서 발표하실 열정적인 발표자를 한 번 더 찾고있습니다. +ConFoo가 다음 콘퍼런스에서 발표하실 열정적인 발표자를 한 번 더 찾고 있습니다. ![ConFoo - 웹 개발자를 위한 콘퍼런스](https://confoo.ca/images/content/confoo-master.jpg){: style="border:0; float:right; margin-left:20px;" width="350" height="157"}이벤트는 캐나다 몬트리올에서 2월 24일에서 26일까지 개최됩니다. 전 세계에서 모인 발표자가 있는 신나는 웹 개발자를 위한 콘퍼런스입니다. 이 한 주제 아래 많은 웹 프로그래밍 언어뿐만 아니라 다른 웹 개발에 관련된 주제도 다룹니다. [신청][1]은 9월 20일에 종료합니다. 지난 몇 년간, ConFoo 발표자의 50%가 바뀌었습니다. 이 콘퍼런스가 처음이라면, 신청해도 전혀 문제없습니다. -그냥 참가만 하고 싶으신 분을 위한 입장권은 10월 13일 까지 [할인][2]합니다. +그냥 참가만 하고 싶으신 분을 위한 입장권은 10월 13일까지 [할인][2]합니다. [1]: https://confoo.ca/en/call-for-papers [2]: https://confoo.ca/en/register diff --git a/ko/news/_posts/2016-05-16-confoo-cfp.md b/ko/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..8703232bad --- /dev/null +++ b/ko/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,25 @@ +--- +layout: news_post +title: "ConFoo 밴쿠버 2016에서 루비 발표자를 모집합니다" +author: "afilina" +translator: "yous" +date: 2016-05-16 20:06:00 +0000 +lang: ko +--- + +ConFoo에서 다가오는 콘퍼런스에 참가할 열정적인 발표자를 다시 한 번 모집합니다. + +![ConFoo - 개발자 콘퍼런스](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"} +ConFoo에서 밴쿠버 2016 [제안서][1]를 받게 되었습니다! 루비나 다른 웹 개발 주제에 +대해 발표하고 싶다면, 6월 6일까지 제출해주시기 바랍니다. 필요하신 분에 한해 여행 +경비와 호텔 비용을 지불해드립니다. + +ConFoo 밴쿠버는 2016년 12월 5일부터 7일까지 열릴 예정입니다. ConFoo 몬트리얼은 +해당 콘퍼런스에 익숙한 분들을 위해 밴쿠버와 함께 매년 열릴 예정입니다. 자세히 +알아보려면 [저희 사이트에 방문하세요][2]. + +발표 시간은 주제에 대해 35분, 질의응답 시간 10분으로 총 45분입니다. 제안서를 +제출해주시길 고대하고 있겠습니다! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From 7cce383c6379690a31fdb771b71db0bbf9e43916 Mon Sep 17 00:00:00 2001 From: Thiago Augusto Date: Fri, 27 May 2016 01:49:27 -0300 Subject: [PATCH 0201/3394] Fix typographical error (pt) --- pt/documentation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pt/documentation/index.md b/pt/documentation/index.md index c7c28f2e9b..40ef06a6dc 100644 --- a/pt/documentation/index.md +++ b/pt/documentation/index.md @@ -36,7 +36,7 @@ diversas maneiras de obter o Ruby. bibliotecas comuns do Ruby. Também ensinamos cultura. [RubyMonk][3] -: Descubra idiomas Ruby, aprenda lissões e resolva problemas, tudo +: Descubra idiomas Ruby, aprenda lições e resolva problemas, tudo no seu browser! [Hackety Hack][4] From 4c0d7fd47d82300bbce8343ee834bcda5eb1db17 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Fri, 27 May 2016 15:16:17 +0800 Subject: [PATCH 0202/3394] Translate ConFoo 2016 news post (zh_tw) --- zh_tw/news/_posts/2016-05-16-confoo-cfp.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 zh_tw/news/_posts/2016-05-16-confoo-cfp.md diff --git a/zh_tw/news/_posts/2016-05-16-confoo-cfp.md b/zh_tw/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..97d6db997e --- /dev/null +++ b/zh_tw/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,19 @@ +--- +layout: news_post +title: "ConFoo 2016 正尋找 Ruby 講者" +author: "afilina" +translator: "Juanito Fatas" +date: 2016-05-16 20:06:00 +0000 +lang: zh_tw +--- + +ConFoo 再一次為下一次大會尋找有熱情的講者。 + +![ConFoo - 開發者研討會](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}很高興宣布 ConFoo 溫哥華大會 2016 年現正[開放投稿][1]!如有興趣演講 Ruby 或任何網路開發相關的主題,請在六月六日前投稿。我們支付旅費與住宿費給有需要的講者。 + +ConFoo Vancouver 將於 2016 年 12 月 5 至 7 日舉辦。參加過 ConFoo 蒙特婁的朋友,大會今年仍會舉辦,只是改在溫哥華。請參考[大會官網][2]來進一步了解。 + +演講為 35 分鐘加 10 分鐘問答時間,共 45 分鐘。引頸期盼您的投稿! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From 1035784c4a7a2cda37858b37024e8f1bb06176c4 Mon Sep 17 00:00:00 2001 From: Quintus Date: Thu, 2 Jun 2016 20:58:22 +0200 Subject: [PATCH 0203/3394] Translate ConFoo Vancouver 2016 post (de) --- de/news/_posts/2016-05-16-confoo-cfp.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 de/news/_posts/2016-05-16-confoo-cfp.md diff --git a/de/news/_posts/2016-05-16-confoo-cfp.md b/de/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..0ee774d1ef --- /dev/null +++ b/de/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,19 @@ +--- +layout: news_post +title: "ConFoo Vancouver 2016 sucht Ruby-Referenten" +author: "afilina" +translator: "Marvin Gülker" +date: 2016-05-16 20:06:00 +0000 +lang: de +--- + +Wieder einmal sucht die ConFoo nach motivierten Referenten für die anstehende Konferenz. + +![ConFoo - Entwicklerkonferenz](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}Die ConFoo freut sich, den [Call for Papers][1] für die ConFoo Vancouver 2016 bekannt zu geben! Wenn Sie Interesse daran haben, über Ruby oder andere Webentwicklerthemen zu referieren, senden Sie Ihre Vorschläge bitte bis zum 6. Juni ein. Die Reise- und Hotelkosten werden bei bedürftigen Referenten von uns übernommen. + +Die ConFoo Vancouver wird vom 5. bis 7. Dezember 2016 stattfinden. Die ConFoo Montreal wird weiterhin jährlich neben derjenigen in Vancouver stattfinden; [besuchen Sie unsere Seite][2] für weitere Informationen. + +Die einzelnen Veranstaltungen haben eine Länge von insgesamt 45 Minuten, die sich aus 35 Minuten für das Thema und 10 Minuten für Fragen und Antworten zusammensetzt. Wir warten gespannt auf Ihre Vorschläge! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From 64c911543e9305c3865d9d7ac2307534932514a7 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 12 Jun 2016 10:27:54 +0200 Subject: [PATCH 0204/3394] Avoid use of "we" in ConFoo post (en) "We" should not be used in third-party news posts, since it invokes the association that it refers to the Ruby core or ruby-lang.org teams. See issue #1405. --- en/news/_posts/2016-05-16-confoo-cfp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2016-05-16-confoo-cfp.md b/en/news/_posts/2016-05-16-confoo-cfp.md index e5db4248be..1e39cb8bf5 100644 --- a/en/news/_posts/2016-05-16-confoo-cfp.md +++ b/en/news/_posts/2016-05-16-confoo-cfp.md @@ -9,11 +9,11 @@ lang: en ConFoo is once more seeking passionate speakers for the upcoming conference. -![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo is happy to open the [call for papers][1] of the Vancouver 2016 edition! If you are interested in speaking about Ruby or other web development topics, please submit until June 6th. We will cover travel and hotel for the speakers who require it. +![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo is happy to open the [call for papers][1] of the Vancouver 2016 edition! If you are interested in speaking about Ruby or other web development topics, please submit until June 6th. ConFoo will cover travel and hotel for the speakers who require it. -ConFoo Vancouver will be held on December 5-7, 2016. For those who are familiar with ConFoo Montreal, that conference will still be running annually in addition to Vancouver. [Visit our site][2] to learn more. +ConFoo Vancouver will be held on December 5-7, 2016. For those who are familiar with ConFoo Montreal, that conference will still be running annually in addition to Vancouver. [Visit their site][2] to learn more. -Talks are 35 minutes for the topic and 10 minutes for Q&A, for a total of 45 minutes. We are eagerly expecting your proposals! +Talks are 35 minutes for the topic and 10 minutes for Q&A, for a total of 45 minutes. ConFoo is eagerly expecting your proposals! [1]: https://confoo.ca/en/yvr2016/call-for-papers [2]: https://confoo.ca/en/yvr2016 From 646e2109aecdae8ae0eaf736f648f817b1a48b79 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 12 Jun 2016 10:28:35 +0200 Subject: [PATCH 0205/3394] Update translation of ConFoo post (de) --- de/news/_posts/2016-05-16-confoo-cfp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/de/news/_posts/2016-05-16-confoo-cfp.md b/de/news/_posts/2016-05-16-confoo-cfp.md index 0ee774d1ef..1bdeebf139 100644 --- a/de/news/_posts/2016-05-16-confoo-cfp.md +++ b/de/news/_posts/2016-05-16-confoo-cfp.md @@ -9,11 +9,11 @@ lang: de Wieder einmal sucht die ConFoo nach motivierten Referenten für die anstehende Konferenz. -![ConFoo - Entwicklerkonferenz](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}Die ConFoo freut sich, den [Call for Papers][1] für die ConFoo Vancouver 2016 bekannt zu geben! Wenn Sie Interesse daran haben, über Ruby oder andere Webentwicklerthemen zu referieren, senden Sie Ihre Vorschläge bitte bis zum 6. Juni ein. Die Reise- und Hotelkosten werden bei bedürftigen Referenten von uns übernommen. +![ConFoo - Entwicklerkonferenz](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}Die ConFoo freut sich, den [Call for Papers][1] für die ConFoo Vancouver 2016 bekannt zu geben! Wenn Sie Interesse daran haben, über Ruby oder andere Webentwicklerthemen zu referieren, senden Sie Ihre Vorschläge bitte bis zum 6. Juni ein. Die Reise- und Hotelkosten werden bei bedürftigen Referenten übernommen. -Die ConFoo Vancouver wird vom 5. bis 7. Dezember 2016 stattfinden. Die ConFoo Montreal wird weiterhin jährlich neben derjenigen in Vancouver stattfinden; [besuchen Sie unsere Seite][2] für weitere Informationen. +Die ConFoo Vancouver wird vom 5. bis 7. Dezember 2016 stattfinden. Die ConFoo Montreal wird weiterhin jährlich neben derjenigen in Vancouver stattfinden; [besuchen Sie die Website][2] für weitere Informationen. -Die einzelnen Veranstaltungen haben eine Länge von insgesamt 45 Minuten, die sich aus 35 Minuten für das Thema und 10 Minuten für Fragen und Antworten zusammensetzt. Wir warten gespannt auf Ihre Vorschläge! +Die einzelnen Veranstaltungen haben eine Länge von insgesamt 45 Minuten, die sich aus 35 Minuten für das Thema und 10 Minuten für Fragen und Antworten zusammensetzt. Die ConFoo wartet gespannt auf Ihre Vorschläge! [1]: https://confoo.ca/en/yvr2016/call-for-papers [2]: https://confoo.ca/en/yvr2016 From f7025e6323bd828b452cd48647257445383efa20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Campos?= Date: Fri, 3 Jun 2016 11:28:02 -0300 Subject: [PATCH 0206/3394] Translate 2016-05-16-confoo-cfp (pt) --- pt/news/_posts/2016-05-16-confoo-cfp.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pt/news/_posts/2016-05-16-confoo-cfp.md diff --git a/pt/news/_posts/2016-05-16-confoo-cfp.md b/pt/news/_posts/2016-05-16-confoo-cfp.md new file mode 100644 index 0000000000..0ce8a093de --- /dev/null +++ b/pt/news/_posts/2016-05-16-confoo-cfp.md @@ -0,0 +1,20 @@ +--- +layout: news_post +title: "ConFoo Vancouver 2016 está procurando por palestrantes em Ruby" +author: "afilina" +translator: "jcserracampos" +date: 2016-05-16 20:06:00 +0000 +lang: pt +--- + +ConFoo está mais uma vez procurando por palestrantes apaixonador para sua próxima conferência. +ConFoo is once more seeking passionate speakers for the upcoming conference. + +![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo está feliz por [receber artigos][1] para a edição Vancouver 2016! Se você é interessado em falar sobre Ruby ou outros tópicos sobre desenvolvimento web, por favor submeta até dia 6 e junho. Nós vamos custear viagem e hotel para os palestrantes que requerirem. + +ConFoo Vancouver acontecerá entra 5 e 7 de dezembro de 2016. Para aqueles que são acostumados com ConFoo Montreal, esta conferência ainda ocorrerá anualmente em adição a de Vancouver. [Visite nosso site][2] para aprender mais. + +Palestras são 35 minutos do tópico e 10 minutos para perguntas e respostas, totalizando 45 minutos. Estamos ansiosamento esperando por sua proposta! + +[1]: https://confoo.ca/en/yvr2016/call-for-papers +[2]: https://confoo.ca/en/yvr2016 From 0399d8a2d15bd56d349386d27ee40f886c93dbb7 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Sun, 12 Jun 2016 10:56:04 +0200 Subject: [PATCH 0207/3394] Remove untranslated paragraph from ConFoo post (pt) --- pt/news/_posts/2016-05-16-confoo-cfp.md | 1 - 1 file changed, 1 deletion(-) diff --git a/pt/news/_posts/2016-05-16-confoo-cfp.md b/pt/news/_posts/2016-05-16-confoo-cfp.md index 0ce8a093de..ee29796221 100644 --- a/pt/news/_posts/2016-05-16-confoo-cfp.md +++ b/pt/news/_posts/2016-05-16-confoo-cfp.md @@ -8,7 +8,6 @@ lang: pt --- ConFoo está mais uma vez procurando por palestrantes apaixonador para sua próxima conferência. -ConFoo is once more seeking passionate speakers for the upcoming conference. ![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo está feliz por [receber artigos][1] para a edição Vancouver 2016! Se você é interessado em falar sobre Ruby ou outros tópicos sobre desenvolvimento web, por favor submeta até dia 6 e junho. Nós vamos custear viagem e hotel para os palestrantes que requerirem. From 88f80814aa4b1229c16fcb4a6e3b17c9e466b9c3 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Mon, 20 Jun 2016 18:00:24 +0900 Subject: [PATCH 0208/3394] Ruby 2.4.0-preview1 Released (#1409) * Ruby 2.4.0-preview1 Released --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..847d561af1 --- /dev/null +++ b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,106 @@ +--- +layout: news_post +title: "Ruby 2.4.0-preview1 Released" +author: "naruse" +translator: +date: 2016-06-20 14:00:00 +0000 +lang: en +--- + +We are pleased to announce the release of Ruby 2.4.0-preview1. + +Ruby 2.4.0-preview1 is the first preview of Ruby 2.4.0. +This preview1 is released earlier than usual because it includes so +many new features and improvements. +Feel free to [send feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) since you can still change the features. + +## [Unify Fixnum and Bignum into Integer](https://bugs.ruby-lang.org/issues/12005) + +Though [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) doesn't specify details of the Integer class, +CRuby has two visible Integer classes: Fixnum and Bignum. +Ruby 2.4 unifies them into Integer. + +## [String supports Unicode case mappings](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` now handle Unicode case mappings +instead of only ASCII case mappings. + +## Performance improvements + +Ruby 2.4 also contains the following performance improvements including language changes: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` and `[x, y].min` are optimized to not create a temporary array +under certain conditions. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +Added `Regexp#match?`, which executes a regexp match without creating a back reference object +and changing `$~` to reduce object allocation. + +### Other performance improvements + +* [speed up instance variable access](https://bugs.ruby-lang.org/issues/12274) + +## Debugging + +### [Thread#report_on_exception and Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby ignored exceptions in threads unless another thread explicitly joins it. +With `report_on_exception = true`, +you can notice if a thread has died due to an unhandled exception. + +Send us feedback what should be the default for `report_on_exception` and about report-on-GC. + +### [Thread deadlock detection now shows threads with their backtrace and dependency](https://bugs.ruby-lang.org/issues/8214) + +Ruby has deadlock detection around waiting threads, but its report doesn't +include enough information for debugging. +Ruby 2.4's deadlock detection shows threads with their backtrace and dependent threads. + +Try and enjoy programming with Ruby 2.4.0-preview1, and [send us feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## Notable Changes since 2.3 + +See [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) +and [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +for details. + +With those changes, [1140 files changed, 33126 insertions(+), 50993 deletions(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1) since Ruby 2.3.0! + +## Download + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## Release Comment + +See also the release schedule and other information: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From 29ae14fe380260d00bdc1affe6f654264e9c76b3 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Mon, 20 Jun 2016 18:35:46 +0900 Subject: [PATCH 0209/3394] fix release date (#1411) --- en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md index 847d561af1..a200b50782 100644 --- a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md +++ b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -3,7 +3,7 @@ layout: news_post title: "Ruby 2.4.0-preview1 Released" author: "naruse" translator: -date: 2016-06-20 14:00:00 +0000 +date: 2016-06-20 18:00:00 +0900 lang: en --- From ac62ecdf81cdf1fa6ce4c6f19db6f943e8a73854 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 20 Jun 2016 17:36:39 +0200 Subject: [PATCH 0210/3394] Rewrap post (en) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md index a200b50782..952478a54a 100644 --- a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md +++ b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -12,22 +12,26 @@ We are pleased to announce the release of Ruby 2.4.0-preview1. Ruby 2.4.0-preview1 is the first preview of Ruby 2.4.0. This preview1 is released earlier than usual because it includes so many new features and improvements. -Feel free to [send feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) since you can still change the features. +Feel free to +[send feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) +since you can still change the features. ## [Unify Fixnum and Bignum into Integer](https://bugs.ruby-lang.org/issues/12005) -Though [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) doesn't specify details of the Integer class, +Though [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +doesn't specify details of the Integer class, CRuby has two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. ## [String supports Unicode case mappings](https://bugs.ruby-lang.org/issues/10085) -`String/Symbol#upcase/downcase/swapcase/capitalize(!)` now handle Unicode case mappings -instead of only ASCII case mappings. +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` now handle +Unicode case mappings instead of only ASCII case mappings. ## Performance improvements -Ruby 2.4 also contains the following performance improvements including language changes: +Ruby 2.4 also contains the following performance improvements including +language changes: ### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) @@ -36,8 +40,8 @@ under certain conditions. ### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) -Added `Regexp#match?`, which executes a regexp match without creating a back reference object -and changing `$~` to reduce object allocation. +Added `Regexp#match?`, which executes a regexp match without creating +a back reference object and changing `$~` to reduce object allocation. ### Other performance improvements @@ -51,15 +55,18 @@ Ruby ignored exceptions in threads unless another thread explicitly joins it. With `report_on_exception = true`, you can notice if a thread has died due to an unhandled exception. -Send us feedback what should be the default for `report_on_exception` and about report-on-GC. +Send us feedback what should be the default for `report_on_exception` +and about report-on-GC. ### [Thread deadlock detection now shows threads with their backtrace and dependency](https://bugs.ruby-lang.org/issues/8214) Ruby has deadlock detection around waiting threads, but its report doesn't include enough information for debugging. -Ruby 2.4's deadlock detection shows threads with their backtrace and dependent threads. +Ruby 2.4's deadlock detection shows threads with their backtrace and +dependent threads. -Try and enjoy programming with Ruby 2.4.0-preview1, and [send us feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! +Try and enjoy programming with Ruby 2.4.0-preview1, and +[send us feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! ## Notable Changes since 2.3 @@ -67,7 +74,9 @@ See [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) and [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) for details. -With those changes, [1140 files changed, 33126 insertions(+), 50993 deletions(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1) since Ruby 2.3.0! +With those changes, +[1140 files changed, 33126 insertions(+), 50993 deletions(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1) +since Ruby 2.3.0! ## Download From 0d29a3f33cd3ebb8694969bf06dd63259ad8d260 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 20 Jun 2016 17:48:14 +0200 Subject: [PATCH 0211/3394] Grammar fixes (en) --- en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md index 952478a54a..b86ef218cb 100644 --- a/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md +++ b/en/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -51,7 +51,7 @@ a back reference object and changing `$~` to reduce object allocation. ### [Thread#report_on_exception and Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) -Ruby ignored exceptions in threads unless another thread explicitly joins it. +Ruby ignores exceptions in threads unless another thread explicitly joins them. With `report_on_exception = true`, you can notice if a thread has died due to an unhandled exception. From 33a8673f2e5058d49fdcd84f3d7111730652a74b Mon Sep 17 00:00:00 2001 From: Duc Giang Date: Sat, 21 May 2016 08:29:44 +0700 Subject: [PATCH 0212/3394] translate 2.2.5 & 2.3.1 release posts to Vietnamese --- .../_posts/2016-04-26-ruby-2-2-5-released.md | 56 +++++++++++++++++++ .../_posts/2016-04-26-ruby-2-3-1-released.md | 52 +++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 vi/news/_posts/2016-04-26-ruby-2-2-5-released.md create mode 100644 vi/news/_posts/2016-04-26-ruby-2-3-1-released.md diff --git a/vi/news/_posts/2016-04-26-ruby-2-2-5-released.md b/vi/news/_posts/2016-04-26-ruby-2-2-5-released.md new file mode 100644 index 0000000000..51439fbc52 --- /dev/null +++ b/vi/news/_posts/2016-04-26-ruby-2-2-5-released.md @@ -0,0 +1,56 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.2.5" +author: "usa" +translator: "Nguyễn Đức Giang" +date: 2016-04-26 12:00:00 +0000 +lang: vi +--- + +Chúng tôi vừa phát hành Ruby 2.2.5. + +Phiên bản này bao gồm nhiều bản vá lỗi, được liệt kê đầy đủ trong +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_2_5/ChangeLog). + +## Tải về + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.bz2) + + SIZE: 13350551 bytes + SHA1: f78473fe60a632b778599374ae64612592c2c9c1 + SHA256: 22f0c6f34c0024e0bcaaa8e6831b7c0041e1ef6120c781618b833bde29626700 + SHA512: d3224814361c297bc36646c2e40f63c461ccf5a77fea5a3acdcb2c7ad1705bb229ac6abbd7ad1ae61cbe0fefd7a008c6102568d11366ad3107179302cd3e734e + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.gz) + + SIZE: 16654395 bytes + SHA1: 457707459827bd527347a5cee7b4dc509b486713 + SHA256: 30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3 + SHA512: 3dd8688c64b8b143bdd6b0f123b7c2ecdd1b93c7c9ee51b2774a3b0b864897789932c7ad406293a6ab12c9eb9db9cfb2940fc14e2afc4f79718994f7668cbd5f + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.tar.xz) + + SIZE: 10457620 bytes + SHA1: 58484284dd613e139e8f7023b1168e9034a8766d + SHA256: f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 + SHA512: 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe + +* [https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip](https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.5.zip) + + SIZE: 18493821 bytes + SHA1: e4f497e5b79768ae93dd73ac26da4ff5dd722bfe + SHA256: d5094d7cc50266772a8352c68b7fcd865889fd174c09e2f11bb003696cd04bb3 + SHA512: b3789063252e361aa4598ecd9170fc360f0d5685497975ce09442fe5815c438b67b95fc67e56b99ab4044a49715ed1a8b1fb089f757c7c0d1a777536e06de8cf + +## Lời nhắn + +Xin gửi lời cảm ơn tới những người đã đóng góp cho việc phát hành phiên bản này. + +Cùng với việc phát hành phiên bản mới, người duy trì Ruby 2.2 được thay đổi từ +nagachika-san sang usa. Khoảng 2/3 các thay đổi trong phiên bản này (2.2.5) +là do sự đóng góp của nagachika-san. +Xin gửi lời cảm ơn tới ông vì những đóng góp tuyệt vời này. + +Việc bảo trì Ruby 2.2, bao gồm cả phiên bản này, dựa trên +"Thỏa thuận cho các phiên bản Ruby ổn định" của +[Ruby Association](http://www.ruby.or.jp/). diff --git a/vi/news/_posts/2016-04-26-ruby-2-3-1-released.md b/vi/news/_posts/2016-04-26-ruby-2-3-1-released.md new file mode 100644 index 0000000000..e1b6448e16 --- /dev/null +++ b/vi/news/_posts/2016-04-26-ruby-2-3-1-released.md @@ -0,0 +1,52 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.3.1" +author: "nagachika" +translator: "Nguyễn Đức Giang" +date: 2016-04-26 12:00:00 +0000 +lang: vi +--- + +Chúng tôi vừa phát hành Ruby 2.3.1. + +Đây là phiên bản TEENY (chú thích: cách gọi vui của minor version) +đầu tiên của sê-ri 2.3. + +Phiên bản này bao gồm nhiều bản vá lỗi, được liệt kê đầy đủ trong +[ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog). + +## Tải về + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2) + + SIZE: 14432088 bytes + SHA1: 4ee76c7c1b12d5c5b0245fc71595c5635d2217c9 + SHA256: 4a7c5f52f205203ea0328ca8e1963a7a88cf1f7f0e246f857d595b209eac0a4d + SHA512: a8659b96a3a481a3dbdbb6997eb18ff1f8cd926a9707a90d071e937315c21d372c89252f0d44732ae5007d2678fda8c8fbceafa4e4b4ff500d236fb796284d8d + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz) + + SIZE: 17797997 bytes + SHA1: c39b4001f7acb4e334cb60a0f4df72d434bef711 + SHA256: b87c738cb2032bf4920fef8e3864dc5cf8eae9d89d8d523ce0236945c5797dcd + SHA512: 7399d59b54764e02760ed6cac525a43c5e7212aebbbff8a04234dc45adbc0cd9fe1ff9a9328eefd38f02d3b6c5b2e3ca843808784755ff4e66ded624f55c150a + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.xz) + + SIZE: 11407048 bytes + SHA1: 83499c14c674cf2d88e495031434a94c06330879 + SHA256: 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 + SHA512: e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 + +* [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.zip) + + SIZE: 19842037 bytes + SHA1: ab9dec602b11ee4cfc295d6aa87ebe712372d123 + SHA256: 4c8ae431b33f78d64cabb31911e0890e9a3ac380b4f22b11738f9baeeda51763 + SHA512: a26d3ab5983c6f3ea454e3e75554137305525479e4c15c0ae424689e870e2c5a9f0fe194975cf362cc5528ce601e31a0a15b87c7af200fd0d1da17459435b953 + +## Lời nhắn + +Xin gửi lời cảm ơn tới các cộng tác viên, các nhà phát triển, +và những người dùng đã cung cấp thông báo lỗi, +đã giúp chúng tôi có thể phát hành phiên bản này. From 159e506f22b196cb0cbbf3c239fb461f598cd8ea Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Tue, 21 Jun 2016 12:23:36 +0700 Subject: [PATCH 0213/3394] Update ConFoo Vancouver 2016 post (id) Avoid use of "we" as mentioned on #1405. Beside that, fix some translations. --- id/news/_posts/2016-05-16-confoo-cfp.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/id/news/_posts/2016-05-16-confoo-cfp.md b/id/news/_posts/2016-05-16-confoo-cfp.md index 64f8feafc9..a163bac1ae 100644 --- a/id/news/_posts/2016-05-16-confoo-cfp.md +++ b/id/news/_posts/2016-05-16-confoo-cfp.md @@ -12,12 +12,12 @@ mendatang. ![ConFoo - Developer Conference](https://confoo.ca/images/propaganda/yvr2016/en/like.png){: style="border:0; float:right; margin-left:20px;" width="180" height="130"}ConFoo dengan gembira membuka [call for papers][1] Vancouver edisi 2016! Jika Anda tertarik untuk berbicara tentang Ruby atau topik pengembangan -*web* lainnya, silakan mengajukan hingga 6 Juni. Kami akan menanggung perjalanan dan -hotel untuk pembicara yang memerlukannya. +*web* lainnya, silakan mengajukan hingga 6 Juni. ConFoo akan menanggung perjalanan +dan hotel untuk pembicara yang memerlukannya. ConFoo Vancouver akan diselenggarakan pada 5-7 Desember 2016. Bagi mereka yang -terbiasa dengan ConFoo Montreal, konferensi ini akan tetap berlanjut setiap tahun -disamping Vancouver. [Kunjungi situs kami][2] untuk mempelajari lebih lanjut. +kenal dengan ConFoo Montreal, konferensi tersebut akan tetap berlanjut setiap tahun +di samping Vancouver. [Kunjungi situs ConFoo][2] untuk mempelajari lebih lanjut. Perbincangan topik berlangsung 35 menit dan tanya jawab 10 menit, total 45 menit. Kami tidak sabar untuk menunggu ajuan Anda! From 2eb3905a1251dd80e1025eebb8ba593f38159399 Mon Sep 17 00:00:00 2001 From: Quintus Date: Thu, 23 Jun 2016 10:36:48 +0200 Subject: [PATCH 0214/3394] Translate 2.4.0-preview1 post (de) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 de/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/de/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/de/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..bbbadbc16d --- /dev/null +++ b/de/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,119 @@ +--- +layout: news_post +title: "Ruby 2.4.0-preview1 veröffentlicht" +author: "naruse" +translator: "Marvin Gülker" +date: 2016-06-20 18:00:00 +0900 +lang: de +--- + +Wir freuen uns, die Veröffentlichung von Ruby 2.4.0-preview1 bekannt +geben zu können. + +Ruby 2.4.0-preview1 ist die erste Vorschau auf Ruby 2.4.0 und sie +kommt früher als üblich, weil sie zahlreiche neue Features und +Verbesserungen enthält. Wenn Sie noch Einfluss auf die Zukunft nehmen +wollen, dann [geben Sie uns Rückmeldung](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport). + +## [Zusammenführung von Fixnum und Bignum in Integer](https://bugs.ruby-lang.org/issues/12005) + +Obwohl [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +keine näheren Bestimmungen über die Integer-Klasse trifft, führt CRuby +mit Fixnum und Bignum zwei sichtbare Subklassen von Integer. Mit Ruby +2.4 werden diese mit Integer vereinigt. + +## [String unterstützt Groß- und Kleinschreibung mit Unicode](https://bugs.ruby-lang.org/issues/10085) + +Die Methoden `String/Symbol#upcase/downcase/swapcase/capitalize(!)` +wenden bei der Konvertierung in Groß- oder Kleinschreibung nunmehr +Unicode-Regeln anstelle der bisherigen ASCII-Regeln an. + + +## Performanzverbesserungen + +Ruby 2.4 enthält im Übrigen die folgenden Performanzverbesserungen, +die Änderungen am Sprachverhalten mit sich bringen: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` and `[x, y].min` wurden so optimiert, dass sie unter +bestimmten Bedingungen kein zusätzliches temporäres Array erzeugen. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +Eine Methode `Regexp#match?` wurde hinzugefügt, die einen Regulären +Ausdruck anwendet, ohne eine Backreference zu erstellen oder `$~` zu +verändern, wodurch Objektallozierungen eingespart werden können. + +### Sonstige Performanzverbesserungen + +* [Zugriff auf Instanzvariablen beschleunigt](https://bugs.ruby-lang.org/issues/12274) + +## Debugging + +### [Thread#report_on_exception und Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Exceptions in Threads werden von Ruby ignoriert, bis der betreffende +Thread mit einem anderen zusammengeführt _(joined)_ wird. Wenn +`report_on_exception = true` gesetzt ist, erhalten Sie einen Hinweis, +wenn ein Thread wegen einer nicht behandelten Exception abgestürzt +ist. + +Geben Sie uns Rückmeldung über das gewünschte Standardverhalten von +`report_on_exception` und über report-on-GC. + +### [Deadlock-Erkennung für Threads zeigt Threads nun mit Backtrace und Abhängkeiten](https://bugs.ruby-lang.org/issues/8214) + +Zwar besitzt Ruby eine Deadlock-Erkennung bezüglich wartender Threads, +aber ihre Meldungen enthalten nicht ausreichend Informationen für +sinnvolles Debugging. +Die Deadlock-Erkennung von Ruby 2.4 listet Threads nun mit ihrem +Backtrace und abhängigen Threads. + +Versuchen Sie Ruby 2.4.0-preview1, haben Sie Spaß daran und [geben Sie +Rückmeldung](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## Wesentliche Änderungen seit 2.3 + +Siehe die [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) +und das [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +für Details. + +Mit diesen Änderungen wurden seit Ruby 2.3.0 +[1140 Dateien geändert, 33126 Einfügungen(+), 50993 Löschungen(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1)! + +## Download + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## Veröffentlichungskommentar + +Siehe den Veröffentlichungsplan und andere Informationen: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From cb4868ac8360533178a8006af252bf62f5fee0b8 Mon Sep 17 00:00:00 2001 From: Shia Date: Thu, 23 Jun 2016 19:54:18 +0900 Subject: [PATCH 0215/3394] Translate 2.4.0-preview1 release post (ko) (#1414) * Translate ruby 2.4.0 preview1 release --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 ko/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/ko/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/ko/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..dee2b88e8f --- /dev/null +++ b/ko/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,111 @@ +--- +layout: news_post +title: "루비 2.4.0-preview1 릴리스" +author: "naruse" +translator: "shia" +date: 2016-06-20 18:00:00 +0900 +lang: ko +--- + +루비 2.4.0-preview1의 릴리스를 알리게 되어 기쁘게 생각합니다. + +루비 2.4.0-preview1은 루비 2.4.0의 첫 번째 프리뷰입니다. +이 프리뷰는 많은 새 기능과 개선들을 포함하고 있어서 +이례적으로 이르게 릴리스 되었습니다. +아직 기능이 확정되지 않았으니, 자유롭게 +[피드백](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)을 보내주세요. + +## [Fixnum과 Bignum을 Integer로 통합](https://bugs.ruby-lang.org/issues/12005) + +[ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579)에서는 +Integer 클래스의 세부에 관해서 기술하고 있지 않아, +CRuby에서는 2개의 정수 클래스(Fixnum과 Bignum)를 가지고 있습니다. +루비 2.4에서는 이들이 Integer로 통합됩니다. + +## [String에서 유니코드 대/소문자 대응 지원](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)`는 이제 +ASCII 대/소문자 대응 대신에 유니코드 대/소문자 대응을 지원합니다. + +## 성능 개선 + +루비 2.4는 다음의 언어 변경을 포함한 성능 개선이 있습니다. + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max`와 `[x, y].min`은 특정 조건에서 임시 배열을 생성하지 않도록 +최적화되었습니다. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +`Regexp#match?`가 추가되었으며, 이는 후방 참조 객체를 생성하지 않고 +`$~`을 변경하여 객체 할당을 줄이며 정규 표현식을 매칭합니다. + +### 그 외의 성능 향상 + +* [인스턴스 변수 접근 속도 향상](https://bugs.ruby-lang.org/issues/12274) + +## 디버깅 + +### [Thread#report_on_exception과 Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +루비는 다른 스레드에서 명시적으로 접근하지 않는 이상 스레드에서의 예외를 무시합니다. +`report_on_exception = true`를 사용하면, +처리되지 않은 예외 때문에 스레드가 사망하는 경우, 알림을 받을 수 있게 됩니다. + +`report_on_exception`의 기본값으로 무엇을 사용하면 좋을지, +그리고 report-on-GC에 대한 피드백을 보내주세요. + +### [스레드 교착상태 탐지가 이제 백트레이스와 의존성 정보를 함께 보여주게 됩니다](https://bugs.ruby-lang.org/issues/8214) + +루비는 대기 중인 스레드의 교착상태 탐지를 지원합니다만, +해당 리포트에서는 디버깅을 위한 충분한 정보가 포함되지 않았습니다. +루비 2.4의 교착상태 탐지는 스레드의 백트레이스와 의존하고 있는 스레드에 대한 정보를 보여주게 됩니다. + +루비 2.4.0-preview1로 즐겁게 프로그램을 작성해보세요. +그리고 여러분의 [느낀 점을 알려주세요](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## 2.3 이후의 주목할 만한 변경 + +자세한 내용은 [뉴스](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS)와 +[변경기록](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog)을 +참고하세요. + +이러한 변경사항에 따라, 루비 2.3.0 이후로 +[파일 1140개 수정, 33126줄 추가(+), 50993줄 삭제(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1)가 이루어졌습니다. + +## 다운로드 + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## 릴리스 코멘트 + +릴리스 일정과 다른 정보는 밑의 링크를 참조하세요. + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From 6611691b36de7a0fd33a1d083291a8be51ee43a7 Mon Sep 17 00:00:00 2001 From: Georgi Mitrev Date: Thu, 23 Jun 2016 18:53:14 +0300 Subject: [PATCH 0216/3394] Translate 2016-06-20-ruby-2-4-0-preview1-released (bg) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 bg/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/bg/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/bg/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..2b35a3bf5b --- /dev/null +++ b/bg/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,111 @@ +--- +layout: news_post +title: "Излезе Ruby 2.4.0-preview1" +author: "naruse" +translator: "Georgi Mitrev" +date: 2016-06-20 18:00:00 +0900 +lang: bg +--- + +Радваме се да обявим излизането на Ruby 2.4.0-preview1. + +Това е първият предварителен преглед на Ruby 2.4.0. +Излиза по-рано от обикновено, защото включва много новости и подобрения. + +Не се колебайте да +[изпращате обратна връзка](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport), +тъй като все още имате възможност да повлияете на промените. + +## [Обединяване на Fixnum и Bignum в Integer](https://bugs.ruby-lang.org/issues/12005) + +Въпреки, че [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +не уточнява детайли относно `Integer`, CRuby има два `Integer` класа - `Fixnum` и `Bignum`. +Ruby 2.4. ги обединява в `Integer`. + +## [String поддръжка за Unicode case mappings](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` сега поддържат Unicode +mappings вместо само ASCII такива. + +## Подобрения на производителността + +Ruby 2.4 съдържа следните промени, подобряващи производителността: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` и `[x, y].min` са оптимизирани да не създават временен масив +при определени условия. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +Добавен е метода `Regexp#match?`, който изпълнява regexp match без +да създава back reference object и да сменя `$~`, за да се редуцира +броят на алокираните обекти. + +### Други подобрения на производителността + +* [по-бърз достъп до instance променливи](https://bugs.ruby-lang.org/issues/12274) + +## Дебъгване + +### [Thread#report_on_exception и Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby игнорира exception-и в нишки освен ако не се join-не друга нишка. +Чрез `report_on_exception = true` може да се следи ако нишка умре поради +необработен exception. + +Споделете с нас каква според вас трябва да бъде стойността по подразбиране на +`report_on_exception`. + +### [Показване на backtrace и зависимости при deadlock на нишки](https://bugs.ruby-lang.org/issues/8214) + +Ruby засича deadlock-ове при чакащи нишки, но не показва достатъчно +информация за дебъгване. +Ruby 2.4 показва нишките заедно с техният backtrace, както и кои други нишки +зависят от тях. + +Приятно ползване на Ruby 2.4.0-preview1! +[Свържете се с нас](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) +с вашите коментари и преложения. + +## Важни промени от 2.3 + +Вижте [Новини](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) +и [Списък с промени](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +за повече информация. + +## Сваляне + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## Коментар + +За повече информация и план за следващи версии: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From 255a1497eef724435557ebce413962db7d31ea3c Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 25 Jun 2016 15:50:16 +0700 Subject: [PATCH 0217/3394] Translate Ruby 2.4.0-preview1 released post (id) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 id/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/id/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/id/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..9c7c99b74a --- /dev/null +++ b/id/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,116 @@ +--- +layout: news_post +title: "Ruby 2.4.0-preview1 Rilis" +author: "naruse" +translator: "meisyal" +date: 2016-06-20 18:00:00 +0900 +lang: id +--- + +Kami dengan senang hati mengumumkan rilis dari Ruby 2.4.0-preview1. + +Ruby 2.4.0-preview1 adalah *preview* pertama dari Ruby 2.4.0. +Preview1 ini dirilis lebih awal dari biasanya karena versi ini mencakup +banyak fitur baru dan perbaikan. +Jangan ragu untuk +[mengirimkan umpan balik](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) +karena Anda masih bisa mengubah fitur-fitur ini. + +## [Menyatukan Fixnum dan Bignum ke dalam Integer](https://bugs.ruby-lang.org/issues/12005) + +Meskipun [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +tidak memerinci detail dari kelas Integer, +CRuby memiliki dua variable kelas Integer: Fixnum dan Bignum. +Ruby 2.4 menyatukannya ke dalam Integer. + +## [String mendukung Unicode case mappings](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` sekarang menangani +Unicode *case mappings* selain hanya ASCII *case mappings*. + +## Perbaikan Performa + +Ruby 2.4 juga mencakup perbaikan performa berikut termasuk +perubahan bahasa: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` dan `[x, y].min` dioptimalkan untuk tidak membuat sebuah *array* sementara +dalam kondisi tertentu. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +Penambahan `Regexp#match?`, yang mengeksekusi sebuah *regexp match* tanpa pembuatan +sebuah objek referensi kembali dan pengubahan `$~` untuk mengurangi alokasi objek. + +### Perbaikan performa lainnya + +* [mempercepat akses *instance variable*](https://bugs.ruby-lang.org/issues/12274) + +## Debugging + +### [Thread#report_on_exception dan Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby mengabaikan *exception* pada *thread* kecuali jika *thread* lain secara langsung +bergabung dengannya. +Dengan `report_on_exception = true`, +Anda dapat memperhatikan jika sebuah *thread* telah mati karena *unhandled exception*. + +Kirimkan umpan balik apa yang seharusnya *default* untuk `report_on_exception` +dan tentang *report-on-GC* ke kami. + +### [Thread deadlock detection sekarang menunjukkan thread-thread dengan backtrace dan dependency-nya](https://bugs.ruby-lang.org/issues/8214) + +Ruby memiliki *deadlock detection* saat menunggu *thread*, tetapi dilaporkan tidak +mencakup informasi yang cukup untuk *debugging*. +*Detection deadlock* dari Ruby 2.4 menunjukkan *thread-thread* dengan *backtrace* dan +*dependency*-nya. + +Coba dan nikmati memprogram dengan Ruby 2.4.0-preview1, dan +[kirimkan umpan balik ke kami](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## Perubahan Penting sejak 2.3 + +Lihat [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) +dan [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +untuk detail. + +Dengan perubahan ini, +[1140 berkas berubah, 33126 sisipan(+), 50993 terhapus(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1) +sejak Ruby 2.3.0! + +## Unduh + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## Komentar Rilis + +Lihat juga jadwal rilis dan informasi lainnya: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From a770e1c1d27f3a451a11a2c7c6c24af86785c1d0 Mon Sep 17 00:00:00 2001 From: Reed Loden Date: Fri, 24 Jun 2016 18:30:21 +0200 Subject: [PATCH 0218/3394] Ruby now uses HackerOne for managing incoming security vuln reports Update security documentation to point to https://hackerone.com/ruby. --- en/security/index.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/en/security/index.md b/en/security/index.md index 3d34f46133..6cfadb7854 100644 --- a/en/security/index.md +++ b/en/security/index.md @@ -9,9 +9,21 @@ Here you will find information about security issues of Ruby. ## Reporting Security Vulnerabilities -Security vulnerabilities should be reported via an email to -security@ruby-lang.org ([the PGP public key](/security.asc)), which is a -private mailing list. Reported problems will be published after fixes. +Security vulnerabilities in the Ruby programming language should be +reported through our [bounty program page at +HackerOne](https://hackerone.com/ruby). Please ensure you read the +specific details around the scope of our program before reporting +an issue. Any valid reported problems will be published after fixes. + +If you have found an issue affecting one of our websites, please +report it [via GitHub](https://github.com/ruby/www.ruby-lang.org/issues/new). + +If you have found an issue that affects a specific Ruby gem, follow the +[instructions on RubyGems.org](http://guides.rubygems.org/security/#reporting-security-vulnerabilities). + +If you need to get in touch with the security team directly outside +of HackerOne, you can send email to security@ruby-lang.org +([the PGP public key](/security.asc)), which is a private mailing list. The members of the mailing list are people who provide Ruby (Ruby committers and authors of other Ruby implementations, From 8dc8e4998086776de17fc57b538d4a8f4fdafe09 Mon Sep 17 00:00:00 2001 From: Ta Duy Anh Date: Tue, 21 Jun 2016 13:14:27 +0700 Subject: [PATCH 0219/3394] Translate 2.4.0-preview1 release post (vi) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 vi/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/vi/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/vi/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..f695614f01 --- /dev/null +++ b/vi/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,114 @@ +--- +layout: news_post +title: "Phát hành Ruby 2.4.0-preview1" +author: "naruse" +translator: "Tạ Duy Anh" +date: 2016-06-20 18:00:00 +0900 +lang: vi +--- + +Chúng tôi rất hân hạnh được thông báo về việc phát hành Ruby phiên bản +2.4.0-preview1. + +Phiên bản Ruby 2.4.0-preview1 là phiên bản preview đầu tiên của Ruby 2.4.0. +Bản preview1 lần này được phát hành sớm hơn so với thông thường vì nó bao gồm rất +nhiều chức năng và cải tiến. Mọi người đừng ngại +[phản hồi](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport) lại cho +chúng tôi về phiên bản này, vì các chức năng vẫn có thể được thay đổi và cập nhật. + +## [Hợp nhất Fixnum và Bignum vào Integer](https://bugs.ruby-lang.org/issues/12005) + +Mặc dù chuẩn [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) không mô tả chi tiết nội dung của lớp (class) Integer, CRuby +hiện đang tồn tại hai lớp `Integer` : `Fixnum` và `Bignum`. Ruby 2.4 đã thống +nhất lại và gộp chung 2 lớp này thành 1 lớp có tên là `Integer`. + +## [Lớp String hỗ trợ Unicode trong việc xử lý hoa-thường](https://bugs.ruby-lang.org/issues/10085) + +Hàm `String/Symbol#upcase/downcase/swapcase/capitalize(!)` ở phiên bản 2.4.0 đã +hỗ trợ việc biến đổi hoa - thường cho các ký tự Unicode +(vi du: `'Türkiye'.upcase 'tr' # => 'TÜRKİYE'`) + +## Cải thiện hiệu năng + +Ruby 2.4 cũng bao gồm các cải thiện về hiệu năng song song với các thay đổi +về chức năng. Sau đây là nội dung của các cải thiện: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` và `[x, y].min` đã được tinh chỉnh lại để ko tạo các mảng +tạm (temporary array) trong một số trường hợp. + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +Thêm hàm `Regexp#match?`, với chức năng thực hiện việc kiểm tra (match) +một biểu thức chính quy mà không tạo ra object cho các tham chiếu ngược +(`back reference`) và thay đổi `$~` nhằm giảm việc khởi tạo các đối tượng. + +### Một số cải tiến khác + +* [Tăng tốc độ truy cập biến instance](https://bugs.ruby-lang.org/issues/12274) + +## Debugging + +### [Thread#report_on_exception và Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby sẽ bỏ qua các exception trong các thread trừ khi có một thread khác tham +gia vào tiến trình của thread có exception. Tuy nhiên với việc +set `report_on_exception = true`, bạn có thể nhận biết được việc thread bị +kết thúc bởi một exception chưa được xử lý. + +Hãy góp ý thêm cho chúng tôi về giá trị mặc định của `report_on_exception` +và về việc report-on-GC (thống kê ở Garbage Collection). + +### [Khi phát hiện ra Thread Deadlock, Ruby sẽ hiển thị các threads bị lỗi với backtrace và dependency](https://bugs.ruby-lang.org/issues/8214) + +Ruby đã có cơ chế phát hiện deadlock của các threads, tuy nhiên các thông tin +được báo cáo về deadlock thường không đầy đủ cho việc debug. Từ bản 2.4 trở đi, +khi phát hiện ra Deadlock, Ruby sẽ hiển thị các thread cùng với backtrace +và các threads liên quan. + +Mời mọi người dùng thử và cảm nhận việc lập trình với Ruby 2.4.0-preview1, +đồng thời [gửi phản hồi cho chúng tôi](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## Thay đổi đáng chú ý so với phiên bản 2.3 + +Chi tiết mời xem [Thông tin](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) và +[Changelog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog). + +Với lần cập nhật này, [1140 files đã được cập nhật, bao gồm 33126 insertion và 50933 deletions so với phiên bản 2.3.0](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1)! + +## Tải về + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.bz2) + + SIZE: 12015299 bytes + SHA1: 22dcd759d8cbb14c8735988fbc7ee5c35f9d4720 + SHA256: a74675578a9a801ac25eb7152bef3023432d6267f875b198eb9cd6944a5bf4f1 + SHA512: 4b7213695416876e4de3cbce912f61ac89db052c74f0daa8424477991cfc49b07300e960177ff576b634a97ee8afef3c5aded5d5806329dbd01d0ce7b42b9b63 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.gz) + + SIZE: 15165837 bytes + SHA1: 2a5194b1fd42a3f1f23f1e0844ae78332a9efd5d + SHA256: fb2e454d7a5e5a39eb54db0ec666f53eeb6edc593d1d2b970ae4d150b831dd20 + SHA512: 5f9c0cc3d10b4e04c63f001b4add782c34b9f260368f48b443b397cea57680d328f7c28cbb2a9be4c2f5acd114bac07dacb100d57018fa4d2a1792fc03083418 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.tar.xz) + + SIZE: 9362868 bytes + SHA1: adcc9e10b8f7add0e19f8c70afc134c069a862ca + SHA256: 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 + SHA512: 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 + +* [https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip](https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.10.zip) + + SIZE: 16706304 bytes + SHA1: 402158192b7673cb4e7a67f48f6d93945bc9fd13 + SHA256: 21cf83156ec782d17827fb9c8a945626dfd68cf0d9eb5ca7a78b12eb91c6f1fb + SHA512: 5490fc4726a1efaea8c7c541ca3102013b00a0af2903d15009307265c93b218bb13aab0007d279823c740a9b173d957ca79f2d8f25932f04763ec1aa18d164e8 + +## Lời nhắn của lần release này + +Xem thêm thông tin về kế hoạch release và các nội dung khác ở đây: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) \ No newline at end of file From 697085537d602a5d841c00fee1151acb7de25303 Mon Sep 17 00:00:00 2001 From: Alex S Date: Fri, 24 Jun 2016 08:47:45 +0800 Subject: [PATCH 0220/3394] Translate ruby 2.4.0-preview1 released (zh) --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 100 ++++++++++++++++++ ...2016-06-20-ruby-2-4-0-preview1-released.md | 100 ++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md create mode 100644 zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md diff --git a/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..988a2697b9 --- /dev/null +++ b/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,100 @@ +--- +layout: news_post +title: "Ruby 2.4.0-preview1 发布" +author: "naruse" +translator: "Alex S" +date: 2016-06-20 18:00:00 +0900 +lang: zh_cn +--- + +我们高兴地宣布 Ruby 2.4.0-preview1 发布了。 + +Ruby 2.4.0-preview1 是 Ruby 2.4.0 的首个预览版。 +这个预览版的发布比平常早一点,因为它包括了很多新功能和改进。 +敬请给我们[反馈](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport),因为你还可以改变一些功能。 + +## [统一 Fixnum 和 Bignum 为 Integer]((https://bugs.ruby-lang.org/issues/12005) + +虽然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +没有明确指定 Integer 类的细节,CRuby 有两个显式的 Integer 类:Fixnum 和 Bignum。 +Ruby 2.4 把它们统一为 Integer。 + +## [字符串支持 Unicode 大小写及其他类型](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 现在可以做 Unicode 的的大小写及其他类型,而不仅仅是 ASCII 类型转换。 + +## 性能提升 + +Ruby 2.4 还包括以下性能提升,和一些语法改进: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` and `[x, y].min` 被优化,不会某些情况下创建临时数组。 + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +添加 `Regexp#match?`,它只做正则匹配,而不会创建后向引用对象和改变 `$~`,可以减少对象的创建。 + +### 其他性能提升 + +* [提速实例变量的访问](https://bugs.ruby-lang.org/issues/12274) + +## 调试 + +### [Thread#report_on_exception 和 Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby 忽视线程中的异常,除非另一个线程显式地执行直至结束。 +通过设置 `report_on_exception = true`,你会注意到如果一个线程终止了因为未处理的异常。 + +请向我们反馈 `report_on_exception` 的默认值应该是什么和垃圾回收报告。 + +### [线程死锁检查现在会显示线程的栈和依赖](https://bugs.ruby-lang.org/issues/8214) + +Ruby 在线程等待地时候会进行死锁检查,但是检查的结果没有足够的信息用来调试。 +Ruby 2.4 死锁检查会显示他们的栈信息和依赖线程。 + +尝试并且享受用与 Ruby 2.4.0-preview1 的编码时光,有任何问题,敬请[反馈](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## 自 2.3 起显著的改变 + +请参阅 [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) 和 +[ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +来进一步了解。 + +以上变化自 Ruby 2.3.0 以来,计有 1140 个文件变更,新增代码 33126 行,移除了 50993 行! + +## 下载 + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## 发布记 + +其他资讯请参考发布日程安排: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) \ No newline at end of file diff --git a/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md new file mode 100644 index 0000000000..43498d9c82 --- /dev/null +++ b/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -0,0 +1,100 @@ +--- +layout: news_post +title: "Ruby 2.4.0-preview1 發布" +author: "naruse" +translator: "Alex S" +date: 2016-06-20 18:00:00 +0900 +lang: zh_tw +--- + +我們高興地宣布 Ruby 2.4.0-preview1 發布了。 + +Ruby 2.4.0-preview1 是 Ruby 2.4.0 的首個預覽版。 +這個預覽版的發布比平常早一點,因為它包括了很多新功能和改進。 +敬請給我們[反饋](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport),因為你還可以改變一些功能。 + +## [統一 Fixnum 和 Bignum 為 Integer]((https://bugs.ruby-lang.org/issues/12005) + +雖然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +沒有明確指定 Integer 類的細節,CRuby 有兩個顯式的 Integer 類:Fixnum 和 Bignum。 +Ruby 2.4 把它們統一為 Integer。 + +## [字符串支持 Unicode 大小寫及其他類型](https://bugs.ruby-lang.org/issues/10085) + +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 現在可以做 Unicode 的的大小寫及其他類型,而不僅僅是 ASCII 類型轉換。 + +## 性能提升 + +Ruby 2.4 還包括以下性能提升,和一些語法改進: + +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) + +`[x, y].max` and `[x, y].min` 被優化,不會某些情況下創建臨時數組。 + +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) + +添加 `Regexp#match?`,它只做正則匹配,而不會創建後向引用對象和改變 `$~`,可以減少對象的創建。 + +### 其他性能提升 + +* [提速實例變量的訪問](https://bugs.ruby-lang.org/issues/12274) + +## 調試 + +### [Thread#report_on_exception 和 Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) + +Ruby 忽視線程中的異常,除非另一個線程顯式地執行直至結束。 +通過設置 `report_on_exception = true`,你會注意到如果一個線程終止了因為未處理的異常。 + +請向我們反饋 `report_on_exception` 的默認值應該是什麼和垃圾回收報告。 + +### [線程死鎖檢查現在會顯示線程的棧和依賴](https://bugs.ruby-lang.org/issues/8214) + +Ruby 在線程等待地時候會進行死鎖檢查,但是檢查的結果沒有足夠的信息用來調試。 +Ruby 2.4 死鎖檢查會顯示他們的棧信息和依賴線程。 + +嘗試並且享受用與 Ruby 2.4.0-preview1 的編碼時光,有任何問題,敬請[反饋](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! + +## 自 2.3 起顯著的改變 + +請參閱 [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) 和 +[ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) +來進一步了解。 + +以上變化自 Ruby 2.3.0 以來,計有 1140 個文件變更,新增代碼 33126 行,移除了 50993 行! + +## 下載 + +* + + * SIZE: 14108114 bytes + * SHA1: 7dcc42548d0724d83b6589ab98f34282845d7bcd + * SHA256: 17570f0b84215ca82252f10c167ee50bc075383c018420c6b2601ae1cade0649 + * SHA512: c9873e8686eb54dbde61d6e23cd5197beebccd6cb31fd12c82763ebe1fde17095d7514d9d93c2c82b238032c98691df5479dc2d666a8a590e0fc54450ec29cb5 + +* + + * SIZE: 17605452 bytes + * SHA1: 1003a1e57547d81f4bb979c0f40f242afc284cd5 + * SHA256: 80d02f49f40e7ce07b70bee7efda751b0595a349a017306e9fe8caad5da13e64 + * SHA512: 4b603ab4ff9ea7e8bb8053aa4b638839d534241466d7f0e4d5bca3f2ea416694c2ea391790f1ffdc07fa538918d27707621741eb0ddc7bd00eb9d7628622787a + +* + + * SIZE: 11155800 bytes + * SHA1: bc33085277266f5a09a143bf6817affcb77f8e7f + * SHA256: 62942c7300727469fe3d2b43e5a5c772d4836cf624a1d644bdece2afaca472c8 + * SHA512: dfc2c6642d49fa95383817a6dc82c416b3218ddfdaf882d6d2e5a7da22d0a5ac142e516a57aa96214070f3c7551d275044233ac052c82d67189b01c39847aad4 + +* + + * SIZE: 19904781 bytes + * SHA1: 25c16ee91bbcb0224f80e20d938f5c08832973f7 + * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 + * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b + +## 發布記 + +其他資訊請參考發布日程安排: + +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) \ No newline at end of file From a7bd0d796c6072508e8d7942ead96622c1784233 Mon Sep 17 00:00:00 2001 From: JuanitoFatas Date: Mon, 27 Jun 2016 14:25:44 +0800 Subject: [PATCH 0221/3394] Fix some errors (zh_cn) and improves translation (zh_tw) Closes #1416 --- ...2016-06-20-ruby-2-4-0-preview1-released.md | 10 ++-- ...2016-06-20-ruby-2-4-0-preview1-released.md | 59 +++++++++---------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md index 988a2697b9..a7024ba673 100644 --- a/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md +++ b/zh_cn/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -13,15 +13,15 @@ Ruby 2.4.0-preview1 是 Ruby 2.4.0 的首个预览版。 这个预览版的发布比平常早一点,因为它包括了很多新功能和改进。 敬请给我们[反馈](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport),因为你还可以改变一些功能。 -## [统一 Fixnum 和 Bignum 为 Integer]((https://bugs.ruby-lang.org/issues/12005) +## [统一 Fixnum 和 Bignum 为 Integer](https://bugs.ruby-lang.org/issues/12005) -虽然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +虽然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) 没有明确指定 Integer 类的细节,CRuby 有两个显式的 Integer 类:Fixnum 和 Bignum。 Ruby 2.4 把它们统一为 Integer。 ## [字符串支持 Unicode 大小写及其他类型](https://bugs.ruby-lang.org/issues/10085) -`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 现在可以做 Unicode 的的大小写及其他类型,而不仅仅是 ASCII 类型转换。 +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 现在可以做 Unicode 的大小写及其他类型,而不仅仅是 ASCII 类型转换。 ## 性能提升 @@ -61,7 +61,7 @@ Ruby 2.4 死锁检查会显示他们的栈信息和依赖线程。 [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) 来进一步了解。 -以上变化自 Ruby 2.3.0 以来,计有 1140 个文件变更,新增代码 33126 行,移除了 50993 行! +以上变化自 Ruby 2.3.0 以来,计有 [1140 个文件变更,新增代码 33126 行,移除了 50993 行](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1)! ## 下载 @@ -97,4 +97,4 @@ Ruby 2.4 死锁检查会显示他们的栈信息和依赖线程。 其他资讯请参考发布日程安排: -[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) \ No newline at end of file +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) diff --git a/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md b/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md index 43498d9c82..ebf69cc56e 100644 --- a/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md +++ b/zh_tw/news/_posts/2016-06-20-ruby-2-4-0-preview1-released.md @@ -1,67 +1,66 @@ --- layout: news_post -title: "Ruby 2.4.0-preview1 發布" +title: "Ruby 2.4.0-preview1 發佈" author: "naruse" -translator: "Alex S" +translator: "Alex S & Juanito Fatas" date: 2016-06-20 18:00:00 +0900 lang: zh_tw --- -我們高興地宣布 Ruby 2.4.0-preview1 發布了。 +很高興告訴大家 Ruby 2.4.0-preview1 發佈了。 Ruby 2.4.0-preview1 是 Ruby 2.4.0 的首個預覽版。 -這個預覽版的發布比平常早一點,因為它包括了很多新功能和改進。 -敬請給我們[反饋](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport),因為你還可以改變一些功能。 +這個預覽版發佈的比平常早,因為包含了許多新功能和改良。 +有任何想修改的功能,敬請給我們[建議](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)。 -## [統一 Fixnum 和 Bignum 為 Integer]((https://bugs.ruby-lang.org/issues/12005) +## [Fixnum 和 Bignum 統整為 Integer](https://bugs.ruby-lang.org/issues/12005) -雖然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) -沒有明確指定 Integer 類的細節,CRuby 有兩個顯式的 Integer 類:Fixnum 和 Bignum。 -Ruby 2.4 把它們統一為 Integer。 +雖然 [ISO/IED 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) +沒有明確指定 Integer 類別的細節,但 CRuby 有兩個 Integer 類別:Fixnum 和 Bignum。 +Ruby 2.4 統整為 Integer。 -## [字符串支持 Unicode 大小寫及其他類型](https://bugs.ruby-lang.org/issues/10085) +## [字串支持 Unicode 的大小寫轉換](https://bugs.ruby-lang.org/issues/10085) -`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 現在可以做 Unicode 的的大小寫及其他類型,而不僅僅是 ASCII 類型轉換。 +`String/Symbol#upcase/downcase/swapcase/capitalize(!)` 除 ASCII 之外,現在也可以做 Unicode 的大小寫轉換了。 -## 性能提升 +## 效能優化 -Ruby 2.4 還包括以下性能提升,和一些語法改進: +Ruby 2.4 還包括以下效能優化及語法變更: ### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) -`[x, y].max` and `[x, y].min` 被優化,不會某些情況下創建臨時數組。 +優化了 `[x, y].max` and `[x, y].min`,某些情況下不會產生暫時性陣列。 ### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) -添加 `Regexp#match?`,它只做正則匹配,而不會創建後向引用對象和改變 `$~`,可以減少對象的創建。 +新增 `Regexp#match?` 方法,只做正則匹配,而不會產生參照物件及修改 `$~`,減少物件的分配。 -### 其他性能提升 +### 其他效能改善 -* [提速實例變量的訪問](https://bugs.ruby-lang.org/issues/12274) +* [提昇實體變量的訪問速度](https://bugs.ruby-lang.org/issues/12274) -## 調試 +## 除錯 ### [Thread#report_on_exception 和 Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) -Ruby 忽視線程中的異常,除非另一個線程顯式地執行直至結束。 -通過設置 `report_on_exception = true`,你會注意到如果一個線程終止了因為未處理的異常。 +除非有另外的線程明確和執行中線程進行 join,否則 Ruby 會忽略執行中線程的異常。啟用 `report_on_exception = true` 來觀察線程是否有未處理的異常而終止執行。 -請向我們反饋 `report_on_exception` 的默認值應該是什麼和垃圾回收報告。 +敬請給我們建議關於 `report_on_exception` 的預設值以及 report-on-GC。 -### [線程死鎖檢查現在會顯示線程的棧和依賴](https://bugs.ruby-lang.org/issues/8214) +### [線程死鎖檢查現在會顯示線程的錯誤和相依線程](https://bugs.ruby-lang.org/issues/8214) -Ruby 在線程等待地時候會進行死鎖檢查,但是檢查的結果沒有足夠的信息用來調試。 -Ruby 2.4 死鎖檢查會顯示他們的棧信息和依賴線程。 +Ruby 在等待線程執行時會進行死鎖檢查,但檢查結果沒有足夠的資訊來除錯。 +Ruby 2.4 的死鎖檢查會顯示錯誤資訊及相依的線程。 -嘗試並且享受用與 Ruby 2.4.0-preview1 的編碼時光,有任何問題,敬請[反饋](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! +請嘗試並享受與 Ruby 2.4.0-preview1 的編碼時光,有任何問題敬請[不吝指出](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! -## 自 2.3 起顯著的改變 +## 自 2.3 起重要的變化 請參閱 [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview1/NEWS) 和 [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview1/ChangeLog) 來進一步了解。 -以上變化自 Ruby 2.3.0 以來,計有 1140 個文件變更,新增代碼 33126 行,移除了 50993 行! +以上變化自 Ruby 2.3.0 以來,計有 [1140 個文件變更,新增代碼 33126 行,移除了 50993 行](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview1)! ## 下載 @@ -93,8 +92,8 @@ Ruby 2.4 死鎖檢查會顯示他們的棧信息和依賴線程。 * SHA256: fd588aea1558b1171f87a3dd342ee207b8995a2c0a8241d7aa15bcfa16036854 * SHA512: f2fff35ff9157a4b31177b3d6b91bdaad04c22b3c626c3a5e5ec9a31b103f9607b31c909ef27880065cfdbcfa5d6901a6db89d22e0c645666d069c5b6dd1818b -## 發布記 +## 發佈記 -其他資訊請參考發布日程安排: +其他資訊請參考發佈時程: -[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) \ No newline at end of file +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) From c65be45889545b09aa33309c9c3150a62f71ade0 Mon Sep 17 00:00:00 2001 From: Laurent Arnoud Date: Mon, 27 Jun 2016 22:27:18 +0200 Subject: [PATCH 0222/3394] Add title and charset on index.html page --- index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.html b/index.html index b7b25da06b..2eae11f9be 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,8 @@ + Ruby Programming Language + From f2bf13ee6189fa4b9f033d5f2f3f3ac48b73b452 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 4 Mar 2019 11:10:41 +0900 Subject: [PATCH 1225/3394] update bundles --- Gemfile.lock | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 594fb99a4e..57df945052 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,16 +1,16 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.5.2) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) colorator (1.1.0) - concurrent-ruby (1.1.3) + concurrent-ruby (1.1.4) crass (1.0.4) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) - ffi (1.9.25) + ffi (1.10.0) forwardable-extended (2.6.0) http_parser.rb (0.6.0) i18n (0.9.5) @@ -32,7 +32,7 @@ GEM sass (~> 3.4) jekyll-watch (2.1.2) listen (~> 3.0) - json (2.1.0) + json (2.2.0) kgio (2.11.2) kramdown (1.17.0) lanyon (0.4.0) @@ -44,29 +44,29 @@ GEM rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) mercenary (0.3.6) - mini_portile2 (2.3.0) + mini_portile2 (2.4.0) minitest (5.11.3) - nokogiri (1.8.5) - mini_portile2 (~> 2.3.0) - paint (1.0.1) + nokogiri (1.10.1) + mini_portile2 (~> 2.4.0) + paint (2.1.0) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.0.3) rack (2.0.6) - rack-protection (2.0.4) + rack-protection (2.0.5) rack rack-rewrite (1.5.1) rack-ssl (1.4.1) rack raindrops (0.19.0) - rake (12.3.1) + rake (12.3.2) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) + rb-inotify (0.10.0) + ffi (~> 1.0) rouge (1.11.1) ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.7.1) + safe_yaml (1.0.5) + sass (3.7.3) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -74,18 +74,18 @@ GEM slop (4.6.2) spidr (0.6.0) nokogiri (~> 1.3) - sq_mini_racer (0.2.3.sqreen4) - sqreen (1.15.3) - sq_mini_racer (~> 0.2.2.sqreen1) + sq_mini_racer (0.2.4.sqreen2) + sqreen (1.16.2) + sq_mini_racer (~> 0.2.4.sqreen2) tidy_ffi (0.1.6) ffi (~> 1.2) - unicorn (5.4.1) + unicorn (5.5.0) kgio (~> 2.6) raindrops (~> 0.7) - validate-website (1.8.1) + validate-website (1.9.0) crass (~> 1) - paint (~> 1) - slop (~> 4.2) + paint (~> 2) + slop (~> 4.6) spidr (~> 0.6) tidy_ffi (~> 0.1) w3c_validators (~> 1.3) @@ -114,4 +114,4 @@ RUBY VERSION ruby 2.5.1p57 BUNDLED WITH - 1.17.1 + 1.17.3 From d0cbdb32665864929c618ac1c80e223af31250c3 Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Mon, 4 Mar 2019 11:22:18 +0900 Subject: [PATCH 1226/3394] Revive YAML front matter to enable liquid tags again. This partially reverts 2c8ff6b80a1d8fb2b8b86e38996fdd7e6b8c491d. --- admin/translation-status/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/admin/translation-status/index.html b/admin/translation-status/index.html index 9d6886602f..bcf3c819e7 100644 --- a/admin/translation-status/index.html +++ b/admin/translation-status/index.html @@ -1,3 +1,6 @@ +--- +--- + From 3cac2f50c1384a25eb8b9296e5b746a56a9592c7 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 4 Mar 2019 15:48:38 +0100 Subject: [PATCH 1227/3394] Fix typo (en) --- en/documentation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/documentation/index.md b/en/documentation/index.md index 4287c373d4..0c0c174ff8 100644 --- a/en/documentation/index.md +++ b/en/documentation/index.md @@ -4,7 +4,7 @@ title: "Documentation" lang: en --- -Guides, tutorials and reference material to help you learn more about Ruby +Guides, tutorials, and reference material to help you learn more about Ruby {: .summary} ### Installing Ruby From 455e796d20d93793022c90f67ca4e4a6ddef66c1 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 4 Mar 2019 16:05:57 +0100 Subject: [PATCH 1228/3394] Drop mention of specific Ruby versions (en) (#1681) --- en/documentation/installation/index.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/en/documentation/installation/index.md b/en/documentation/installation/index.md index 0b4321faa5..3df8d878d9 100644 --- a/en/documentation/installation/index.md +++ b/en/documentation/installation/index.md @@ -80,9 +80,6 @@ like this: $ sudo apt-get install ruby-full {% endhighlight %} -As of writing, the `ruby-full` package provides Ruby 2.3.1, which is an old -stable release, on Debian and Ubuntu. - ### yum (CentOS, Fedora, or RHEL) {: #yum} @@ -125,9 +122,7 @@ Gentoo uses the portage package manager. $ sudo emerge dev-lang/ruby {% endhighlight %} -By default, this will try to install versions 1.9 and 2.0, but more -versions are available. To install a specific version, set -`RUBY_TARGETS` in your `make.conf`. +To install a specific version, set `RUBY_TARGETS` in your `make.conf`. See the [Gentoo Ruby Project website][gentoo-ruby] for details. From 2bcc020a21c6603ba5b717991e51a23ade9eda05 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 4 Mar 2019 22:15:05 +0100 Subject: [PATCH 1229/3394] Remove HOST constant HOST was only used by validate-website-static via the check:markup task, but it has no significance, since the task checks the local files and not the specified URL. --- Rakefile | 3 +-- lib/markup_checker.rb | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Rakefile b/Rakefile index ba253742b6..dde8d11742 100644 --- a/Rakefile +++ b/Rakefile @@ -8,7 +8,6 @@ rescue LoadError => e exit -1 end -HOST = 'www.ruby-lang.org' LANGUAGES = %w[bg de en es fr id it ja ko pl pt ru tr vi zh_cn zh_tw] CONFIG = "_config.yml" @@ -127,6 +126,6 @@ namespace :check do desc 'Validate _site markup with validate-website' task :markup do require_relative "lib/markup_checker" - MarkupChecker.new.check(host: HOST) + MarkupChecker.new.check end end diff --git a/lib/markup_checker.rb b/lib/markup_checker.rb index 3a65fcb9e8..ac20f3519c 100644 --- a/lib/markup_checker.rb +++ b/lib/markup_checker.rb @@ -1,14 +1,14 @@ class MarkupChecker # Validate _site markup with validate-website - def check(host:) - url = "https://#{host}/" - + def check Dir.chdir("_site") do - system("validate-website-static", - "--verbose", - "--exclude", "examples", - "--site", "#{url}") + system( + "validate-website-static", + "--verbose", + "--exclude", "examples" + ) + exit($?.exitstatus) end end From 944a697e3a3d21c646ab3aaa422ec6d26057097a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 4 Mar 2019 22:22:21 +0100 Subject: [PATCH 1230/3394] Use Ruby 2.6.1 --- .travis.yml | 2 +- Gemfile | 2 +- Gemfile.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 196754c222..d77a8875f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby sudo: false -rvm: 2.5.1 +rvm: 2.6.1 cache: bundler: true script: bundle exec rake ci diff --git a/Gemfile b/Gemfile index 6956a83ba8..347be3285e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source "https://rubygems.org" -ruby ENV['CUSTOM_RUBY_VERSION'] || '~> 2.5.1' +ruby ENV['CUSTOM_RUBY_VERSION'] || '~> 2.6.1' gem 'rake' gem 'jekyll', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 57df945052..91d1689af6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -111,7 +111,7 @@ DEPENDENCIES validate-website (~> 1.6) RUBY VERSION - ruby 2.5.1p57 + ruby 2.6.1p33 BUNDLED WITH 1.17.3 From e2f18e4bb2204d32f73b78412be0e8ff16627253 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 4 Mar 2019 11:11:09 +0900 Subject: [PATCH 1231/3394] Security Advisories for RubyGems Mar, 2019. --- ...05-multiple-vulnerabilities-in-rubygems.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md new file mode 100644 index 0000000000..3fe40469a5 --- /dev/null +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Multiple vulnerabilities in RubyGems" +author: "hsbt" +translator: +date: 2018-03-05 00:00:00 +0000 +tags: security +lang: en +--- + +There are multiple vulnerabilities in RubyGems bundled by Ruby. +It is [reported at the official blog of RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). + +## Details + +The following vulnerabilities have been reported. + +* CVE-2019-8320: Delete directory using symlink when decompressing tar +* CVE-2019-8321: Escape sequence injection vulnerability in `verbose` +* CVE-2019-8322: Escape sequence injection vulnerability in `gem owner` +* CVE-2019-8323: Escape sequence injection vulnerability in API response handling +* CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution +* CVE-2019-8325: Escape sequence injection vulnerability in errors + +It is strongly recommended for Ruby users to upgrade your Ruby installation or take one of the following workarounds as soon as possible. + +## Affected Versions + +* Ruby 2.4 series: 2.4.5 and earlier +* Ruby 2.5 series: 2.5.3 and earlier +* Ruby 2.6 series: 2.6.1 and earlier +* prior to trunk revision XXXXXX + +## Workarounds + +In principle, you should upgrade your Ruby installation to the latest version. +RubyGems 2.7.8, 3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version if you can't upgrade Ruby itself. + +``` +gem update --system +``` + +If you can't upgrade RubyGems, you can apply the following patches as a workaround. + +* [for Ruby 2.4.5]() +* [for Ruby 2.5.3]() +* [for Ruby 2.6.1]() + +About the trunk, update to the latest revision. + +## Credits + +This report is based on [the official blog of RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). + +## History + +* Originally published at 2019-03-05 00:00:00 UTC From 8f11fef7298968c5597283b0a0c252cb73001e31 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 4 Mar 2019 18:02:57 +0900 Subject: [PATCH 1232/3394] Revert to mention the released version of Ruby. --- .../2019-03-05-multiple-vulnerabilities-in-rubygems.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index 3fe40469a5..1cac731ad6 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -22,7 +22,7 @@ The following vulnerabilities have been reported. * CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution * CVE-2019-8325: Escape sequence injection vulnerability in errors -It is strongly recommended for Ruby users to upgrade your Ruby installation or take one of the following workarounds as soon as possible. +It is strongly recommended for Ruby users to take one of the following workarounds as soon as possible. ## Affected Versions @@ -33,8 +33,7 @@ It is strongly recommended for Ruby users to upgrade your Ruby installation or t ## Workarounds -In principle, you should upgrade your Ruby installation to the latest version. -RubyGems 2.7.8, 3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version if you can't upgrade Ruby itself. +RubyGems 2.7.6/3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version. ``` gem update --system From ed4d7a21cd6b72e95694de814814b3d0bb83f9cf Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Tue, 5 Mar 2019 09:06:18 +0900 Subject: [PATCH 1233/3394] Update patch link with bugs.ruby-lang.org. --- .../2019-03-05-multiple-vulnerabilities-in-rubygems.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index 1cac731ad6..fa3f512d09 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -41,9 +41,9 @@ gem update --system If you can't upgrade RubyGems, you can apply the following patches as a workaround. -* [for Ruby 2.4.5]() -* [for Ruby 2.5.3]() -* [for Ruby 2.6.1]() +* [for Ruby 2.4.5](https://bugs.ruby-lang.org/attachments/7662) +* [for Ruby 2.5.3](https://bugs.ruby-lang.org/attachments/7663) +* [for Ruby 2.6.1](https://bugs.ruby-lang.org/attachments/7664) About the trunk, update to the latest revision. From 02b7079b039f998bcf88957d1858c817c2424719 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Tue, 5 Mar 2019 09:16:30 +0900 Subject: [PATCH 1234/3394] oops --- .../_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index fa3f512d09..deebd65cf1 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -3,7 +3,7 @@ layout: news_post title: "Multiple vulnerabilities in RubyGems" author: "hsbt" translator: -date: 2018-03-05 00:00:00 +0000 +date: 2019-03-05 00:00:00 +0000 tags: security lang: en --- From bc7c7ecad4cef92c6980bd43e4f55de3ec7a3e74 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Tue, 5 Mar 2019 12:34:43 +0900 Subject: [PATCH 1235/3394] Update the wrong version of RG 2.7.x and the revision of trunk branch. --- .../_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index deebd65cf1..c63b9ac054 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -29,11 +29,11 @@ It is strongly recommended for Ruby users to take one of the following workaroun * Ruby 2.4 series: 2.4.5 and earlier * Ruby 2.5 series: 2.5.3 and earlier * Ruby 2.6 series: 2.6.1 and earlier -* prior to trunk revision XXXXXX +* prior to trunk revision 67168 ## Workarounds -RubyGems 2.7.6/3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version. +RubyGems 2.7.9/3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version. ``` gem update --system From cf032c821d0e85a0a4b396d026eccb39f67aabaa Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 5 Mar 2019 21:35:08 +0100 Subject: [PATCH 1236/3394] Small fix in news post (en) --- .../_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index c63b9ac054..4d7b2aac88 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -8,7 +8,7 @@ tags: security lang: en --- -There are multiple vulnerabilities in RubyGems bundled by Ruby. +There are multiple vulnerabilities in RubyGems bundled with Ruby. It is [reported at the official blog of RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). ## Details From 379e180226bacd54ddeb6a4dafa56241382104ff Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 5 Mar 2019 21:49:21 +0100 Subject: [PATCH 1237/3394] Use named link reference for recently added link --- en/documentation/index.md | 4 ++-- ko/documentation/index.md | 4 ++-- zh_tw/documentation/index.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en/documentation/index.md b/en/documentation/index.md index 0c0c174ff8..d0a691d4c7 100644 --- a/en/documentation/index.md +++ b/en/documentation/index.md @@ -61,7 +61,7 @@ the [installation guide](installation/) for help on installing Ruby. ### Reference Documentation -[Official API Documentation][40] +[Official API Documentation][docs-rlo-en] : The official Ruby API documentation for different versions including the currently unreleased (trunk) version. @@ -170,6 +170,6 @@ If you have questions about Ruby the [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash -[40]: https://docs.ruby-lang.org/en/ +[docs-rlo-en]: https://docs.ruby-lang.org/en/ [atom]: https://atom.io/ [vscode]: https://code.visualstudio.com/ diff --git a/ko/documentation/index.md b/ko/documentation/index.md index 22f8022ef5..3d7d3a578b 100644 --- a/ko/documentation/index.md +++ b/ko/documentation/index.md @@ -69,7 +69,7 @@ lang: ko ### 참조 -[공식 API 문서][40] +[공식 API 문서][docs-rlo-en] : 아직 릴리스되지 않은 트렁크를 포함한 여러 루비 버전의 공식 API 문서입니다. [루비 코어 레퍼런스][13] (영문) @@ -172,7 +172,7 @@ lang: ko [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash -[40]: https://docs.ruby-lang.org/en/ +[docs-rlo-en]: https://docs.ruby-lang.org/en/ [atom]: https://atom.io/ [vscode]: https://code.visualstudio.com/ diff --git a/zh_tw/documentation/index.md b/zh_tw/documentation/index.md index 3ec01d65dc..3f00e24b2c 100644 --- a/zh_tw/documentation/index.md +++ b/zh_tw/documentation/index.md @@ -49,7 +49,7 @@ lang: zh_tw ### 參考文件 -[Official API Documentation][40] +[Official API Documentation][docs-rlo-en] : 各種版本的 Ruby 官方 API 文件,包含當前未釋出的版本(trunk)。 [Ruby Core Reference][13] @@ -143,7 +143,7 @@ lang: zh_tw [37]: http://www.sublimetext.com/ [38]: http://ruby.learncodethehardway.org/ [39]: http://kapeli.com/dash -[40]: https://docs.ruby-lang.org/en/ +[docs-rlo-en]: https://docs.ruby-lang.org/en/ [atom]: https://atom.io/ [vscode]: https://code.visualstudio.com/ From 167e93910936ae3b8fc134d2176f7791d0b610ba Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 5 Mar 2019 22:06:10 +0100 Subject: [PATCH 1238/3394] Small improvements on installation page (en) Remove reference to latest macOS to avoid having to update it; improve snap section; other small fixes. --- en/documentation/installation/index.md | 27 ++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/en/documentation/installation/index.md b/en/documentation/installation/index.md index 3df8d878d9..2c28f2c9fe 100644 --- a/en/documentation/installation/index.md +++ b/en/documentation/installation/index.md @@ -21,9 +21,9 @@ This should output some information on the installed Ruby version. There are several ways to install Ruby: -* On a UNIX-like operating system, using your system's **package - manager** is easiest. However, the packaged Ruby version may not be - the newest one. +* On a UNIX-like operating system, using your system's + **package manager** is easiest. + However, the packaged Ruby version may not be the newest one. * **Installers** can be used to install a specific or multiple Ruby versions. There is also an installer for Windows. * **Managers** help you to switch between multiple Ruby versions @@ -64,7 +64,7 @@ third-party tool, you can use your system's package manager to install Ruby. Some members of the Ruby community feel that you should avoid package managers to install Ruby and that you should use dedicated tools instead. -It's possible that major package managers will install older Ruby +It is possible that major package managers will install older Ruby versions instead of the latest release. To use the latest Ruby release, check that the package name matches its version number. Or use a dedicated [installer][installers]. @@ -95,17 +95,20 @@ The installed version is typically the latest version of Ruby available at the release time of the specific distribution version. -### snap (Ubuntu or other linux distribution) +### snap (Ubuntu or other Linux distributions) {: #snap} -Snap is a package manager developed by Canonical. It's available out-of-the-box on Ubuntu, but snap also works on many Linux distributions. -You can use it like this. +Snap is a package manager developed by Canonical. +It is available out-of-the-box on Ubuntu, but snap also works +on many other Linux distributions. +You can use it like this: {% highlight sh %} $ sudo snap install ruby --classic {% endhighlight %} -We have several channels per Ruby minor series. For instance, the following commands switch to Ruby 2.3: +We have several channels per Ruby minor series. +For instance, the following commands switch to Ruby 2.3: {% highlight sh %} $ sudo snap switch ruby --channel=2.3/stable @@ -143,7 +146,7 @@ This should install the latest stable Ruby version. {: #homebrew} Ruby versions 2.0 and above are included by default in macOS releases -since at least El Capitan (10.11) all the way through Mojave (10.14). +since at least El Capitan (10.11). [Homebrew][homebrew] is a commonly used package manager on macOS. Installing Ruby using Homebrew is easy: @@ -225,7 +228,7 @@ Linux, and other UNIX-like operating systems. [ruby-install][ruby-install] allows you to compile and install different versions of Ruby into arbitrary directories. [chruby](#chruby) is a -complimentary tool used to switch between Ruby versions. It's available +complimentary tool used to switch between Ruby versions. It is available for macOS, Linux, and other UNIX-like operating systems. @@ -308,8 +311,8 @@ $ sudo make install By default, this will install Ruby into `/usr/local`. To change, pass the `--prefix=DIR` option to the `./configure` script. -You can find more information about building from source in the [Ruby -README file][readme]. +You can find more information about building from source in the +[Ruby README file][readme]. Using the third-party tools or package managers might be a better idea, though, because the installed Ruby won't be managed by any tools. From ffe9e474fe3255a292faac8fcf6514ddfff29b22 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Tue, 5 Mar 2019 22:24:36 +0100 Subject: [PATCH 1239/3394] Small improvements on blogs page (en) Fix questionable statement in summary (replacing "past year" with "past years"), and typos. --- en/community/weblogs/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/community/weblogs/index.md b/en/community/weblogs/index.md index 3693b57cd5..5acfeb5ea2 100644 --- a/en/community/weblogs/index.md +++ b/en/community/weblogs/index.md @@ -4,7 +4,7 @@ title: "Blogs" lang: en --- -Ruby blogs have exploded over the past year and given sufficient +Ruby blogs have exploded over the past years and given sufficient hunting, you can unearth hundreds of blogs sharing bits of Ruby code, describing new techniques, or speculating on Ruby’s future. {: .summary} @@ -22,7 +22,7 @@ describing new techniques, or speculating on Ruby’s future. A few notable blogs stand out for the frequency and immediacy of their updates. -* [**Ruby Weekly**][ruby-weekly] Although more of a newsletter than a +* [**Ruby Weekly**][ruby-weekly]: Although more of a newsletter than a blog, Ruby Weekly is a distillation of the most interesting Ruby articles and news each week. * [**Riding Rails**][riding-rails] is the official group blog of the @@ -35,7 +35,7 @@ updates. If you're interested in writing for any of the above blogs, you should contact the authors. -Ruby is also a common topic on [reddit][reddit], and [Hacker News][hn], +Ruby is also a common topic on [reddit][reddit] and [Hacker News][hn], in their respective programming news. If you find some brilliant code out there, be sure to share! From 18e17f9e4119c48bac39be02235660c764a8f8b0 Mon Sep 17 00:00:00 2001 From: Alax Alves Date: Tue, 5 Mar 2019 22:28:42 -0300 Subject: [PATCH 1240/3394] Paralleling Travis jobs to shorten build duration --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d77a8875f6..887775bc3a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,11 @@ sudo: false rvm: 2.6.1 cache: bundler: true -script: bundle exec rake ci +env: + matrix: + - SCRIPT="bundle exec rake build" + - SCRIPT="bundle exec rake test" +script: $SCRIPT # Notifications, used by our Gitter channel. notifications: webhooks: From e3caede3377cfb6618091e3a2d1697b4c9e747b8 Mon Sep 17 00:00:00 2001 From: Alax Alves Date: Tue, 5 Mar 2019 22:44:59 -0300 Subject: [PATCH 1241/3394] Making bundle cache work properly --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 887775bc3a..80bf6d60ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,7 @@ language: ruby sudo: false rvm: 2.6.1 -cache: - bundler: true +cache: bundler env: matrix: - SCRIPT="bundle exec rake build" From b72499bcfe2645ff19fcd82a722841da35fcfdf8 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Wed, 6 Mar 2019 14:26:27 +0900 Subject: [PATCH 1242/3394] Update urls for the latest patch --- .../2019-03-05-multiple-vulnerabilities-in-rubygems.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index 4d7b2aac88..55b9b70eda 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -41,9 +41,9 @@ gem update --system If you can't upgrade RubyGems, you can apply the following patches as a workaround. -* [for Ruby 2.4.5](https://bugs.ruby-lang.org/attachments/7662) -* [for Ruby 2.5.3](https://bugs.ruby-lang.org/attachments/7663) -* [for Ruby 2.6.1](https://bugs.ruby-lang.org/attachments/7664) +* [for Ruby 2.4.5](https://bugs.ruby-lang.org/attachments/7669) +* [for Ruby 2.5.3](https://bugs.ruby-lang.org/attachments/7670) +* [for Ruby 2.6.1](https://bugs.ruby-lang.org/attachments/7671) About the trunk, update to the latest revision. From faaecfc5c5c0f6beb06f1001ffd8c3c793353c0a Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Thu, 7 Mar 2019 19:37:42 +0100 Subject: [PATCH 1243/3394] Mention updated patches in news post history --- .../_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md | 1 + 1 file changed, 1 insertion(+) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index 55b9b70eda..1775225dc9 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -54,3 +54,4 @@ This report is based on [the official blog of RubyGems](http://blog.rubygems.org ## History * Originally published at 2019-03-05 00:00:00 UTC +* Link to updated patches at 2019-03-06 05:26:27 UTC From e2b3274573cfeb94f8f003f6ef5ef15647c4f319 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 08:29:40 +0100 Subject: [PATCH 1244/3394] Use untranslated 'SIZE' in download section (es) --- es/news/_posts/2013-05-14-ruby-1-9-3-p429-is-released.md | 6 +++--- es/news/_posts/2013-05-14-ruby-2-0-0-p195-is-released.md | 6 +++--- es/news/_posts/2018-10-17-ruby-2-3-8-released.md | 8 ++++---- es/news/_posts/2018-10-17-ruby-2-4-5-released.md | 8 ++++---- es/news/_posts/2018-10-17-ruby-2-5-2-released.md | 8 ++++---- es/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md | 8 ++++---- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/es/news/_posts/2013-05-14-ruby-1-9-3-p429-is-released.md b/es/news/_posts/2013-05-14-ruby-1-9-3-p429-is-released.md index 5e87f573c6..8808d2c03c 100644 --- a/es/news/_posts/2013-05-14-ruby-1-9-3-p429-is-released.md +++ b/es/news/_posts/2013-05-14-ruby-1-9-3-p429-is-released.md @@ -27,19 +27,19 @@ Puedes descargar esta version de: * [https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.bz2](https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.bz2) - TAMAÑO: 10042323 bytes + SIZE: 10042323 bytes MD5: c2b2de5ef15ea9b1aaa3152f9112af1b SHA256: 9d8949c24cf6fe810b65fb466076708b842a3b0bac7799f79b7b6a8791dc2a70 * [https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz](https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz) - TAMAÑO: 12553234 bytes + SIZE: 12553234 bytes MD5: 993c72f7f805a9eb453f90b0b7fe0d2b SHA256: d192d1afc46a7ef27b9d0a3c7a67b509048984db2c38907aa82641bdf980acf4 * [https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.zip](https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.zip) - TAMAÑO: 13869978 bytes + SIZE: 13869978 bytes MD5: 1986f3934e61b999873d21a79d69d88d SHA256: 8bd0ecc2dd8eec471aa44f88abdcd82f4b398e9110ca06f76eff066b653b8b90 diff --git a/es/news/_posts/2013-05-14-ruby-2-0-0-p195-is-released.md b/es/news/_posts/2013-05-14-ruby-2-0-0-p195-is-released.md index 417ba5e37d..bfa03dbd07 100644 --- a/es/news/_posts/2013-05-14-ruby-2-0-0-p195-is-released.md +++ b/es/news/_posts/2013-05-14-ruby-2-0-0-p195-is-released.md @@ -19,19 +19,19 @@ Y muchas otras correcciones, optimizaciones y actualizaciones de documentación. * [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.bz2) - TAMAÑO: 10807456 bytes + SIZE: 10807456 bytes MD5: 2f54faea6ee1ca500632ec3c0cb59cb6 SHA256: 0be32aef7a7ab6e3708cc1d65cd3e0a99fa801597194bbedd5799c11d652eb5b * [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz) - TAMAÑO: 13641558 bytes + SIZE: 13641558 bytes MD5: 0672e5af309ae99d1703d0e96eff8ea5 SHA256: a2fe8d44eac3c27d191ca2d0ee2d871f9aed873c74491b2a8df229bfdc4e5a93 * [https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.zip](https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.zip) - TAMAÑO: 15092199 bytes + SIZE: 15092199 bytes MD5: 924fe4bea72b1b258655211998631791 SHA256: 81a4dc6cc09e491d417a51e5983c4584eff849e2a186ec3affdbe5bc15cd7db5 diff --git a/es/news/_posts/2018-10-17-ruby-2-3-8-released.md b/es/news/_posts/2018-10-17-ruby-2-3-8-released.md index b94dc0a27b..5e9dd348fa 100644 --- a/es/news/_posts/2018-10-17-ruby-2-3-8-released.md +++ b/es/news/_posts/2018-10-17-ruby-2-3-8-released.md @@ -29,28 +29,28 @@ las versiones más recientes de Ruby, tales como 2.5 o 2.4. * [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.bz2) - TAMAÑO: 14418609 bytes + SIZE: 14418609 bytes SHA1: 91b31abdba00a346c155fd32bd32d3cec3b73bc4 SHA256: 4d1a3a88e8cf9aea624eb73843fbfc60a9a281582660f86d5e4e00870397407c SHA512: 6d79e0d25757fd37188a8db3e630a52539bce7927fcb779a2ce9a97b9e5f330753035c16843552f1a1fb6c9a1e5c0f916b3cc8b5c0bfe81e20f35f8442e40ae8 * [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.gz) - TAMAÑO: 17858806 bytes + SIZE: 17858806 bytes SHA1: 69311991a9cd2c8e3c86a0dbbaaf915ae91f0bec SHA256: b5016d61440e939045d4e22979e04708ed6c8e1c52e7edb2553cf40b73c59abf SHA512: 43b02f2f9de6baf281f09a49fd07367127b4de1fb14473380d06bfa7667990d8f722ae2d33cf7d15b02f7e799515f21aebd308897c4c2a5461ebab4049d6c7ef * [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.tar.xz) - TAMAÑO: 11465792 bytes + SIZE: 11465792 bytes SHA1: 9771acdad851bbf0ef349bb7da5d0ffc91a860ed SHA256: 910f635d84fd0d81ac9bdee0731279e6026cb4cd1315bbbb5dfb22e09c5c1dfe SHA512: 06373050e6c1af9cb6a5863aef878b21c8a45fd0e68414e3d546cb73ec3028207d3acc0a9326428f172b9347a30bbe69a16f9dc0bdb739161d677adb2d888095 * [https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.zip](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.8.zip) - TAMAÑO: 19911652 bytes + SIZE: 19911652 bytes SHA1: ad9e0ec7c874701832c9e224eb5b9e2258f3a041 SHA256: ec9792d0473a22954ad25cd0c531fc672679c1a5eaeefa08caf9e1288852796f SHA512: 732d69cd55f1c273a02005306720fd8fc9d77398177db9509452be31820976b54b30319d9e6bc36fb6bcd7af656f807ef6c26d8955012c8b20424912a2f51bf8 diff --git a/es/news/_posts/2018-10-17-ruby-2-4-5-released.md b/es/news/_posts/2018-10-17-ruby-2-4-5-released.md index c8f11100d3..954dd0e77c 100644 --- a/es/news/_posts/2018-10-17-ruby-2-4-5-released.md +++ b/es/news/_posts/2018-10-17-ruby-2-4-5-released.md @@ -22,28 +22,28 @@ Ver detalles en las [bitácoras de commits](https://github.com/ruby/ruby/compare * [https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.bz2](https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.bz2) - TAMAÑO: 12667524 bytes + SIZE: 12667524 bytes SHA1: 0e1f184556507c22bc59054496c0af7cf28fb188 SHA256: 276c8e73e51e4ba6a0fe81fb92669734e741ccea86f01c45e99f2c7ef7bcd1e3 SHA512: 7034fcaeaee41f14bc0ecce0d3d93bd1abe95310e1a0b95fac66eaba867adfb2bf7ba4d0d70d67a15ce8df16052dee405c38cdb18987602e64a2f701d37d3df0 * [https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.gz](https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.gz) - TAMAÑO: 14232887 bytes + SIZE: 14232887 bytes SHA1: 4d650f302f1ec00256450b112bb023644b6ab6dd SHA256: 6737741ae6ffa61174c8a3dcdd8ba92bc38827827ab1d7ea1ec78bc3cefc5198 SHA512: 39863b404b02bb3d2430fd19fb057bdded5e816842a1a1f00092de69cc360db836225b2186e18b6ee099ec5e8c60f89178a4297b2d221234b4962c70594c2b8e * [https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.xz](https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.xz) - TAMAÑO: 10064712 bytes + SIZE: 10064712 bytes SHA1: b5be590b37487248da3a85541a62fb81f7f7e29a SHA256: 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb SHA512: 658f676c623109f4c7499615e191c98c3dd72cfcaeeaf121337d0b8a33c5243145edd50ec5e2775f988e3cd19788984f105fa165e3049779066566f67172c1b4 * [https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.zip](https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.zip) - TAMAÑO: 15694028 bytes + SIZE: 15694028 bytes SHA1: 0bded7dfabfce5615162a1acd1341966a63e40f4 SHA256: 33694b03ac178cf96aa728b74de7b0bc5d848fcfabc64a7c74ea093198142601 SHA512: 9baec2b33604d5b2180b83bef9b39349d3f73b2eb5a7d44410572d893f76e6a0e1c39c572e6084a4e2466ca148ff2f377b5458144fe9b859a80cdf7b41fd5d72 diff --git a/es/news/_posts/2018-10-17-ruby-2-5-2-released.md b/es/news/_posts/2018-10-17-ruby-2-5-2-released.md index 5b9b4fc894..eee4462495 100644 --- a/es/news/_posts/2018-10-17-ruby-2-5-2-released.md +++ b/es/news/_posts/2018-10-17-ruby-2-5-2-released.md @@ -22,28 +22,28 @@ Ver detalles en las [bitácoras de commits](https://github.com/ruby/ruby/compare * - TAMAÑO: 13592827 bytes + SIZE: 13592827 bytes SHA1: 562d6b8be5a0804ed7617bb0465b288d44b2defc SHA256: ea3bcecc3b30cee271b4decde5e9ff3e17369d5fd1ed828d321c198307c9f0df SHA512: 9f9388a162a3ae9c14ec8999fa3b12ff5397de14f55996cc8761d21c757113db37ace4d326b9606de7ad3a5875aa94fec900dd9b81b2fb0dff558c39422f4aa1 * - TAMAÑO: 15600481 bytes + SIZE: 15600481 bytes SHA1: 7e503e75621b69cedb1d8b3fa2bee5aef2f1a714 SHA256: b32340e64a0c7ecbf31486c41fe429a55c7984d980eca7a78138367d9209f471 SHA512: 9aee69d2ac6aefe2d81649055ba7b99e4e58cf203ac75083ba1b35b3a4fd7f72ee257e26ca80460da5c2a7817fd507aecec9c143f170e16980625e95eeb31686 * - TAMAÑO: 11071052 bytes + SIZE: 11071052 bytes SHA1: ea352c9bcaa47ab094cdec0f4946c62b1a1769d7 SHA256: 8be6b6afdf09957a6e2c2a6ada4b1982a391a828b34e49072c4beb60febb678d SHA512: b6b805b18ba6da7b28c7e2bdf3da7eaf1dcc15ae22744228d032e8ddec2fbba4cc4fb822b9ef7f6b561052113a4f28dc50ccfa4f00e3728a35ce27137f4a70e6 * - TAMAÑO: 18786735 bytes + SIZE: 18786735 bytes SHA1: 98fdbae195bbbc3f131d49d9e60bf3fbb8b56111 SHA256: f148947fee070f30826ef0bda77228b9c374b388050db81ad07f5cd8608e3624 SHA512: 1b804337099ecfa045eecf1a4e3f35fa786bd6e835dc50267d6a3792a782b193ec9708564e3ac5169a95ef4afc2c131782af937dafd8122117e8cff577736c0f diff --git a/es/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md b/es/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md index e2c72c3a81..4fc34afbb1 100644 --- a/es/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md +++ b/es/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md @@ -118,28 +118,28 @@ Disfrute programar con Ruby 2.6.0-preview3! * - TAMAÑO: 17071670 bytes + SIZE: 17071670 bytes SHA1: 67836fda11fa91e0b988a6cc07989fbceda025b4 SHA256: 60243e3bd9661e37675009ab66ba63beacf5dec748885b9b93916909f965f27a SHA512: 877278cd6e9b947f5bb6ed78136efb232dcc9c5c218b7236576171e7c3cd7f6b7d10d07d8402014a14aba1fcd1913a4370f0725c561ead41d8a3fe92029f7f76 * - TAMAÑO: 21537655 bytes + SIZE: 21537655 bytes SHA1: 45f3c90dfffe03b746f21f24152666e361cbb41a SHA256: 9152af9e700349dcfa2eec196dd91587d42d70a6837fa2c415ebba1167587be1 SHA512: 335de36cf56706326f4acc4bbd35be01e0ac5fff30d0a69b2e1630ba4c78f0e711822d1623d0099a517c824b154917d2f60be192dfb143a422cf1d17b38e1183 * - TAMAÑO: 14973451 bytes + SIZE: 14973451 bytes SHA1: 5f2df5d8c5a3888ccb915d36a3532ba32cda8791 SHA256: 1f09a2ac1ab26721923cbf4b9302a66d36bb302dc45e72112b41d6fccc5b5931 SHA512: d1693625723796e8902f3e4c4fae444f2912af9173489f7cf18c99db2a217afc971b082fce7089e39f8edd54d762d2b4e72843c8306ed29b05ccb15ac03dbb5b * - TAMAÑO: 12291692 bytes + SIZE: 12291692 bytes SHA1: 7f8216247745215e9645568e7a02140f9a029b31 SHA256: 9856d9e0e32df9e5cdf01928eec363d037f1a76dab2abbf828170647beaf64fe SHA512: b4d3b17ecf96272c43cd7518c0b54dee63fc1150ad143e1d9c9d708506fe78676c80eb96cc47b8d46d1128bd483a53f16c944963a03d1f99f00131b74714df7b From a3b31d305ef74e6d22672408a120d2ccfb65ccfd Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 08:30:16 +0100 Subject: [PATCH 1245/3394] Add newline after YAML front matter --- en/conduct/index.md | 1 + ja/news/_posts/2018-08-28-rubyist-magazine-0058-published.md | 1 + ja/news/_posts/2019-01-27-rubyist-magazine-0059-published.md | 1 + ko/conduct/index.md | 1 + 4 files changed, 4 insertions(+) diff --git a/en/conduct/index.md b/en/conduct/index.md index 30e1064711..7dbdc22974 100644 --- a/en/conduct/index.md +++ b/en/conduct/index.md @@ -3,6 +3,7 @@ layout: page title: "The Ruby Community Conduct Guideline" lang: en --- + We have picked the following conduct guideline based on an early proposed draft of the PostgreSQL CoC, for Ruby developers community for safe, productive collaboration. diff --git a/ja/news/_posts/2018-08-28-rubyist-magazine-0058-published.md b/ja/news/_posts/2018-08-28-rubyist-magazine-0058-published.md index 70b1b6bbf0..27f8b91502 100644 --- a/ja/news/_posts/2018-08-28-rubyist-magazine-0058-published.md +++ b/ja/news/_posts/2018-08-28-rubyist-magazine-0058-published.md @@ -6,6 +6,7 @@ translator: date: 2018-08-28 21:30:00 +0000 lang: ja --- + [日本Rubyの会][1]有志による、ウェブ雑誌[Rubyist Magazine][2]の[0058号][3]がリリースされました([\[ruby-list:50698\]][4])。 今号は、 diff --git a/ja/news/_posts/2019-01-27-rubyist-magazine-0059-published.md b/ja/news/_posts/2019-01-27-rubyist-magazine-0059-published.md index 23d58ca7f9..9456a0bcd4 100644 --- a/ja/news/_posts/2019-01-27-rubyist-magazine-0059-published.md +++ b/ja/news/_posts/2019-01-27-rubyist-magazine-0059-published.md @@ -6,6 +6,7 @@ translator: date: 2019-01-27 09:30:00 +0000 lang: ja --- + [日本Rubyの会][1]有志による、ウェブ雑誌[Rubyist Magazine][2]の[0059号][3]がリリースされました([\[ruby-list:50745\]][4])。 今号は、 diff --git a/ko/conduct/index.md b/ko/conduct/index.md index 13dfa92818..0904f3e6a9 100644 --- a/ko/conduct/index.md +++ b/ko/conduct/index.md @@ -3,6 +3,7 @@ layout: page title: "루비 커뮤니티 행동 지침" lang: ko --- + 루비 개발자 커뮤니티의 안전하고, 생산적인 공동 작업을 위해서 PostgreSQL CoC로 제출된 안으로부터 다음을 골랐습니다. 루비와 관련이 있는 각 커뮤니티(콘퍼런스 등)는 해당 커뮤니티에 적합한 행동 지침을 사용할 수 있습니다. From 3901bf1d4a97e03084dec948321d9bb0d7a38a03 Mon Sep 17 00:00:00 2001 From: Olivier Lacan Date: Fri, 8 Mar 2019 08:34:25 +0100 Subject: [PATCH 1246/3394] Use named link references on community page (en) --- en/community/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/en/community/index.md b/en/community/index.md index af8113244b..8ed9239ded 100644 --- a/en/community/index.md +++ b/en/community/index.md @@ -43,12 +43,12 @@ to start: the Ruby community. General Ruby Information -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ From 118909f9021a77d67508cc5bbffbac7bc16ca8fa Mon Sep 17 00:00:00 2001 From: BannerGames Date: Fri, 20 Jul 2018 21:28:12 +0100 Subject: [PATCH 1247/3394] Translate Ruby 2.2 EOL post (pt) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1818 Co-authored-by: Marcus Stollsteimer Co-authored-by: Júlio Campos Co-authored-by: Alax Alves --- ...018-06-20-support-of-ruby-2-2-has-ended.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pt/news/_posts/2018-06-20-support-of-ruby-2-2-has-ended.md diff --git a/pt/news/_posts/2018-06-20-support-of-ruby-2-2-has-ended.md b/pt/news/_posts/2018-06-20-support-of-ruby-2-2-has-ended.md new file mode 100644 index 0000000000..20447936d5 --- /dev/null +++ b/pt/news/_posts/2018-06-20-support-of-ruby-2-2-has-ended.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "O suporte do Ruby 2.2 acabou" +author: "antonpaisov" +translator: "bannergames" +date: 2018-06-20 00:00:00 +0000 +lang: pt +--- + +Anunciamos que todo o suporte da série 2.2 do Ruby acabou. + +Após o lançamento do Ruby 2.2.7 em 28 de março de 2017, +o suporte da série 2.2 do Ruby estava em fase de manutenção de segurança. +Agora, após um ano, essa fase acabou. +Assim sendo, em 31 de março de 2018, todo o suporte da série 2.2 do Ruby +acabou. Correções de bugs e de segurança das versões mais recentes do Ruby +não serão exportados para a versão 2.2, e não haverão mais lançamentos de +patch da versão 2.2. +Nós recomendamos altamente que atualize para o Ruby 2.5 ou 2.4 o mais +rápido possível. + + +## Sobre as versões do Ruby atualmente suportadas + +### Série Ruby 2.5 + +Atualmente em fase de manunteção normal. +Nós vamos exportar correções de bugs e lançar com as correções sempre +que necessário. +E se um problema crítico de segurança for encontrado iremos lançar +uma correção urgente para resolvê-lo. + +### Série Ruby 2.4 + +Atualmente em fase de manunteção normal. +Nós vamos exportar correções de bugs e lançar com as correções sempre +que necessário. +E se um problema crítico de segurança for encontrado iremos lançar +uma correção urgente para resolvê-lo. + +### Série Ruby 2.3 + +Atualmente em fase de manunteção de segurança. +Nós nunca exportaremos quaisquer correções de bugs para a versão 2.3 +exceto correções de segurança. +Se um problema crítico de segurança for encontrado iremos lançar +uma correção urgente para resolvê-lo. +Estamos planeando para acabar com o suporte das séries 2.3 do Ruby +no final de março de 2019. From 9124a20b4f78bd615f0213c95bf0c9a8c3b8cdbf Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 21:58:26 +0100 Subject: [PATCH 1248/3394] Use named link references on community page --- bg/community/index.md | 12 ++++++------ de/community/index.md | 12 ++++++------ es/community/index.md | 12 ++++++------ fr/community/index.md | 12 ++++++------ id/community/index.md | 12 ++++++------ it/community/index.md | 12 ++++++------ ko/community/index.md | 12 ++++++------ pl/community/index.md | 12 ++++++------ pt/community/index.md | 12 ++++++------ ru/community/index.md | 12 ++++++------ tr/community/index.md | 12 ++++++------ vi/community/index.md | 12 ++++++------ zh_cn/community/index.md | 12 ++++++------ zh_tw/community/index.md | 12 ++++++------ 14 files changed, 84 insertions(+), 84 deletions(-) diff --git a/bg/community/index.md b/bg/community/index.md index f1e17ba225..7d7c246284 100644 --- a/bg/community/index.md +++ b/bg/community/index.md @@ -40,12 +40,12 @@ Oбщността, която се образува около един език обществото. Обща информация за Ruby -: * [Ruby Central][3] - * [Ruby в Open Directory Project][4] - * [Rails в Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby в Open Directory Project][ruby-opendir] + * [Rails в Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/de/community/index.md b/de/community/index.md index 4096e9cae9..44007cff02 100644 --- a/de/community/index.md +++ b/de/community/index.md @@ -74,12 +74,12 @@ Für den, der sich gerne einbringen möchte, ist die folgende Liste ein guter Ei in die Ruby-Community zu integrieren. Allgemeine Information zu Ruby -: * [Ruby Central][3] - * [Ruby beim Open Directory Project][4] - * [Rails beim Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby beim Open Directory Project][ruby-opendir] + * [Rails beim Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/es/community/index.md b/es/community/index.md index 93de504312..25b0c98046 100644 --- a/es/community/index.md +++ b/es/community/index.md @@ -45,12 +45,12 @@ donde empezar: dar una bienvenida a los recién llegados a la comunidad Ruby. Información general sobre Ruby -: * [Ruby Central][3] - * [Ruby en el Open Directory Project][4] - * [Rails en el Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby en el Open Directory Project][ruby-opendir] + * [Rails en el Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/fr/community/index.md b/fr/community/index.md index 7a3915e0fa..d83c50a125 100644 --- a/fr/community/index.md +++ b/fr/community/index.md @@ -46,12 +46,12 @@ Quelques liens à visiter: arrivants dans la communauté. Informations générales -: * [Ruby Central][3] - * [Ruby sur le projet Open Directory][4] - * [Rails sur le projet Open Directory][5] +: * [Ruby Central][ruby-central] + * [Ruby sur le projet Open Directory][ruby-opendir] + * [Rails sur le projet Open Directory][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/id/community/index.md b/id/community/index.md index 1094d13fc7..1fa7d43cc8 100644 --- a/id/community/index.md +++ b/id/community/index.md @@ -57,14 +57,14 @@ untuk memulai petualangan Anda: dengan komunitas. Informasi Umum Tentang Ruby -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] [2]: http://tech.groups.yahoo.com/group/id-ruby/ -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ [6]: http://ruby.id/slack/ diff --git a/it/community/index.md b/it/community/index.md index e35fe23bb6..c98795ec7e 100644 --- a/it/community/index.md +++ b/it/community/index.md @@ -45,12 +45,12 @@ cominciare: discutere il futuro di Ruby, e dare il benvenuto ai nuovi arrivati. Informazioni generali su Ruby -: * [Ruby Central][3] - * [Ruby su Open Directory Project][4] - * [Rails su Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby su Open Directory Project][ruby-opendir] + * [Rails su Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/ko/community/index.md b/ko/community/index.md index 0c099aeaa3..57dd8d07b6 100644 --- a/ko/community/index.md +++ b/ko/community/index.md @@ -44,10 +44,10 @@ lang: ko 커뮤니티의 뉴비의 환영 등을 함께합니다. 일반적인 루비 정보(영문) -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/pl/community/index.md b/pl/community/index.md index 2363da87aa..42e004b631 100644 --- a/pl/community/index.md +++ b/pl/community/index.md @@ -47,13 +47,13 @@ poniżej znajdziesz kilka propozycji: projekcie i przywitać nowe osoby w społeczności. Ogólne informacje o Rubim -: * [Ruby Central][3] - * [Ruby w Open Directory Project][4] - * [Rails w Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby w Open Directory Project][ruby-opendir] + * [Rails w Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ [6]: http://forum.rubyonrails.pl/ diff --git a/pt/community/index.md b/pt/community/index.md index 8c3b5cdf01..63f9e34c5c 100644 --- a/pt/community/index.md +++ b/pt/community/index.md @@ -42,12 +42,12 @@ Se está interessado em colaborar, seguem alguns lugares para começar: membros da comunidade. Informação gerais sobre o Ruby -: * [Ruby Central][3] - * [Ruby no Open Directory Project][4] - * [Rails no Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby no Open Directory Project][ruby-opendir] + * [Rails no Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/ru/community/index.md b/ru/community/index.md index 13fda56841..2e1925806a 100644 --- a/ru/community/index.md +++ b/ru/community/index.md @@ -42,12 +42,12 @@ lang: ru будущее Ruby и приветствуют новичков в сообществе Ruby. Основная информация о Ruby -: * [Ruby Central][3] - * [Ruby на Open Directory Project][4] - * [Rails на Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby на Open Directory Project][ruby-opendir] + * [Rails на Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/tr/community/index.md b/tr/community/index.md index d6706c0c31..6ec7f1eec4 100644 --- a/tr/community/index.md +++ b/tr/community/index.md @@ -53,12 +53,12 @@ başlangıç önerisi var: gelenlerle kaynaşıyorlar. Genel Ruby Kaynakları -: * [Ruby Central][3] - * [Açık Dizin Projesinde Ruby][4] - * [Açık Dizin Projesinde Rails][5] +: * [Ruby Central][ruby-central] + * [Açık Dizin Projesinde Ruby][ruby-opendir] + * [Açık Dizin Projesinde Rails][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/vi/community/index.md b/vi/community/index.md index d49615f5df..ac01907610 100644 --- a/vi/community/index.md +++ b/vi/community/index.md @@ -43,12 +43,12 @@ Nếu bạn muốn tham gia thì dưới đây là một vài nơi để bắt đồng Ruby. Thông tin chung về Ruby -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ diff --git a/zh_cn/community/index.md b/zh_cn/community/index.md index 662ade757b..6855123428 100644 --- a/zh_cn/community/index.md +++ b/zh_cn/community/index.md @@ -32,13 +32,13 @@ lang: zh_cn : 遍及世界的 Ruby 程序员正在参与越来越多的会议,在会议上他们一起分享工作成果,讨论 Ruby 的未来,欢迎新成员加入到 Ruby 社区。 Ruby 的一般信息 -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ [ruby-china]: https://ruby-china.org diff --git a/zh_tw/community/index.md b/zh_tw/community/index.md index 730bbff94c..dbe73f7ced 100644 --- a/zh_tw/community/index.md +++ b/zh_tw/community/index.md @@ -35,14 +35,14 @@ lang: zh_tw Ruby 年度研討會為 [RubyConf Taiwan](http://rubyconf.tw)。 Ruby 的一般消息 -: * [Ruby Central][3] - * [Ruby at Open Directory Project][4] - * [Rails at Open Directory Project][5] +: * [Ruby Central][ruby-central] + * [Ruby at Open Directory Project][ruby-opendir] + * [Rails at Open Directory Project][rails-opendir] [1]: http://ruby.tw [2]: http://ruby.tw/about [railsfun]: http://railsfun.tw/index.php -[3]: http://rubycentral.org/ -[4]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ -[5]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ +[ruby-central]: http://rubycentral.org/ +[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ +[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ From b0fc2a7098ba42c6eee308aa86bafc1b59d7e3e2 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 22:06:16 +0100 Subject: [PATCH 1249/3394] Remove dead link to blastwave.org Closes #1860 --- bg/documentation/installation/index.md | 3 +-- de/documentation/installation/index.md | 3 +-- es/documentation/installation/index.md | 3 +-- fr/documentation/installation/index.md | 3 +-- id/documentation/installation/index.md | 3 +-- it/documentation/installation/index.md | 3 +-- ja/documentation/installation/index.md | 3 +-- ko/documentation/installation/index.md | 3 +-- pl/documentation/installation/index.md | 3 +-- pt/documentation/installation/index.md | 3 +-- ru/documentation/installation/index.md | 3 +-- vi/documentation/installation/index.md | 3 +-- zh_tw/documentation/installation/index.md | 3 +-- 13 files changed, 13 insertions(+), 26 deletions(-) diff --git a/bg/documentation/installation/index.md b/bg/documentation/installation/index.md index e6439a8256..59e2c066dd 100644 --- a/bg/documentation/installation/index.md +++ b/bg/documentation/installation/index.md @@ -136,7 +136,7 @@ $ brew install ruby {: #solaris} Ruby 1.8.7 е наличен за Solaris от версия 8 до 10 на -[Sunfreeware][sunfreeware] и на [Blastwave][blastwave]. +[Sunfreeware][sunfreeware] и на Blastwave. Ruby 1.9.2p0 също може да бъде инсталиран от [Sunfreeware][sunfreeware], но е стара версия. @@ -282,7 +282,6 @@ $ sudo make install [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/de/documentation/installation/index.md b/de/documentation/installation/index.md index ce3853c92a..0c1341065f 100644 --- a/de/documentation/installation/index.md +++ b/de/documentation/installation/index.md @@ -199,7 +199,7 @@ neuer Ruby-Versionen. {: #solaris} Ruby 1.8.7 ist für Solaris 8 bis Solaris 10 unter [Sunfreeware][sunfreeware] -verfügbar und Ruby 1.8.7 ist bei [Blastwave][blastwave] erhältlich. +verfügbar und Ruby 1.8.7 ist bei Blastwave erhältlich. Ruby 1.9.2-p0 kann ebenfalls bei [Sunfreeware][sunfreeware] gefunden werden, jedoch ist diese Version veraltet. Die neueste Version kann mit Drittanbieter-Werkzeugen installiert werden. @@ -251,7 +251,6 @@ verwaltet wird. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/es/documentation/installation/index.md b/es/documentation/installation/index.md index 00e984d831..67a2241071 100644 --- a/es/documentation/installation/index.md +++ b/es/documentation/installation/index.md @@ -140,7 +140,7 @@ Este comando debería instalar la versión más actual de Ruby. Ruby 1.8.7 está disponible para Solaris 8 a 10 en [Sunfreeware][sunfreeware] y Ruby 1.8.7 está disponible en -[Blastwave][blastwave]. +Blastwave. Ruby 1.9.2p0 también está disponible en [Sunfreeware][sunfreeware], pero esta es una versión desactualizada. @@ -290,7 +290,6 @@ herramienta. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/fr/documentation/installation/index.md b/fr/documentation/installation/index.md index 3588186a99..b5e4ddacc3 100644 --- a/fr/documentation/installation/index.md +++ b/fr/documentation/installation/index.md @@ -144,7 +144,7 @@ La version la plus récente de Ruby sera installée. Ruby 1.8.7 est disponible de Solaris 8 à Solaris 10 sur [Sunfreeware][sunfreeware] et Ruby 1.8.7 est disponible sur -[Blastwave][blastwave]. +Blastwave. Ruby 1.9.2p0 est aussi disponible sur [Sunfreeware][sunfreeware], mais il est obsolète. @@ -312,7 +312,6 @@ Ruby ne pourront pas être gérées par un gestionnaire de versions. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/id/documentation/installation/index.md b/id/documentation/installation/index.md index 6f52f12d9e..0dd715c380 100644 --- a/id/documentation/installation/index.md +++ b/id/documentation/installation/index.md @@ -159,7 +159,7 @@ dapat ditemukan di [FreeBSD Ruby Project website][freebsd-ruby]. Ruby 1.8.7 tersedia untuk Solaris 8 hingga Solaris 10 di [Sunfreeware][sunfreeware] dan Ruby 1.8.7 tersedia di -[Blastwave][blastwave]. +Blastwave. Ruby 1.9.2p0 juga tersedia di [Sunfreeware][sunfreeware], namun sudah tidak diperbarui lagi. @@ -309,7 +309,6 @@ karena Ruby yang terpasang tidak akan diatur oleh kakas apapun. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/it/documentation/installation/index.md b/it/documentation/installation/index.md index 7dcef0fd0a..1d6a0269e4 100644 --- a/it/documentation/installation/index.md +++ b/it/documentation/installation/index.md @@ -187,7 +187,7 @@ probabilmente una buona ida utilizzare i tool di terze parti. {: #solaris} Ruby 1.8.7 è disponibile per Solaris 8 fino a Solaris 10 su -[Sunfreeware][sunfreeware] e Ruby 1.8.7 è disponibile su [Blastwave][blastwave]. +[Sunfreeware][sunfreeware] e Ruby 1.8.7 è disponibile su Blastwave. Ruby 1.9.2p0 è disponibile su [Sunfreeware][sunfreeware], ma è outdate. Si possono avere le ultime versioni di Ruby utilizzando i tool di terze parti. @@ -236,7 +236,6 @@ perchè la versione installata non verrebbe gestita da nessun tool. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/ja/documentation/installation/index.md b/ja/documentation/installation/index.md index ec2ce5e0e9..7808456b83 100644 --- a/ja/documentation/installation/index.md +++ b/ja/documentation/installation/index.md @@ -187,7 +187,7 @@ macOS 上で新しい Ruby のバージョンをインストールする手助 {: #solaris} [Sunfreeware][sunfreeware] で Solaris 8 から 10 用の Ruby 1.8.7 が使用できます。 -[Blastwave][blastwave] で Ruby 1.8.7 が使用できます。 +Blastwave で Ruby 1.8.7 が使用できます。 [Sunfreeware][sunfreeware] で Ruby 1.9.2p0 も使用できますが、これは古いバージョンです。 サードパーティ製ツールを使用することで最新バージョンの Ruby を手に入れることができます。 @@ -234,7 +234,6 @@ $ sudo make install [rubyinstaller]: https://rubyinstaller.org/ [railsinstaller]: http://railsinstaller.org/ [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/ko/documentation/installation/index.md b/ko/documentation/installation/index.md index c3bf276ec9..a967e45407 100644 --- a/ko/documentation/installation/index.md +++ b/ko/documentation/installation/index.md @@ -177,7 +177,7 @@ FreeBSD 상의 루비와 그 환경에 대해서 더 자세한 정보는 {: #solaris} Solaris 8에서 Solaris 10까지 [Sunfreeware][sunfreeware]에서 루비 1.8.7을 사용 가능하며 -[Blastwave][blastwave]에서 루비 1.8.7을 사용 가능합니다. +Blastwave에서 루비 1.8.7을 사용 가능합니다. [Sunfreeware][sunfreeware]에서 루비 1.9.2p0을 사용 가능하지만, 이는 구 버전입니다. [OpenIndiana][openindiana]에서 루비를 설치하려면, @@ -322,7 +322,6 @@ $ sudo make install [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ [freebsd-ruby]: https://wiki.freebsd.org/Ruby diff --git a/pl/documentation/installation/index.md b/pl/documentation/installation/index.md index e052b8fb24..4ac97d91cf 100644 --- a/pl/documentation/installation/index.md +++ b/pl/documentation/installation/index.md @@ -184,7 +184,7 @@ nowej wersji Rubiego w macOS dobrym pomysłem jest użycie narzędzi osób trzec {: #solaris} Ruby 1.8.7 jest dostępny dla Solarisa 8 do Solarisa 10 na -[Sunfreeware][sunfreeware] i Ruby 1.8.7 jest dostępny na [Blastwave][blastwave]. +[Sunfreeware][sunfreeware] i Ruby 1.8.7 jest dostępny na Blastwave. Ruby 1.9.2p0 jest także dostępny na [Sunfreeware][sunfreeware], ale przestarzały. Użycie RVM umożliwi ci skorzystanie z najnowszej wersji Rubiego. @@ -230,7 +230,6 @@ pomysłem, ponieważ zainstalowany Ruby nie będzie zarządzany przez żadne z n [rbenv]: https://github.com/rbenv/rbenv [rubyinstaller]: https://rubyinstaller.org/ [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/pt/documentation/installation/index.md b/pt/documentation/installation/index.md index d5b6c5af91..cfc5dcbd41 100644 --- a/pt/documentation/installation/index.md +++ b/pt/documentation/installation/index.md @@ -140,7 +140,7 @@ Este comando deve instalar a versão mais recente do Ruby. O Ruby 1.8.7 está disponível do Solaris 8 até o Solaris 10 no [Sunfreeware][sunfreeware] e o Ruby 1.8.7 está disponível no -[Blastwave][blastwave]. O Ruby 1.9.2p0 também está disponível no +Blastwave. O Ruby 1.9.2p0 também está disponível no [Sunfreeware][sunfreeware], mas está desatualizado. Para instalar o Ruby no [OpenIndiana][openindiana], por favor use o @@ -290,7 +290,6 @@ por nenhuma ferramenta. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/ru/documentation/installation/index.md b/ru/documentation/installation/index.md index 2de0b726a9..62aab5eaa0 100644 --- a/ru/documentation/installation/index.md +++ b/ru/documentation/installation/index.md @@ -141,7 +141,7 @@ $ brew install ruby {: #solaris} Ruby 1.8.7 доступен для Solaris 8-10 на [Sunfreeware][sunfreeware] и -[Blastwave][blastwave]. Ruby 1.9.2p0 также доступен на [Sunfreeware][sunfreeware], +Blastwave. Ruby 1.9.2p0 также доступен на [Sunfreeware][sunfreeware], но это все уже устарело. Чтобы установить Ruby на [OpenIndiana][openindiana], пожалуйста, используйте @@ -288,7 +288,6 @@ $ sudo make install [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/vi/documentation/installation/index.md b/vi/documentation/installation/index.md index 11472b51d9..05c1b913c2 100644 --- a/vi/documentation/installation/index.md +++ b/vi/documentation/installation/index.md @@ -142,7 +142,7 @@ Lệnh trên sẽ cài đặt phiên bản mới nhất của Ruby. Ruby 1.8.7 có sẵn từ Solaris 8 đến Solaris 10 trên [Sunfreeware][sunfreeware] và Ruby 1.8.7 có sẵn ở -[Blastwave][blastwave]. +Blastwave. Ruby 1.9.2p0 cũng có sẵn tại [Sunfreeware][sunfreeware], nhưng đây là phiên bản đã lỗi thời. @@ -296,7 +296,6 @@ bất kỳ công cụ nào. [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ diff --git a/zh_tw/documentation/installation/index.md b/zh_tw/documentation/installation/index.md index 55b30a8e47..844aee3b1e 100644 --- a/zh_tw/documentation/installation/index.md +++ b/zh_tw/documentation/installation/index.md @@ -118,7 +118,7 @@ $ brew install ruby ### Solaris 和 OpenIndiana 平台 {: #solaris} -[Sunfreeware][sunfreeware] 上的 Solaris 8 到 10 版有 Ruby 1.8.7 可用,同時 [Blastwave][blastwave] 上也有 Ruby 1.8.7。Ruby 1.9.2p0 在 [Sunfreeware][sunfreeware] 也有,但版本已經過時了。 +[Sunfreeware][sunfreeware] 上的 Solaris 8 到 10 版有 Ruby 1.8.7 可用,同時 Blastwave 上也有 Ruby 1.8.7。Ruby 1.9.2p0 在 [Sunfreeware][sunfreeware] 也有,但版本已經過時了。 要在 [OpenIndiana][openindiana] 安裝 Ruby,請使用: [Image Packaging System (IPS)][opensolaris-pkg] 客戶端。 @@ -234,7 +234,6 @@ $ sudo make install [railsinstaller]: http://railsinstaller.org/ [rubystack]: http://bitnami.com/stack/ruby/installer [sunfreeware]: http://www.sunfreeware.com -[blastwave]: http://www.blastwave.org [openindiana]: http://openindiana.org/ [opensolaris-pkg]: http://opensolaris.org/os/project/pkg/ [gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ From da7c5408a5a6fb2d5c79555cb28700c096d578ba Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 22:15:24 +0100 Subject: [PATCH 1250/3394] Remove defunct conference sites (en) Closes #1958 Co-authored-by: Jacob Herrington --- en/community/conferences/index.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/en/community/conferences/index.md b/en/community/conferences/index.md index f7a49f2de0..227d37bbc2 100644 --- a/en/community/conferences/index.md +++ b/en/community/conferences/index.md @@ -37,12 +37,6 @@ event dates, location, CFP (Call For Proposals) and Registration information. including Armin Roehrl and Michael Neumann, EuRuKo emerged as the second annual Ruby event, starting two years after RubyConf. -[Open Source Developer Conference][5] -: This is an annual open source development conference that is held each - year in Australia. While not specifically a Ruby conference, each year - we do get a number of Ruby papers and we are always interested in more - Ruby content. - ### Regional Ruby Conferences [Ruby Central][2] administers a [Regional Conference Grant Program][6], @@ -59,19 +53,8 @@ Virginia, Maryland, and Washington, DC areas. Ruby on Rails. The Chicago-based conference has served the Ruby community since 2008. -[Madison Ruby][15]: Madison, WI - [Steel City Ruby][16]: Pittsburg, PA -[Ruby on Ales][17] is an annual two-day conference inspired by Ruby, microbrews, -and snow. Listen to engaging speakers, enjoy delicious food and enjoy the -wonderful scenery around Bend Oregon. - -[Burlington Ruby Conference][18]: A summertime Ruby conference that happens -annually in Burlington, VT. The conference is two days long and follows a -single track. The focus of the conference is on creating an environment to -learn, have fun and meet fellow Rubyists. - [GoRuCo][19]: New York City's annual Ruby conference. A one-day single-track conference. [DeccanRubyConf][20]: Pune's (India) annual Ruby conference, @@ -95,7 +78,6 @@ O’Reilly), and Canada on Rails. [2]: http://rubycentral.org [3]: http://rubykaigi.org/ [4]: http://euruko.org -[5]: http://www.osdc.com.au/ [6]: http://rubycentral.org/community/grant [7]: http://www.svforum.org [8]: http://rubynation.org/ @@ -105,9 +87,6 @@ O’Reilly), and Canada on Rails. [12]: http://www.railsconf.org [13]: http://europe.railsconf.org [14]: http://www.skillsmatter.com -[15]: http://madisonruby.org/ [16]: http://steelcityruby.org/ -[17]: http://ruby.onales.com/ -[18]: http://burlingtonrubyconference.com [19]: http://goruco.com/ [20]: http://www.deccanrubyconf.org/ From 69b5892bf6c65d2d8bf3b25e8581189bc3dc21db Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Fri, 8 Mar 2019 22:47:51 +0100 Subject: [PATCH 1251/3394] Simplify build matrix for Travis CI --- .travis.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 80bf6d60ba..0cc0fa0c01 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,9 @@ sudo: false rvm: 2.6.1 cache: bundler env: - matrix: - - SCRIPT="bundle exec rake build" - - SCRIPT="bundle exec rake test" -script: $SCRIPT + - TASK=build + - TASK=test +script: bundle exec rake $TASK # Notifications, used by our Gitter channel. notifications: webhooks: From 32f55d6f8b47ba0263fa30cf3525942745fd24ae Mon Sep 17 00:00:00 2001 From: Sho Hashimoto Date: Sun, 10 Mar 2019 16:56:01 +0900 Subject: [PATCH 1252/3394] Add a link to rurema for Ruby 2.6.0 (ja) --- ja/documentation/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ja/documentation/index.md b/ja/documentation/index.md index 67df7719cd..c179abf26a 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -23,6 +23,7 @@ Rubyでプログラミングする際に役立つドキュメントを紹介し * [Rubyリファレンスマニュアル Ruby 2.3.0版][man-230] * [Rubyリファレンスマニュアル Ruby 2.4.0版][man-240] * [Rubyリファレンスマニュアル Ruby 2.5.0版][man-250] +* [Rubyリファレンスマニュアル Ruby 2.6.0版][man-260] * [るりまサーチ][man-search] またこのリファレンスマニュアルをまとめてダウンロードすることもできます。 @@ -117,6 +118,7 @@ Posted by Shugo Maeda on 26 May 2006 [man-230]: https://docs.ruby-lang.org/ja/2.3.0/doc/index.html [man-240]: https://docs.ruby-lang.org/ja/2.4.0/doc/index.html [man-250]: https://docs.ruby-lang.org/ja/2.5.0/doc/index.html +[man-260]: https://docs.ruby-lang.org/ja/2.6.0/doc/index.html [man-search]: https://docs.ruby-lang.org/ja/search/ [man-xz]: https://cache.ruby-lang.org/pub/ruby/doc/ruby-refm-1.9.3-dynamic-20120829.tar.xz [man-gz]: https://cache.ruby-lang.org/pub/ruby/doc/ruby-refm-1.9.3-dynamic-20120829.tar.gz From 7b7bdec0c17663ebdcfb6c0ce8be4293589f587b Mon Sep 17 00:00:00 2001 From: Sho Hashimoto Date: Mon, 11 Mar 2019 09:42:24 +0900 Subject: [PATCH 1253/3394] Change listing order. Make newer versions upper. --- ja/documentation/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ja/documentation/index.md b/ja/documentation/index.md index c179abf26a..d1efc17c4a 100644 --- a/ja/documentation/index.md +++ b/ja/documentation/index.md @@ -15,15 +15,15 @@ Rubyでプログラミングする際に役立つドキュメントを紹介し また、現在有志の手により[リファレンスマニュアルの整備][rurema-wiki]が進行中です。 成果物を[<URL:https://docs.ruby-lang.org/ja/>][doc-r-l-o]から閲覧できます。 -* [Rubyリファレンスマニュアル Ruby 1.8.7版][man-187] -* [Rubyリファレンスマニュアル Ruby 1.9.3版][man-193] -* [Rubyリファレンスマニュアル Ruby 2.0.0版][man-200] -* [Rubyリファレンスマニュアル Ruby 2.1.0版][man-210] -* [Rubyリファレンスマニュアル Ruby 2.2.0版][man-220] -* [Rubyリファレンスマニュアル Ruby 2.3.0版][man-230] -* [Rubyリファレンスマニュアル Ruby 2.4.0版][man-240] -* [Rubyリファレンスマニュアル Ruby 2.5.0版][man-250] * [Rubyリファレンスマニュアル Ruby 2.6.0版][man-260] +* [Rubyリファレンスマニュアル Ruby 2.5.0版][man-250] +* [Rubyリファレンスマニュアル Ruby 2.4.0版][man-240] +* [Rubyリファレンスマニュアル Ruby 2.3.0版][man-230] +* [Rubyリファレンスマニュアル Ruby 2.2.0版][man-220] +* [Rubyリファレンスマニュアル Ruby 2.1.0版][man-210] +* [Rubyリファレンスマニュアル Ruby 2.0.0版][man-200] +* [Rubyリファレンスマニュアル Ruby 1.9.3版][man-193] +* [Rubyリファレンスマニュアル Ruby 1.8.7版][man-187] * [るりまサーチ][man-search] またこのリファレンスマニュアルをまとめてダウンロードすることもできます。 From 02464a8ca9391fece68eef26855eb99caf902b83 Mon Sep 17 00:00:00 2001 From: jacobherrington Date: Mon, 11 Mar 2019 01:36:14 -0500 Subject: [PATCH 1254/3394] Add a CTA to the podcasts page I really like the "Spreading the Word" CTA on the Ruby blogs page and wanted to add something similar to the podcasts page. --- en/community/podcasts/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/en/community/podcasts/index.md b/en/community/podcasts/index.md index 187c76cafe..ae67b44f8c 100644 --- a/en/community/podcasts/index.md +++ b/en/community/podcasts/index.md @@ -14,5 +14,12 @@ Listen to news, interviews, and discussions about Ruby and its community. : The Ruby on Rails Podcast, a weekly conversation about Ruby on Rails, open source software, and the programming profession. +### Getting Involved + +Podcast hosts are always looking for guests. If you have some Ruby +wisdom to share, get in touch with the creators of these shows. + +You can also start your own Ruby podcast and get added to this list! + [rorpodcast]: http://5by5.tv/rubyonrails [rogues]: https://devchat.tv/ruby-rogues From 0116d24224abcb9b5dbfcc1db0a58cbffdf8c526 Mon Sep 17 00:00:00 2001 From: jacobherrington Date: Mon, 11 Mar 2019 01:45:43 -0500 Subject: [PATCH 1255/3394] Improve podcast section copy The phrasing for this was a little confusing and there were one or two grammar issues. --- en/community/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/en/community/index.md b/en/community/index.md index 2c2fc2a80d..95f0b2dda7 100644 --- a/en/community/index.md +++ b/en/community/index.md @@ -43,9 +43,10 @@ to start: the Ruby community. [Podcasts](podcasts/) -: If you like to hear about Ruby rather than read about you can listen - to podcasts which cover new Ruby or gem releases, interviews and - discussions between Ruby programmers, contributors, and maintainers. +: If you prefer to listen to discussions about Ruby rather than read, + you can tune into one of these awesome Ruby podcasts. These Rubyists + use their podcasts to cover new releases, community news, and + interview their fellow Ruby developers. General Ruby Information : * [Ruby Central][ruby-central] From 7560b1bdda368f683ff9d819fe8a225f6df4fa55 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Mon, 11 Mar 2019 20:31:04 +0100 Subject: [PATCH 1256/3394] Remove dead link to MORPHA The site of the MORPHA project is no longer available under this URL and the domain is not even related to the project anymore. Closes #1845 --- bg/documentation/success-stories/index.md | 3 +-- de/documentation/success-stories/index.md | 3 +-- en/documentation/success-stories/index.md | 3 +-- fr/documentation/success-stories/index.md | 3 +-- id/documentation/success-stories/index.md | 3 +-- it/documentation/success-stories/index.md | 3 +-- ko/documentation/success-stories/index.md | 3 +-- pl/documentation/success-stories/index.md | 3 +-- pt/documentation/success-stories/index.md | 3 +-- ru/documentation/success-stories/index.md | 3 +-- tr/documentation/success-stories/index.md | 3 +-- vi/documentation/success-stories/index.md | 3 +-- zh_cn/documentation/success-stories/index.md | 3 +-- zh_tw/documentation/success-stories/index.md | 3 +-- 14 files changed, 14 insertions(+), 28 deletions(-) diff --git a/bg/documentation/success-stories/index.md b/bg/documentation/success-stories/index.md index f1cdba4f57..9a80b7cf16 100644 --- a/bg/documentation/success-stories/index.md +++ b/bg/documentation/success-stories/index.md @@ -29,7 +29,7 @@ lang: bg #### Роботика -* В [MORPHA][5] се използва Ruby за имплементирането на реактивната +* В MORPHA се използва Ruby за имплементирането на реактивната контролна част за сервизния робот на Siemens. #### Мрежи @@ -62,7 +62,6 @@ lang: bg [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/de/documentation/success-stories/index.md b/de/documentation/success-stories/index.md index 153c738587..9a519f194f 100644 --- a/de/documentation/success-stories/index.md +++ b/de/documentation/success-stories/index.md @@ -23,7 +23,7 @@ Projekten, die Ruby nutzen. #### Robotics -* Im [MORPHA][3] Projekt, wurde Ruby eingesetzt, um für den Siemens +* Im MORPHA Projekt, wurde Ruby eingesetzt, um für den Siemens Service Roboter die Reaktionskontrolle zu implementieren. #### Netzwerke @@ -57,7 +57,6 @@ Projekten, die Ruby nutzen. [1]: http://www.motorola.com [2]: https://www.uhn.ca/TorontoRehab -[3]: http://www.morpha.de/php_d/index.php3 [4]: http://ods.org/ [5]: http://www.lucent.com/ [6]: http://www.level3.com/ diff --git a/en/documentation/success-stories/index.md b/en/documentation/success-stories/index.md index 8653e81217..5d8d4454ab 100644 --- a/en/documentation/success-stories/index.md +++ b/en/documentation/success-stories/index.md @@ -28,7 +28,7 @@ you’ll find a small sample of real world usage of Ruby. #### Robotics -* At [MORPHA][5] project, Ruby was used to implement the reactive +* At MORPHA project, Ruby was used to implement the reactive control part for the Siemens service robot. #### Networking @@ -77,7 +77,6 @@ you’ll find a small sample of real world usage of Ruby. [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/fr/documentation/success-stories/index.md b/fr/documentation/success-stories/index.md index fc36e61b01..2d2dc34bb7 100644 --- a/fr/documentation/success-stories/index.md +++ b/fr/documentation/success-stories/index.md @@ -31,7 +31,7 @@ témoignages du « monde réel. » #### Robotique -* Le projet [MORPHA][6] a utilisé Ruby pour implémenter la partie de +* Le projet MORPHA a utilisé Ruby pour implémenter la partie de contrôle réactif du robot de service Siemens. #### Réseaux @@ -66,7 +66,6 @@ témoignages du « monde réel. » [3]: http://www.motorola.com [4]: http://www.sketchup.com/ [5]: https://www.uhn.ca/TorontoRehab -[6]: http://www.morpha.de/php_e/index.php3 [7]: http://ods.org/ [8]: http://www.lucent.com/ [9]: http://www.level3.com/ diff --git a/id/documentation/success-stories/index.md b/id/documentation/success-stories/index.md index 0acf8425b9..7c1bb96279 100644 --- a/id/documentation/success-stories/index.md +++ b/id/documentation/success-stories/index.md @@ -31,7 +31,7 @@ kecil contoh dari berbagai penggunaan Ruby di dunia nyata. #### Robotika -* Proyek [MORPHA][5] menggunakan Ruby untuk mengimplementasikan bagian +* Proyek MORPHA menggunakan Ruby untuk mengimplementasikan bagian pengendali reaktif dari robot Siemens yang digunakan. #### Jaringan Komputer @@ -81,7 +81,6 @@ kecil contoh dari berbagai penggunaan Ruby di dunia nyata. [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/it/documentation/success-stories/index.md b/it/documentation/success-stories/index.md index 5533d2f9fb..91ae4d2bf2 100644 --- a/it/documentation/success-stories/index.md +++ b/it/documentation/success-stories/index.md @@ -29,7 +29,7 @@ alcuni esempi reali di come viene utilizzato Ruby nel mondo. #### Robotica -* Il progetto [MORPHA][5] utilizza Ruby per implementare il controllo +* Il progetto MORPHA utilizza Ruby per implementare il controllo della reattività dei componenti della Simens service robot. #### Networking @@ -75,7 +75,6 @@ alcuni esempi reali di come viene utilizzato Ruby nel mondo. [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/ko/documentation/success-stories/index.md b/ko/documentation/success-stories/index.md index 9fcc4a17af..6cf55108dc 100644 --- a/ko/documentation/success-stories/index.md +++ b/ko/documentation/success-stories/index.md @@ -28,7 +28,7 @@ lang: ko #### 로봇공학 -* [MORPHA][5] 프로젝트에서는, 루비는 Siemens 서비스 로봇의 반응 컨트롤 +* MORPHA 프로젝트에서는, 루비는 Siemens 서비스 로봇의 반응 컨트롤 부분에 사용되고 있습니다. #### 네트워킹 @@ -72,7 +72,6 @@ lang: ko [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/pl/documentation/success-stories/index.md b/pl/documentation/success-stories/index.md index e4da876efa..642b738b07 100644 --- a/pl/documentation/success-stories/index.md +++ b/pl/documentation/success-stories/index.md @@ -25,7 +25,7 @@ Rubiego w rzeczywistości. #### Robotyka -* W projekcie [MORPHA][5] , Ruby został użyty do implementacji systemu +* W projekcie MORPHA, Ruby został użyty do implementacji systemu kontroli reakcji Robota usługowego firmy Siemens. #### Sieci @@ -83,7 +83,6 @@ Rubiego w rzeczywistości. [2]: http://www-106.ibm.com/developerworks/linux/library/l-oslab/ [3]: http://www.motorola.com [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/pt/documentation/success-stories/index.md b/pt/documentation/success-stories/index.md index 478a6c120e..ad17dddc0d 100644 --- a/pt/documentation/success-stories/index.md +++ b/pt/documentation/success-stories/index.md @@ -29,7 +29,7 @@ Aqui você encontrará uma pequena amostra do uso de Ruby no mundo real. #### Robótica -* No projeto [MORPHA][5] , Ruby foi usado para implementar a parte do +* No projeto MORPHA, Ruby foi usado para implementar a parte do controle reativo do robô de serviços da Siemens. #### Redes @@ -76,7 +76,6 @@ Aqui você encontrará uma pequena amostra do uso de Ruby no mundo real. [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/ru/documentation/success-stories/index.md b/ru/documentation/success-stories/index.md index 62923d6aa6..43d933a77f 100644 --- a/ru/documentation/success-stories/index.md +++ b/ru/documentation/success-stories/index.md @@ -31,7 +31,7 @@ lang: ru #### Робототехника -* В проекте [MORPHA][5], Ruby был задействован для создания реактивных +* В проекте MORPHA, Ruby был задействован для создания реактивных элементов управления для обслуживающего робота Siemens. #### Сеть @@ -79,7 +79,6 @@ lang: ru [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/tr/documentation/success-stories/index.md b/tr/documentation/success-stories/index.md index e20ecc1ede..a7eb918993 100644 --- a/tr/documentation/success-stories/index.md +++ b/tr/documentation/success-stories/index.md @@ -30,7 +30,7 @@ olarak. Burada Ruby’nin gerçek dünyadan örneklerini görebilirsiniz. #### Robotik -* [MORPHA][4] projesinde, Ruby Siemens servis robotunun reaktif denetim +* MORPHA projesinde, Ruby Siemens servis robotunun reaktif denetim kısmını uygulamak için kullanıldı. #### Ağ @@ -76,7 +76,6 @@ olarak. Burada Ruby’nin gerçek dünyadan örneklerini görebilirsiniz. [1]: http://www.larc.nasa.gov/ [2]: http://www.sketchup.com/ [3]: https://www.uhn.ca/TorontoRehab -[4]: http://www.morpha.de/php_e/index.php3 [5]: http://ods.org/ [6]: http://www.lucent.com/ [7]: http://www.level3.com/ diff --git a/vi/documentation/success-stories/index.md b/vi/documentation/success-stories/index.md index 74ff0418e9..94de3eed89 100644 --- a/vi/documentation/success-stories/index.md +++ b/vi/documentation/success-stories/index.md @@ -29,7 +29,7 @@ nó như thứ tiêu khiển. Trong trang này, bạn sẽ tìm thấy những v #### Robotics -* Dự án [MORPHA][5] dùng Ruby để triển khai phần tương tác phản hồi của cho rô-bô dịch vụ của Siemens. +* Dự án MORPHA dùng Ruby để triển khai phần tương tác phản hồi của cho rô-bô dịch vụ của Siemens. #### Mạng @@ -71,7 +71,6 @@ nó như thứ tiêu khiển. Trong trang này, bạn sẽ tìm thấy những v [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/zh_cn/documentation/success-stories/index.md b/zh_cn/documentation/success-stories/index.md index 7e4eef219b..68c1ea752d 100644 --- a/zh_cn/documentation/success-stories/index.md +++ b/zh_cn/documentation/success-stories/index.md @@ -25,7 +25,7 @@ lang: zh_cn #### 机器人学 -* 在 [MORPHA][5] 项目,Ruby 用来实现西门子服务机器人的反应控制部分。 +* 在 MORPHA 项目,Ruby 用来实现西门子服务机器人的反应控制部分。 #### 网络 @@ -57,7 +57,6 @@ lang: zh_cn [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ diff --git a/zh_tw/documentation/success-stories/index.md b/zh_tw/documentation/success-stories/index.md index 133231a99c..a273b7b706 100644 --- a/zh_tw/documentation/success-stories/index.md +++ b/zh_tw/documentation/success-stories/index.md @@ -23,7 +23,7 @@ lang: zh_tw #### 機器人 -* 在 [MORPHA][5] 計畫中,使用 Ruby 來實作西門子公司服務型機器人的反應控制部份。 +* 在 MORPHA 計畫中,使用 Ruby 來實作西門子公司服務型機器人的反應控制部份。 #### 網路 @@ -52,7 +52,6 @@ lang: zh_tw [2]: http://www.motorola.com [3]: http://www.sketchup.com/ [4]: https://www.uhn.ca/TorontoRehab -[5]: http://www.morpha.de/php_e/index.php3 [6]: http://ods.org/ [7]: http://www.lucent.com/ [8]: http://www.level3.com/ From 6076694972892cb1a1693134fee72b0be5f33a7c Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Wed, 13 Mar 2019 19:33:32 +0900 Subject: [PATCH 1257/3394] Add fixed rubygems version 2.7.6.2 in Workarounds section. --- .../_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md index 1775225dc9..8378d66196 100644 --- a/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md +++ b/en/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -33,7 +33,7 @@ It is strongly recommended for Ruby users to take one of the following workaroun ## Workarounds -RubyGems 2.7.9/3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version. +RubyGems 2.7.6.2/2.7.9/3.0.3 or later includes the fix for the vulnerabilities, so upgrade RubyGems to the latest version. ``` gem update --system From ed3a28378a37f6b40ef06de5a4e80795e79c2462 Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Wed, 13 Mar 2019 19:38:34 +0900 Subject: [PATCH 1258/3394] Add release notes for ruby 2.5.4. --- .../_posts/2019-03-13-ruby-2-5-4-released.md | 53 +++++++++++++++++++ .../_posts/2019-03-13-ruby-2-5-4-released.md | 49 +++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 en/news/_posts/2019-03-13-ruby-2-5-4-released.md create mode 100644 ja/news/_posts/2019-03-13-ruby-2-5-4-released.md diff --git a/en/news/_posts/2019-03-13-ruby-2-5-4-released.md b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md new file mode 100644 index 0000000000..d2152fed28 --- /dev/null +++ b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md @@ -0,0 +1,53 @@ +--- +layout: news_post +title: "Ruby 2.5.4 Released" +author: "nagachika" +translator: +date: 2019-03-13 11:30:00 +0000 +lang: en +--- + +Ruby 2.5.4 has been released. + +This release includes some bug fixes and update of bundled rubygems which contains some secirity fiexes. +See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/). + +There are also some bug fixes. +See the [commit logs](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4) +for more details. + +## Download + +* + + SIZE: 14167366 bytes + SHA1: ac3248a055b5317cec53d3f922559c5b4a67d410 + SHA256: 8a16566207b2334a6904a10a1f093befc3aaf9b2e6cf01c62b1c4ac15cb7d8fc + SHA512: 3c4f54f38ee50914a44d07e4fd299e53dddd045f2d38da2140586b8a9c45d1172fec2ad5b0411c228a9b31f5e161214820903a65b98caf3b0dfeeaabf2cab6ad + +* + + SIZE: 15995815 bytes + SHA1: 330bb5472f565b683c7f8c9091d4ee0cc155b51b + SHA256: 0e4042bce749352dfcf1b9e3013ba7c078b728f51f8adaf6470ce37675e3cb1f + SHA512: 6e58006c30d8ae561967e051ec0a34f34f899eee1b039abb65c9a63dc65965e210d238fff19fa7c7411893df25dfc40426887a195993153fb9e09bbf769dfc14 + +* + + SIZE: 11493016 bytes + SHA1: 221b8538e75a8d04af8b9a09f56343e463bf94f8 + SHA256: 46f6eff655a6be1939f70c7a4c1bf58f76663e7e804738bc52f4d47ca31dee3d + SHA512: e72294e549d09510f20c808d26a0d21ef0ee2616d8598980a42db260d45340e5c259ac65e5478a8b086042ff6ba7d8447a6c8115454ffe977c4f63175ab89062 + +* + + SIZE: 19186174 bytes + SHA1: 855be9a5a43a1e0621ad2e81c27de9370d2abcc8 + SHA256: 823a6a2c9c7baa18554fd78d430837a01ab33cc16ad1759c9842bdd9523e9cea + SHA512: a83f90514b09c217fbbd154cfc09c804553353a97cbff7df24185b613e1c7be69a965fe9ec925ac3f4bd6170f2c3d0d60be7ea4ab1037ce64300d7443b6e08e8 + +## Release Comment + +Many committers, developers, and users who provided bug reports helped +us to make this release. +Thanks for their contributions. diff --git a/ja/news/_posts/2019-03-13-ruby-2-5-4-released.md b/ja/news/_posts/2019-03-13-ruby-2-5-4-released.md new file mode 100644 index 0000000000..478e5c6ef4 --- /dev/null +++ b/ja/news/_posts/2019-03-13-ruby-2-5-4-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.5.4 リリース" +author: "nagachika" +translator: +date: 2019-03-13 11:30:00 +0000 +lang: ja +--- + +Ruby 2.5.4 がリリースされました。 + +このリリースには同梱しているRubyGemsの脆弱性修正が含まれています。 +詳細は[Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/)を参照してください。 + +その他いくつかの不具合修正も含まれます。詳細は [commit log](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4) を参照してください。 + +## ダウンロード + +* + + SIZE: 14167366 bytes + SHA1: ac3248a055b5317cec53d3f922559c5b4a67d410 + SHA256: 8a16566207b2334a6904a10a1f093befc3aaf9b2e6cf01c62b1c4ac15cb7d8fc + SHA512: 3c4f54f38ee50914a44d07e4fd299e53dddd045f2d38da2140586b8a9c45d1172fec2ad5b0411c228a9b31f5e161214820903a65b98caf3b0dfeeaabf2cab6ad + +* + + SIZE: 15995815 bytes + SHA1: 330bb5472f565b683c7f8c9091d4ee0cc155b51b + SHA256: 0e4042bce749352dfcf1b9e3013ba7c078b728f51f8adaf6470ce37675e3cb1f + SHA512: 6e58006c30d8ae561967e051ec0a34f34f899eee1b039abb65c9a63dc65965e210d238fff19fa7c7411893df25dfc40426887a195993153fb9e09bbf769dfc14 + +* + + SIZE: 11493016 bytes + SHA1: 221b8538e75a8d04af8b9a09f56343e463bf94f8 + SHA256: 46f6eff655a6be1939f70c7a4c1bf58f76663e7e804738bc52f4d47ca31dee3d + SHA512: e72294e549d09510f20c808d26a0d21ef0ee2616d8598980a42db260d45340e5c259ac65e5478a8b086042ff6ba7d8447a6c8115454ffe977c4f63175ab89062 + +* + + SIZE: 19186174 bytes + SHA1: 855be9a5a43a1e0621ad2e81c27de9370d2abcc8 + SHA256: 823a6a2c9c7baa18554fd78d430837a01ab33cc16ad1759c9842bdd9523e9cea + SHA512: a83f90514b09c217fbbd154cfc09c804553353a97cbff7df24185b613e1c7be69a965fe9ec925ac3f4bd6170f2c3d0d60be7ea4ab1037ce64300d7443b6e08e8 + +## リリースコメント + +このリリースにあたり、多くのコミッター、開発者、バグ報告をしてくれたユーザーの皆様に感謝を申し上げます。 From 20a399fd447b20b35e3cebd20a20edb95d6515f4 Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Wed, 13 Mar 2019 19:42:41 +0900 Subject: [PATCH 1259/3394] Update _data/releases.yml and _data/downloads.yml --- _data/downloads.yml | 2 +- _data/releases.yml | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/_data/downloads.yml b/_data/downloads.yml index 994e336d29..7d80f6595f 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -8,7 +8,7 @@ preview: stable: - 2.6.1 - - 2.5.3 + - 2.5.4 - 2.4.5 # optional diff --git a/_data/releases.yml b/_data/releases.yml index 23fe0818b9..3ffa49b536 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -121,6 +121,20 @@ # 2.5 series +- version: 2.5.4 + date: 2019-03-13 + post: /en/news/2019/03/13/ruby-2-5-4-released/ + url: + bz2: https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.zip + sha256: + bz2: 8a16566207b2334a6904a10a1f093befc3aaf9b2e6cf01c62b1c4ac15cb7d8fc + gz: 0e4042bce749352dfcf1b9e3013ba7c078b728f51f8adaf6470ce37675e3cb1f + xz: 46f6eff655a6be1939f70c7a4c1bf58f76663e7e804738bc52f4d47ca31dee3d + zip: 823a6a2c9c7baa18554fd78d430837a01ab33cc16ad1759c9842bdd9523e9cea + - version: 2.5.3 date: 2018-10-18 post: /en/news/2018/10/18/ruby-2-5-3-released/ From dced8d87d3981db3f4981a814326530e3232a1db Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Wed, 13 Mar 2019 19:58:13 +0900 Subject: [PATCH 1260/3394] Fix typos. --- en/news/_posts/2019-03-13-ruby-2-5-4-released.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/en/news/_posts/2019-03-13-ruby-2-5-4-released.md b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md index d2152fed28..e5a6e704b2 100644 --- a/en/news/_posts/2019-03-13-ruby-2-5-4-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md @@ -9,12 +9,9 @@ lang: en Ruby 2.5.4 has been released. -This release includes some bug fixes and update of bundled rubygems which contains some secirity fiexes. -See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/). - -There are also some bug fixes. -See the [commit logs](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4) -for more details. +This release includes bug fixes and security update of bundled RubyGems. +See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) +and [commit logs](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4). ## Download @@ -49,5 +46,5 @@ for more details. ## Release Comment Many committers, developers, and users who provided bug reports helped -us to make this release. +us make this release. Thanks for their contributions. From 1c8a85805eb027320dc2119d2ce5eb1cff9ad334 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Wed, 13 Mar 2019 20:08:34 +0900 Subject: [PATCH 1261/3394] Ruby 2.6.2 released --- _data/downloads.yml | 2 +- _data/releases.yml | 14 ++++++ .../_posts/2019-03-13-ruby-2-6-2-released.md | 48 +++++++++++++++++++ .../_posts/2019-03-13-ruby-2-6-2-released.md | 46 ++++++++++++++++++ 4 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 en/news/_posts/2019-03-13-ruby-2-6-2-released.md create mode 100644 ja/news/_posts/2019-03-13-ruby-2-6-2-released.md diff --git a/_data/downloads.yml b/_data/downloads.yml index 7d80f6595f..7c5a63b8c0 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -7,7 +7,7 @@ preview: stable: - - 2.6.1 + - 2.6.2 - 2.5.4 - 2.4.5 diff --git a/_data/releases.yml b/_data/releases.yml index 3ffa49b536..6dcbef9bdd 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -21,6 +21,20 @@ # 2.6 series +- version: 2.6.2 + date: 2019-03-13 + post: /en/news/2019/03/13/ruby-2-6-2-released/ + url: + gz: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.gz + zip: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.zip + bz2: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.bz2 + xz: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.xz + sha256: + gz: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab + zip: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 + bz2: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 + xz: 91fcde77eea8e6206d775a48ac58450afe4883af1a42e5b358320beb33a445fa + - version: 2.6.1 date: 2019-01-30 post: /en/news/2019/01/30/ruby-2-6-1-released/ diff --git a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md new file mode 100644 index 0000000000..53154f1075 --- /dev/null +++ b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -0,0 +1,48 @@ +--- +layout: news_post +title: "Ruby 2.6.2 Released" +author: "nagachika" +translator: +date: 2019-03-13 11:30:00 +0000 +lang: en +--- + +Ruby 2.6.2 has been released. + +This release includes bug fixes and security update of bundled RubyGems. + +See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) +and [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2.6.2). + +## Download + +* + + SIZE: 16777765 bytes + SHA1: 44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7 + SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab + SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f +* + + SIZE: 20601169 bytes + SHA1: fce5c289842e6e4c4bc7950214d82c0858086baa + SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 + SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b +* + + SIZE: 14634343 bytes + SHA1: 5839fc6e6568ac4f26a20382bd8fe0d998dffbb0 + SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 + SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0 +* + + SIZE: 11889840 bytes + SHA1: b7b3432519f80ea50adc9bfb937c7a46865a93d5 + SHA256: 91fcde77eea8e6206d775a48ac58450afe4883af1a42e5b358320beb33a445fa + SHA512: 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a + +## Release Comment + +Many committers, developers, and users who provided bug reports helped +us make this release. +Thanks for their contributions. diff --git a/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md new file mode 100644 index 0000000000..b9f9a0872c --- /dev/null +++ b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -0,0 +1,46 @@ +--- +layout: news_post +title: "Ruby 2.6.2 リリース" +author: "naruse" +translator: +date: 2019-03-13 11:30:00 +0000 +lang: ja +--- + +Ruby 2.6.2 がリリースされました。 + +このリリースには同梱しているRubyGemsの脆弱性修正が含まれています。 +詳細は[Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/)を参照してください。 + +その他いくつかの不具合修正も含まれます。詳細は [commit log](https://github.com/ruby/ruby/compare/v2_6_1...v2.6.2) を参照してください。 + +## ダウンロード + +* + + SIZE: 16777765 bytes + SHA1: 44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7 + SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab + SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f +* + + SIZE: 20601169 bytes + SHA1: fce5c289842e6e4c4bc7950214d82c0858086baa + SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 + SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b +* + + SIZE: 14634343 bytes + SHA1: 5839fc6e6568ac4f26a20382bd8fe0d998dffbb0 + SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 + SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0 +* + + SIZE: 11889840 bytes + SHA1: b7b3432519f80ea50adc9bfb937c7a46865a93d5 + SHA256: 91fcde77eea8e6206d775a48ac58450afe4883af1a42e5b358320beb33a445fa + SHA512: 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a + +## リリースコメント + +このリリースにあたり、多くのコミッター、開発者、バグ報告をしてくれたユーザーの皆様に感謝を申し上げます。 From e218bf24326b177270bc1ae102bb2fdc704fda65 Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 13 Mar 2019 20:16:06 +0900 Subject: [PATCH 1262/3394] Update en/news/_posts/2019-03-13-ruby-2-6-2-released.md fix author Co-Authored-By: nurse --- en/news/_posts/2019-03-13-ruby-2-6-2-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md index 53154f1075..eec037ea6c 100644 --- a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -1,7 +1,7 @@ --- layout: news_post title: "Ruby 2.6.2 Released" -author: "nagachika" +author: "naruse" translator: date: 2019-03-13 11:30:00 +0000 lang: en From da7c635db790d6ed246ce2883b5ba116a1591cb5 Mon Sep 17 00:00:00 2001 From: Chikanaga Tomoyuki Date: Wed, 13 Mar 2019 21:24:58 +0900 Subject: [PATCH 1263/3394] Fix typo in commit log links. --- en/news/_posts/2019-03-13-ruby-2-6-2-released.md | 2 +- ja/news/_posts/2019-03-13-ruby-2-6-2-released.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md index eec037ea6c..ec615c91a8 100644 --- a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -12,7 +12,7 @@ Ruby 2.6.2 has been released. This release includes bug fixes and security update of bundled RubyGems. See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) -and [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2.6.2). +and [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2). ## Download diff --git a/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md index b9f9a0872c..e18d555cb9 100644 --- a/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -12,7 +12,7 @@ Ruby 2.6.2 がリリースされました。 このリリースには同梱しているRubyGemsの脆弱性修正が含まれています。 詳細は[Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/)を参照してください。 -その他いくつかの不具合修正も含まれます。詳細は [commit log](https://github.com/ruby/ruby/compare/v2_6_1...v2.6.2) を参照してください。 +その他いくつかの不具合修正も含まれます。詳細は [commit log](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2) を参照してください。 ## ダウンロード From 38e65bfa5a49cc8d068757d95609bb1b5355c2d7 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 14:40:43 +0100 Subject: [PATCH 1264/3394] Add newlines --- en/news/_posts/2019-03-13-ruby-2-6-2-released.md | 3 +++ ja/news/_posts/2019-03-13-ruby-2-6-2-released.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md index ec615c91a8..8f4aefa182 100644 --- a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -22,18 +22,21 @@ and [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2). SHA1: 44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7 SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f + * SIZE: 20601169 bytes SHA1: fce5c289842e6e4c4bc7950214d82c0858086baa SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b + * SIZE: 14634343 bytes SHA1: 5839fc6e6568ac4f26a20382bd8fe0d998dffbb0 SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0 + * SIZE: 11889840 bytes diff --git a/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md index e18d555cb9..48470c6bc5 100644 --- a/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/ja/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -22,18 +22,21 @@ Ruby 2.6.2 がリリースされました。 SHA1: 44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7 SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f + * SIZE: 20601169 bytes SHA1: fce5c289842e6e4c4bc7950214d82c0858086baa SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b + * SIZE: 14634343 bytes SHA1: 5839fc6e6568ac4f26a20382bd8fe0d998dffbb0 SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0 + * SIZE: 11889840 bytes From e94406b23ba3e27d7267f15b43691af628414e90 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 14:45:20 +0100 Subject: [PATCH 1265/3394] Fix grammar in news posts (en) --- en/news/_posts/2019-03-13-ruby-2-5-4-released.md | 4 ++-- en/news/_posts/2019-03-13-ruby-2-6-2-released.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/en/news/_posts/2019-03-13-ruby-2-5-4-released.md b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md index e5a6e704b2..5a1e553677 100644 --- a/en/news/_posts/2019-03-13-ruby-2-5-4-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-5-4-released.md @@ -9,9 +9,9 @@ lang: en Ruby 2.5.4 has been released. -This release includes bug fixes and security update of bundled RubyGems. +This release includes bug fixes and a security update of the bundled RubyGems. See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) -and [commit logs](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4). +and the [commit logs](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4). ## Download diff --git a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md index 8f4aefa182..673c421657 100644 --- a/en/news/_posts/2019-03-13-ruby-2-6-2-released.md +++ b/en/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -9,10 +9,10 @@ lang: en Ruby 2.6.2 has been released. -This release includes bug fixes and security update of bundled RubyGems. +This release includes bug fixes and a security update of the bundled RubyGems. See details in [Multiple vulnerabilities in RubyGems](/en/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) -and [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2). +and the [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2). ## Download From e19302df6c4d5c5b09a185e89298980e186c4cbf Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 14:56:25 +0100 Subject: [PATCH 1266/3394] Update gem bundle --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 91d1689af6..0b81e5b018 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -38,7 +38,7 @@ GEM lanyon (0.4.0) jekyll (>= 2.0, < 4.0) rack (>= 1.6, < 3.0) - liquid (4.0.1) + liquid (4.0.2) listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) @@ -82,7 +82,7 @@ GEM unicorn (5.5.0) kgio (~> 2.6) raindrops (~> 0.7) - validate-website (1.9.0) + validate-website (1.9.2) crass (~> 1) paint (~> 2) slop (~> 4.6) From 218d5569e9dbf7219e657acefcef0f6061ae1bad Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 21:38:29 +0100 Subject: [PATCH 1267/3394] Remove unmaintained notice for id --- id/index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/id/index.html b/id/index.html index 278da9f569..d434525a9e 100644 --- a/id/index.html +++ b/id/index.html @@ -24,5 +24,3 @@

Ruby adalah...

--- - -{% include unmaintained.html %} From 405929d8f38bab4fe4147222b353537c9058e70c Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 21:38:39 +0100 Subject: [PATCH 1268/3394] Remove unmaintained notice for pt --- _plugins/translation_status.rb | 2 +- pt/index.html | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/_plugins/translation_status.rb b/_plugins/translation_status.rb index b0215c17c4..24941bea3d 100644 --- a/_plugins/translation_status.rb +++ b/_plugins/translation_status.rb @@ -8,7 +8,7 @@ module Jekyll # Outputs HTML. module TranslationStatus - LANGS = %w{en de es fr id it ja ko ru vi zh_cn zh_tw} + LANGS = %w{en de es fr id it ja ko pt ru vi zh_cn zh_tw} START_DATE = '2013-04-01' OK_CHAR = '✓' diff --git a/pt/index.html b/pt/index.html index cc15889662..e02c575645 100644 --- a/pt/index.html +++ b/pt/index.html @@ -25,7 +25,7 @@

Ruby é...

--- - +{% comment %}

@@ -38,3 +38,4 @@

Ruby é...

Se você deseja contribuir ou ajudar a melhorar esse site, favor visitar a página do projeto no GitHub.

+{% endcomment %} From baefd72dbabe5c59a08eef28c94e40a073bf1320 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 21:38:48 +0100 Subject: [PATCH 1269/3394] Do not redirect to unmaintained translations Do not automatically redirect from /index.html to unmaintained or outdated translations. Currently this affects pl, tr. Related to #1828. --- index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/index.html b/index.html index 18be31eb27..63073fa12d 100644 --- a/index.html +++ b/index.html @@ -13,10 +13,8 @@ "it": "it", "ja": "ja", "ko": "ko", - "pl": "pl", "pt": "pt", "ru": "ru", - "tr": "tr", "vi": "vi", "zh-CN": "zh_cn", "zh-TW": "zh_tw" From fa3ef0dcd70a3a589be23321fe133f206b7139b3 Mon Sep 17 00:00:00 2001 From: Marcus Stollsteimer Date: Wed, 13 Mar 2019 21:39:00 +0100 Subject: [PATCH 1270/3394] Mark bg, fr, it, ru, vi as unmaintained * add unmaintained notice * do not redirect there from /index.html * update language list for translation_status tag --- _plugins/translation_status.rb | 2 +- bg/index.html | 2 ++ fr/index.html | 2 ++ index.html | 5 ----- it/index.html | 2 ++ ru/index.html | 2 ++ vi/index.html | 2 ++ 7 files changed, 11 insertions(+), 6 deletions(-) diff --git a/_plugins/translation_status.rb b/_plugins/translation_status.rb index 24941bea3d..d7a7801725 100644 --- a/_plugins/translation_status.rb +++ b/_plugins/translation_status.rb @@ -8,7 +8,7 @@ module Jekyll # Outputs HTML. module TranslationStatus - LANGS = %w{en de es fr id it ja ko pt ru vi zh_cn zh_tw} + LANGS = %w[en de es id ja ko pt zh_cn zh_tw] START_DATE = '2013-04-01' OK_CHAR = '✓' diff --git a/bg/index.html b/bg/index.html index a1e8616daf..cacca4bd20 100644 --- a/bg/index.html +++ b/bg/index.html @@ -25,3 +25,5 @@

Ruby e...

--- + +{% include unmaintained.html %} diff --git a/fr/index.html b/fr/index.html index 3136976e86..89cbdc00fd 100644 --- a/fr/index.html +++ b/fr/index.html @@ -25,3 +25,5 @@

Ruby...

--- + +{% include unmaintained.html %} diff --git a/index.html b/index.html index 63073fa12d..4af58b1ad3 100644 --- a/index.html +++ b/index.html @@ -5,17 +5,12 @@ Ruby Programming Language diff --git a/_layouts/default.html b/_layouts/default.html index 1dcd676b34..e963a7ce7a 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -78,7 +78,5 @@

{{ site.data.locales[page.lang].slogan }}

{% include credits.html %} - - {% include analytics.html %} From 16c3252e6cf2144eafc605d573d76a36740b6a15 Mon Sep 17 00:00:00 2001 From: Alexander Ilyin Date: Tue, 2 Nov 2021 23:17:00 +0300 Subject: [PATCH 2355/3394] Prepare ru locale maintained (ru) - set locale to admin/translation-status page - do redirect to locale from /index.html - see #2721 for more details --- _plugins/translation_status.rb | 2 +- index.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/_plugins/translation_status.rb b/_plugins/translation_status.rb index 65732e316b..0e7d1d53d8 100644 --- a/_plugins/translation_status.rb +++ b/_plugins/translation_status.rb @@ -8,7 +8,7 @@ module Jekyll # Outputs HTML. module TranslationStatus - LANGS = %w[en de es id ja ko pt tr zh_cn zh_tw].freeze + LANGS = %w[en de es id ja ko pt ru tr zh_cn zh_tw].freeze START_DATE = "2013-04-01" OK_CHAR = "✓" diff --git a/index.html b/index.html index a3024b2082..ee0dfd348b 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,7 @@ "ja": "ja", "ko": "ko", "pt": "pt", + "ru": "ru", "tr": "tr", "zh-CN": "zh_cn", "zh-TW": "zh_tw" From f5f196e99cf93c820adb4152e876846f9fae240a Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 30 Oct 2021 19:24:34 +0700 Subject: [PATCH 2356/3394] Translate CVE-2021-31799: A command injection vulnerability in RDoc (id) --- ...2021-05-02-os-command-injection-in-rdoc.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 id/news/_posts/2021-05-02-os-command-injection-in-rdoc.md diff --git a/id/news/_posts/2021-05-02-os-command-injection-in-rdoc.md b/id/news/_posts/2021-05-02-os-command-injection-in-rdoc.md new file mode 100644 index 0000000000..1fedaee221 --- /dev/null +++ b/id/news/_posts/2021-05-02-os-command-injection-in-rdoc.md @@ -0,0 +1,54 @@ +--- +layout: news_post +title: "CVE-2021-31799: Sebuah kerentanan command injection pada RDoc" +author: "aycabta" +translator: "meisyal" +date: 2021-05-02 09:00:00 +0000 +tags: security +lang: id +--- + +Ada sebuah kerentanan *Command Injection* pada RDoc yang di-*bundle* dengan +Ruby. Semua pengguna Ruby direkomendasikan untuk memperbarui RDoc ke versi +terbaru untuk memperbaiki kerentanan ini. + +## Detail + +Berikut adalah kerentanan yang telah dilaporkan. + +* [CVE-2021-31799](https://nvd.nist.gov/vuln/detail/CVE-2021-31799) + +RDoc sebelumnya memanggil `Kernel#open` untuk membuat sebuah berkas lokal. Jika +sebuah proyek Ruby memiliki sebuah berkas yang mana nama berkas dimulai dengan +`|` dan diakhiri `tags`, perintah yang mengikuti karater pipa akan dieksekusi. +Sebuah proyek Ruby yang berbahaya bisa saja memanfaatkan ini untuk menjalankan +sebuah perintah yang tidak seharusnya pada seorang pengguna yang mencoba untuk +menjalankan perintah `rdoc`. + +Pengguna Ruby yang terimbas dengan kerentanan ini seharusnya memperbarui RDoc +ke versi terbaru. + +## Versi Terimbas + +* Semua rilis RDoc dari 3.11 sampai 6.3.0 + +## Cara Memperbarui + +Jalankan perintah berikut untuk memperbarui RDoc ke versi terbaru (6.3.1 atau +setelahnya). + +``` +gem install rdoc +``` + +Jika Anda menggunakan *bundler*, mohon tambahkan `gem "rdoc", ">= 6.3.1"` pada +`Gemfile` Anda. + +## Rujukan + +Terima kasih kepada [Alexandr Savca](https://hackerone.com/chinarulezzz) yang +telah melaporkan kerentanan ini. + +## Riwayat + +* Semula dipublikasikan pada 2021-05-02 09:00:00 UTC From b7add26280870083b6eed0d79e18d5ae8da7e5a2 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Sun, 7 Nov 2021 12:51:22 +0900 Subject: [PATCH 2357/3394] CVE-2021-41817: ReDoS of date parsing methods --- ...arsing-method-regexp-dos-cve-2021-41817.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md new file mode 100644 index 0000000000..6918d96ff1 --- /dev/null +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -0,0 +1,34 @@ +--- +layout: news_post +title: "CVE-2021-41817: Regular Expression Denial of Service Vunlerability of Date Parsing Methods" +author: "mame" +translator: +date: 2021-11-15 12:00:00 +0000 +tags: security +lang: en +--- + +Regular expression denial of service vulnerability of date parsing methods was found. An attacker can exploit this vulnerability to cause an effective denial of service. + +## Details + +Date's parsing methods including `Date.parse` are using Regexps internally, some of which are vulnerable against regular expression denial of service. Applications and libraries that apply such methods to untrusted input may be affected. + +The fix limits the input length up to 128 bytes by default instead of changing the regexps. This is because Date gem uses many Regexps and it is possible that there are still undiscovered vulnerable Regexps. For compatibility, it is allowed to remove the limitation by explicitly passing `limit` keywords as `nil` like `Date.parse(str, limit: nil)`, but note that it may take a long time to parse. + +Please update the date gem to version 3.2.1, 3.1.2, 3.0.2, and 2.0.1, or later. You can use `gem update date` to update it. If you are using bundler, please add `gem "date", ">= 3.2.1"` to your `Gemfile`. + +## Affected versions + +* date gem 2.0.0 or prior (which are bundled versions with Ruby 2.6 series) +* date gem 3.0.1 or prior (which are bundled versions with Ruby 2.7 series) +* date gem 3.1.1 or prior (which are bundled versions with Ruby 3.0 series) +* date gem 3.2.0 or prior + +## Credits + +Thanks to [svalkanov](https://hackerone.com/svalkanov) for discovering this issue. + +## History + +* Originally published at 2021-11-15 12:00:00 (UTC) From ac0344657d370cb1d7d2fad64521ebac11b87e05 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Tue, 9 Nov 2021 18:51:11 +0900 Subject: [PATCH 2358/3394] Ruby 3.1.0 Preview 1 Released (#2726) * Ruby 3.1.0 Preview 1 Released * Apply suggestions from code review Co-authored-by: Koichi ITO Co-authored-by: Koichi ITO --- _data/branches.yml | 5 + _data/downloads.yml | 1 + _data/releases.yml | 26 +++ ...2021-11-09-ruby-3-1-0-preview1-released.md | 218 ++++++++++++++++++ 4 files changed, 250 insertions(+) create mode 100644 en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md diff --git a/_data/branches.yml b/_data/branches.yml index 76ed04e496..ebd2220b93 100644 --- a/_data/branches.yml +++ b/_data/branches.yml @@ -8,6 +8,11 @@ # date: date of first stable release (YYYY-MM-DD) # eol_date: date of EOL (YYYY-MM-DD) +- name: 3.1 + status: preview + date: + eol_date: + - name: 3.0 status: normal maintenance date: 2020-12-25 diff --git a/_data/downloads.yml b/_data/downloads.yml index f0926cb30d..ff61bd1094 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -4,6 +4,7 @@ # optional preview: + - 3.1.0-preview1 stable: diff --git a/_data/releases.yml b/_data/releases.yml index 2a33bc205c..b9517dda24 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -19,6 +19,32 @@ # In order to get the release listed on the downloads page, # you also need to add an entry to `_data/downloads.yml'. +# 3.1 series + +- version: 3.1.0-preview1 + date: 2021-11-09 + post: /en/news/2021/11/09/ruby-3-1-0-preview1-released/ + url: + gz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.tar.gz + zip: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.zip + xz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.tar.xz + size: + gz: 20821221 + zip: 25019629 + xz: 15742844 + sha1: + gz: 40dfd3db076a49fab9a0eee51e89d9b3d16a4e23 + zip: ef5fa22890e55935db4b96b3089a8aea1335bd85 + xz: 22aa861b17031cd1b163b7443f5f2f5897c5895e + sha256: + gz: 540f49f4c3aceb1a5d7fb0b8522a04dd96bc4a22f9660a6b59629886c8e010d4 + zip: 4e8d118b2365164873148ac545a8fa36c098b846a9b19ebb9037f8ee9adb4414 + xz: 86a836ad42f6a7a469fce71ffec48fd3184af55bf79e488b568a4f64adee551d + sha512: + gz: 63f528f20905827d03649ed9804e4a4e5c15078f9c6c8efcfb306baa7baafa17a406eb09a2c08b42e151e14af33b1aadbd9fb1cc84f9353d070b54bbf1ff950d + zip: 917803aac0848e00871614a09740b5c9cca26f200d68580dde61666633f1b7fee506e25ea4ed0c38eb20149417bf9f1ed449a4d2aec5b726de670e7177e5c07a + xz: bdbd7c624197ca478658280d84123a8c12ae72425bc566dcc75989c5b5ef114dd57e64efc09e2413ed615d9b47621a70ace0f3612e8ca7ba853822ad9e88c0b0 + # 3.0 series - version: 3.0.2 diff --git a/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md new file mode 100644 index 0000000000..4011a2da87 --- /dev/null +++ b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -0,0 +1,218 @@ +--- +layout: news_post +title: "Ruby 3.1.0 Preview 1 Released" +author: "naruse" +translator: +date: 2021-11-09 00:00:00 +0000 +lang: en +--- + +We are pleased to announce the release of Ruby {{ release.version }}. + +{% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} + + +## YJIT: New experimental in-process JIT compiler + + +Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify. + +Since [Ruby 2.6 introduced MJIT in 2018](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/), its performance greatly improved, and finally [we achieved Ruby3x3 last year](https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/). But even though Optcarrot has shown impressive speedups, the JIT hasn't benefited real world business applications. + +Recently Shopify contributed many Ruby improvements to speed up their Rails application. YJIT is an important contribution, and aims to improve the performance of Rails applications. + +Though MJIT is a method-based JIT compiler and uses an external C compiler, YJIT uses Basic Block Versioning and includes JIT compiler inside it. With Lazy Basic Block Versioning (LBBV) it first compiles the beginning of a method, and incrementally compiles the rest when the type of arguments and variables are dynamically determined. See [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) for a detailed introduction. + +With this technology, YJIT achieves both fast warmup time and performance improvements on most real-world software, up to 22% on railsbench, 39% on liquid-render. + + + +YJIT is still an experimental feature, and as such, it is disabled by default. If you want to use this, specify the `--yjit` command-line option to enable YJIT. It is also limited to macOS & Linux on x86-64 platforms for now. + +* https://bugs.ruby-lang.org/issues/18229 +* https://shopify.engineering/yjit-just-in-time-compiler-cruby +* https://www.youtube.com/watch?v=PBVLf3yfMs8 + +## debug gem: A new debugger + +A new debugger [debug.gem](https://github.com/ruby/debug) is bundled. debug.gem is fast debugger implementation and it provides many features like remote debugging, colorful REPL, IDE (VSCode) integration and more. It replaces `lib/debug.rb` standard library. + +## error_highlight: Fine-grained error location in backtrace + +A built-in gem, error_highlight, has been introduced. It includes fine-grained error location in backtrace: + +``` +$ ruby test.rb +test.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +This gem is enabled by default. You can disable it by using a command-line option `--disable-error_highlight`. See [the repository](https://github.com/ruby/error_highlight) in detail. + +## Irb improvement + +To be described in next preview. + +## Other Notable New Features + +### Language + +* Values in Hash literals and keyword arguments can be omitted. [Feature #14579] + * `{x:, y:}` is a syntax sugar of `{x: x, y: y}`. + * `foo(x:, y:)` is a syntax sugar of `foo(x: x, y: y)`. + +* Pin operator in pattern matching now takes an expression. [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + + +### RBS + +RBS is a language to describe the structure of Ruby programs. See [the repository](https://github.com/ruby/rbs) for detail. + +Updates since Ruby 3.0.0: + +* `rbs collection` has been introduced to manage gems' RBSs. [doc](https://github.com/ruby/rbs/blob/master/docs/collection.md) +* Many signatures for built-in and standard libraries have been added/updated. +* It includes many bug fixes and performance improvements too. + +See [the CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) for more information. + +### TypeProf + +TypeProf is a static type analyzer for Ruby. It generates a prototype of RBS from non-type-annotated Ruby code. See [the document](https://github.com/ruby/typeprof/blob/master/doc/doc.md) for detail. + +Updates since Ruby 3.0.0: + +* [Experimental IDE support](https://github.com/ruby/typeprof/blob/master/doc/ide.md) has been implemented. +* Many bug fixes and performance improvements. + +## Performance improvements + +* MJIT + * For workloads like Rails, the default `--jit-max-cache` is changed from 100 to 10000. + The JIT compiler no longer skips compilation of methods longer than 1000 instructions. + * To support Zeitwerk of Rails, JIT-ed code is no longer cancelled + when a TracePoint for class events is enabled. + +## Other notable changes since 3.0 + +* One-line pattern matching, e.g., `ary => [x, y, z]`, is no longer experimental. +* Multiple assignment evaluation order has been changed slightly. [Bug #4443]] + * `foo[0], bar[0] = baz, qux` was evaluated in order `baz`, `qux`, `foo`, and then `bar` in Ruby 3.0. In Ruby 3.1, it is evaluated in order `foo`, `bar`, `baz`, and then `qux`. +* Variable Width Allocation: Strings (experimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) + +### Standard libraries updates + +* Some standard libraries are updated. + * RubyGems + * Bundler + * RDoc 6.4.0 + * ReLine + * JSON 2.6.0 + * Psych 4.0.2 + * FileUtils 1.6.0 + * Fiddle + * StringIO 3.0.1 + * IO::Console 0.5.9 + * IO::Wait 0.2.0 + * CSV + * Etc 1.3.0 + * Date 3.2.0 + * Zlib 2.1.1 + * StringScanner + * IpAddr + * Logger 1.4.4 + * OStruct 0.5.0 + * Irb + * Racc 1.6.0 + * Delegate 0.2.0 + * Benchmark 0.2.0 + * CGI 0.3.0 + * Readline(C-ext) 0.1.3 + * Timeout 0.2.0 + * YAML 0.2.0 + * URI 0.11.0 + * OpenSSL + * DidYouMean + * Weakref 0.1.1 + * Tempfile 0.1.2 + * TmpDir 0.1.2 + * English 0.7.1 + * Net::Protocol 0.1.2 + * Net::Http 0.2.0 + * BigDecimal + * OptionParser 0.2.0 + * Set + * Find 0.1.1 + * Rinda 0.1.1 + * Erb + * NKF 0.1.1 + * Base64 0.1.1 + * OpenUri 0.2.0 + * SecureRandom 0.1.1 + * Resolv 0.2.1 + * Resolv::Replace 0.1.0 + * Time 0.2.0 + * PP 0.2.1 + * Prettyprint 0.1.1 + * Drb 2.1.0 + * Pathname 0.2.0 + * Digest 3.1.0.pre2 + * Un 0.2.0 +* The following bundled gems are updated. + * minitest 5.14.4 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.0 + * rbs 1.6.2 + * typeprof 0.20.0 +* The following default gems are now bundled gems. + * net-ftp + * net-imap + * net-pop + * net-smtp + * matrix + * prime + +See [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) +or [commit logs](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}) +for more details. + +With those changes, [{{ release.stats.files_changed }} files changed, {{ release.stats.insertions }} insertions(+), {{ release.stats.deletions }} deletions(-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket) +since Ruby 3.0.0! + +## Download + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## What is Ruby + +Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993, +and is now developed as Open Source. It runs on multiple platforms +and is used all over the world especially for web development. From 55cacc1594da88f81d3d2c753dbb102d67676fc3 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Tue, 9 Nov 2021 19:15:52 +0900 Subject: [PATCH 2359/3394] fix _data/releases.yml (#2727) --- _data/releases.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/releases.yml b/_data/releases.yml index b9517dda24..1495ba54d1 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -24,6 +24,11 @@ - version: 3.1.0-preview1 date: 2021-11-09 post: /en/news/2021/11/09/ruby-3-1-0-preview1-released/ + tag: ruby_3_1_0_preview1 + stats: + files_changed: 2963 + insertions: 529321 + deletions: 92305 url: gz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.tar.gz zip: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0-preview1.zip From 0e3dc53ed5ce5d2051d4ce2183b640e0e2afaf5b Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 6 Nov 2021 18:34:26 +0700 Subject: [PATCH 2360/3394] Fix title and link to translated posts (id) --- id/news/_posts/2021-04-05-ruby-2-5-9-released.md | 2 +- id/news/_posts/2021-04-05-ruby-2-6-7-released.md | 4 ++-- id/news/_posts/2021-04-05-ruby-2-7-3-released.md | 2 +- id/news/_posts/2021-04-05-ruby-3-0-1-released.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/id/news/_posts/2021-04-05-ruby-2-5-9-released.md b/id/news/_posts/2021-04-05-ruby-2-5-9-released.md index 6b2b4412da..8fa7d895df 100644 --- a/id/news/_posts/2021-04-05-ruby-2-5-9-released.md +++ b/id/news/_posts/2021-04-05-ruby-2-5-9-released.md @@ -13,7 +13,7 @@ Rilis ini mencakup beberapa perbaikan keamanan. Mohon cek topik-topik di bawah ini untuk lebih detail. * [CVE-2020-25613: Potensi Kerentanan HTTP Request Smuggling pada WEBrick]({%link id/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md %}) -* [CVE-2021-28965: XML round-trip vulnerability in REXML]({% link en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) +* [CVE-2021-28965: Kerentanan XML round-trip pada REXML]({% link id/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) Lihat [commit logs](https://github.com/ruby/ruby/compare/v2_5_8...v2_5_9) untuk detail. diff --git a/id/news/_posts/2021-04-05-ruby-2-6-7-released.md b/id/news/_posts/2021-04-05-ruby-2-6-7-released.md index 9eb9e5ef3f..82a0edb22d 100644 --- a/id/news/_posts/2021-04-05-ruby-2-6-7-released.md +++ b/id/news/_posts/2021-04-05-ruby-2-6-7-released.md @@ -13,7 +13,7 @@ Rilis ini memuat perbaikan keamanan. Mohon cek topik-topik di bawah ini untuk lebih detail. * [CVE-2020-25613: Potensi Kerentanan HTTP Request Smuggling pada WEBrick]({%link id/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md %}) -* [CVE-2021-28965: XML round-trip vulnerability in REXML]({% link id/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) +* [CVE-2021-28965: Kerentanan XML round-trip pada REXML]({% link id/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) Lihat [commit logs](https://github.com/ruby/ruby/compare/v2_6_6...v2_6_7) untuk detail. @@ -66,4 +66,4 @@ Banyak *committer*, pengembang, dan pengguna yang telah menyediakan laporan *bug* membantu kami membuat rilis ini. Terima kasih atas kontribusinya. Perawatan Ruby 2.6, termasuk rilis ini, didasarkan pada "Agreement for the Ruby -stable version" dari Ruby Associaction. +stable version" dari Ruby Association. diff --git a/id/news/_posts/2021-04-05-ruby-2-7-3-released.md b/id/news/_posts/2021-04-05-ruby-2-7-3-released.md index 72ab593135..b8f766b376 100644 --- a/id/news/_posts/2021-04-05-ruby-2-7-3-released.md +++ b/id/news/_posts/2021-04-05-ruby-2-7-3-released.md @@ -13,7 +13,7 @@ Rilis ini mencakup perbaikan keamanan. Mohon cek topik-topik di bawah ini untuk lebih detail. * [CVE-2021-28965: Kerentanan XML round-trip pada REXML]({% link id/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) -* [CVE-2021-28966: Path traversal in Tempfile on Windows]({% link en/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md %}) +* [CVE-2021-28966: Path traversal pada Tempfile di Windows]({% link id/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md %}) Cek [commit logs](https://github.com/ruby/ruby/compare/v2_7_2...v2_7_3) untuk detail. diff --git a/id/news/_posts/2021-04-05-ruby-3-0-1-released.md b/id/news/_posts/2021-04-05-ruby-3-0-1-released.md index 282f9a5822..b18565ffdb 100644 --- a/id/news/_posts/2021-04-05-ruby-3-0-1-released.md +++ b/id/news/_posts/2021-04-05-ruby-3-0-1-released.md @@ -13,7 +13,7 @@ Rilis ini memuat perbaikan keamanan. Mohon cek topik-topik di bawah ini untuk lebih detail. * [CVE-2021-28965: Kerentanan XML round-trip pada REXML]({% link id/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md %}) -* [CVE-2021-28966: Path traversal in Tempfile on Windows]({% link en/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md %}) +* [CVE-2021-28966: Path traversal pada Tempfile di Windows]({% link id/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md %}) Lihat [commit logs](https://github.com/ruby/ruby/compare/v3_0_0...v3_0_1) untuk detail. From c0dc4a3aaad9815263d0aea8304d9d7091336024 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 11 Nov 2021 15:20:36 -0500 Subject: [PATCH 2361/3394] Fix tag name for Ruby 3.1.0-preview1 Links are broken in the release page because the release tag is `v3_1_0_preview1` and not `ruby_3_1_0_preview1`. --- _data/releases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/releases.yml b/_data/releases.yml index 1495ba54d1..15878152b8 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -24,7 +24,7 @@ - version: 3.1.0-preview1 date: 2021-11-09 post: /en/news/2021/11/09/ruby-3-1-0-preview1-released/ - tag: ruby_3_1_0_preview1 + tag: v3_1_0_preview1 stats: files_changed: 2963 insertions: 529321 From 2ce5cd6c8a72592c8e36340ced264ed66e9acc3b Mon Sep 17 00:00:00 2001 From: vurtn Date: Thu, 11 Nov 2021 21:28:10 +0100 Subject: [PATCH 2362/3394] translation of ruby 3.1.0 preview1 (fr) --- ...2021-11-09-ruby-3-1-0-preview1-released.md | 215 ++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 fr/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md diff --git a/fr/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/fr/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md new file mode 100644 index 0000000000..d80e6c8737 --- /dev/null +++ b/fr/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -0,0 +1,215 @@ +--- +layout: news_post +title: "Ruby 3.1.0 Preview 1 est disponible" +author: "naruse" +translator: "Kevin Rosaz" +date: 2021-11-09 00:00:00 +0000 +lang: fr +--- +{% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} + +Nous avons le plaisir de vous annoncer la sortie de Ruby {{ release.version }}. + + +## YJIT: un nouveau compilateur JIT en cours de développement + + +Ruby 3.1 fusionne YJIT, un nouveau compilateur JIT développé par Shopify. + +Depuis que [Ruby 2.6 a introduit MJIT en 2018](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/), ses performances se sont grandement améliorées et [nous sommes parvenus à Ruby3x3 l'année dernière](https://www.ruby-lang.org/fr/news/2020/12/25/ruby-3-0-0-released/). Même si Optcarrot a montré des accélérations impressionnantes, le JIT n'a pas profité aux applications du monde professionnel. + +Récemment, Shopify a apporté de nombreuses améliorations à Ruby pour accélérer son application Rails. YJIT est une contribution importante et vise à améliorer les performances des applications Rails. + +Bien que MJIT soit un compilateur JIT basé sur des méthodes et qu'il utilise un compilateur C externe, YJIT utilise le Basic Block Versioning et inclut le compilateur JIT à l'intérieur. Avec Lazy Basic Block Versioning (LBBV), cela compile d'abord le début d'une méthode et compile progressivement le reste lorsque le type des arguments et des variables est déterminé dynamiquement. Voir [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) pour une introduction détaillée. + +Avec cette technologie, YJIT permet d'avoir à la fois un temps de démarrage rapide et des améliorations de performance sur la plupart des logiciels, jusqu'à 22% sur railsbench et 39% sur le rendu liquid. + + + +YJIT est toujours une fonctionnalité expérimentale. En tant que telle, elle est désactivée par défaut. Si vous souhaitez l'utiliser, spécifiez l'option en ligne de commande `--yjit` pour activer YJIT. L'utilisation est pour le moment limitée à macOS et Linux sur les plateformes x86-64. + +* https://bugs.ruby-lang.org/issues/18229 +* https://shopify.engineering/yjit-just-in-time-compiler-cruby +* https://www.youtube.com/watch?v=PBVLf3yfMs8 + +## debug gem: un nouveau débogueur + +Un nouveau débogueur [debug.gem](https://github.com/ruby/debug) est inclu. debug.gem est une implémentation rapide du débogueur et fournit de nombreuses fonctionnalités telles que le débogage à distance, un REPL coloré, une intégration dans un IDE (VSCode) et bien plus encore. Cela remplace `lib/debug.rb` de la bibliothèque standard. + +## error_highlight: localisation des erreurs plus précise + +La gemme error_highlight a été ajoutée. Elle permet d'obtenir la localisation d'une erreur de manière plus précise dans la trace : + +``` +$ ruby test.rb +test.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +Cette gemme est activée par défaut. Vous pouvez la désactiver en utilisant l'option en ligne de commande `--disable-error_highlight`. Voir [le dépôt](https://github.com/ruby/error_highlight) pour de plus amples informations. + +## Amélioration d'IRB + +À décrire dans le prochain aperçu. + +## Autres nouvelles fonctionnalités notables + +### Language + +* Les valeurs dans les littéraux de hachage peuvent être omis. [Feature #14579] + * `{x:, y:}` est un sucre syntaxique de `{x: x, y: y}`. + * `foo(x:, y:)` est un sucre syntaxique de `foo(x: x, y: y)`. + +* L'opérateur pin dans le filtrage par motif prend désormais une expression. [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + + +### RBS + +RBS est un langage pour décrire la structure des programmes Ruby. Voir [le dépôt](https://github.com/ruby/rbs) pour de plus amples informations. + +Mises à jour depuis Ruby 3.0.0: + +* `rbs collection` a été introduite pour gérer les RBS des gemmes. [doc](https://github.com/ruby/rbs/blob/master/docs/collection.md) +* Plusieurs signatures pour des bibliothèques intégrées et standards ont été ajoutées/mises à jour. +* Il y a également de nombreuses corrections de bogues et d'améliorations de performance. + +Voir [le CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) pour de plus amples informations. + +### TypeProf + +TypeProf est un analyseur de type statique pour Ruby. Il génère un prototype de RBS à partir de code Ruby non annoté de type. Voir [le document](https://github.com/ruby/typeprof/blob/master/doc/doc.md) pour de plus amples informations. + +Mises à jour depuis Ruby 3.0.0 : + +* [Le support expérimental pour IDE](https://github.com/ruby/typeprof/blob/master/doc/ide.md) a été implémenté. +* Il y a également de nombreuses corrections de bogues et d'améliorations de performance. + +## Amélioration de performance + +* MJIT + * Pour les charges de travail telles que Rails, la valeur par défaut `--jit-max-cache` passe de 100 à 10000. + Le compilateur JIT ne saute plus la compilation des méthodes de plus de 1000 instructions. + * Pour prendre en charge Zeitwerk de Rails, le code généré par le compilateur JIT n'est plus annulé + lorsqu'un TracePoint est activé pour les évènements de classe. + +## Autres changements notables depuis la version 3.0 + +* Le filtrage par motif en une ligne, e.g., `ary => [x, y, z]`, n'est plus au stade expérimental. +* L'ordre d'évaluation des affectations multiples a été légèrement modifié. [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443) + * `foo[0], bar[0] = baz, qux` était évalué dans l'ordre `baz`, `qux`, `foo` puis `bar` dans Ruby 3.0. Dans Ruby 3.1, l'évaluation est dans l'ordre `foo`, `bar`, `baz` puis `qux`. +* Allocation de la taille d'une variable: Strings (expérimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) + +### Mises à jour des bibliothèques standards + +* Plusieurs bibliothèques standards ont été mises à jour. + * RubyGems + * Bundler + * RDoc 6.4.0 + * ReLine + * JSON 2.6.0 + * Psych 4.0.2 + * FileUtils 1.6.0 + * Fiddle + * StringIO 3.0.1 + * IO::Console 0.5.9 + * IO::Wait 0.2.0 + * CSV + * Etc 1.3.0 + * Date 3.2.0 + * Zlib 2.1.1 + * StringScanner + * IpAddr + * Logger 1.4.4 + * OStruct 0.5.0 + * Irb + * Racc 1.6.0 + * Delegate 0.2.0 + * Benchmark 0.2.0 + * CGI 0.3.0 + * Readline(C-ext) 0.1.3 + * Timeout 0.2.0 + * YAML 0.2.0 + * URI 0.11.0 + * OpenSSL + * DidYouMean + * Weakref 0.1.1 + * Tempfile 0.1.2 + * TmpDir 0.1.2 + * English 0.7.1 + * Net::Protocol 0.1.2 + * Net::Http 0.2.0 + * BigDecimal + * OptionParser 0.2.0 + * Set + * Find 0.1.1 + * Rinda 0.1.1 + * Erb + * NKF 0.1.1 + * Base64 0.1.1 + * OpenUri 0.2.0 + * SecureRandom 0.1.1 + * Resolv 0.2.1 + * Resolv::Replace 0.1.0 + * Time 0.2.0 + * PP 0.2.1 + * Prettyprint 0.1.1 + * Drb 2.1.0 + * Pathname 0.2.0 + * Digest 3.1.0.pre2 + * Un 0.2.0 +* Les gemmes incluses suivantes ont été mises à jour. + * minitest 5.14.4 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.0 + * rbs 1.6.2 + * typeprof 0.20.0 +* Les gemmes par défaut suivantes sont désormais incluses. + * net-ftp + * net-imap + * net-pop + * net-smtp + * matrix + * prime + +Voir [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) +ou les [logs de commit](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}) +pour de plus amples informations. + +Avec ces changements, [{{ release.stats.files_changed }} fichiers changés, {{ release.stats.insertions }} insertions(+), {{ release.stats.deletions }} suppressions(-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket) +depuis Ruby 3.0.0! + +## Téléchargement + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Ruby, c'est quoi ? + +Ruby a été initialement développé par Matz (Yukihiro Matsumoto) en 1993 puis est devenu open source. Il fonctionne sur de nombreuses plateformes et est utilisé partout dans le monde, en particulier pour le développement web. From d4d072d9f9afce6ab4018ceaab0f4b6a05eb2562 Mon Sep 17 00:00:00 2001 From: vurtn Date: Thu, 11 Nov 2021 21:33:28 +0100 Subject: [PATCH 2363/3394] Add link to bug#4443 --- en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md index 4011a2da87..7904833062 100644 --- a/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md +++ b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -104,7 +104,7 @@ Updates since Ruby 3.0.0: ## Other notable changes since 3.0 * One-line pattern matching, e.g., `ary => [x, y, z]`, is no longer experimental. -* Multiple assignment evaluation order has been changed slightly. [Bug #4443]] +* Multiple assignment evaluation order has been changed slightly. [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443) * `foo[0], bar[0] = baz, qux` was evaluated in order `baz`, `qux`, `foo`, and then `bar` in Ruby 3.0. In Ruby 3.1, it is evaluated in order `foo`, `bar`, `baz`, and then `qux`. * Variable Width Allocation: Strings (experimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) From 4ba077e10411c2a2a1daa5f34c832012bf21d19a Mon Sep 17 00:00:00 2001 From: Jacob Herrington Date: Fri, 12 Nov 2021 18:22:26 +0000 Subject: [PATCH 2364/3394] Add Remote Ruby podcasts After 154 episodes released, I think it is safe to include Remote Ruby in this list. There is a ton of great Ruby-based content being created on the podcast and they were even included in the podcast panel at RubyConf 2021. --- en/community/podcasts/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/en/community/podcasts/index.md b/en/community/podcasts/index.md index ae67b44f8c..0f533be95b 100644 --- a/en/community/podcasts/index.md +++ b/en/community/podcasts/index.md @@ -14,6 +14,10 @@ Listen to news, interviews, and discussions about Ruby and its community. : The Ruby on Rails Podcast, a weekly conversation about Ruby on Rails, open source software, and the programming profession. +[Remote Ruby][remote_ruby] +: Virtual meetup turned podcast, Remote Ruby celebrates and highlights + the Ruby community in an informal setting. + ### Getting Involved Podcast hosts are always looking for guests. If you have some Ruby @@ -21,5 +25,6 @@ wisdom to share, get in touch with the creators of these shows. You can also start your own Ruby podcast and get added to this list! +[remote_ruby]: https://remoteruby.transistor.fm/ [rorpodcast]: http://5by5.tv/rubyonrails [rogues]: https://devchat.tv/ruby-rogues From 4828a3839ad6e008884c2832efced9c1032beef7 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Mon, 15 Nov 2021 15:35:11 +0900 Subject: [PATCH 2365/3394] Fix the URL to the bug founder --- .../2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index 6918d96ff1..68210bd080 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -27,7 +27,7 @@ Please update the date gem to version 3.2.1, 3.1.2, 3.0.2, and 2.0.1, or later. ## Credits -Thanks to [svalkanov](https://hackerone.com/svalkanov) for discovering this issue. +Thanks to [svalkanov](https://github.com/SValkanov/) for discovering this issue. ## History From 10676a0103540b93b4cf4d0fb6108da54156e226 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Mon, 15 Nov 2021 17:28:29 +0900 Subject: [PATCH 2366/3394] Update the release time --- ...021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index 68210bd080..c60ae5f22b 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -3,7 +3,7 @@ layout: news_post title: "CVE-2021-41817: Regular Expression Denial of Service Vunlerability of Date Parsing Methods" author: "mame" translator: -date: 2021-11-15 12:00:00 +0000 +date: 2021-11-15 08:00:00 +0000 tags: security lang: en --- @@ -31,4 +31,4 @@ Thanks to [svalkanov](https://github.com/SValkanov/) for discovering this issue. ## History -* Originally published at 2021-11-15 12:00:00 (UTC) +* Originally published at 2021-11-15 08:00:00 (UTC) From b4785b44bb64686b56ee995243322b080ffcb491 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Mon, 15 Nov 2021 17:35:03 +0900 Subject: [PATCH 2367/3394] Improve English Co-authored-by: Sorah Fukumori --- .../2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index c60ae5f22b..69ff12a426 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -8,7 +8,7 @@ tags: security lang: en --- -Regular expression denial of service vulnerability of date parsing methods was found. An attacker can exploit this vulnerability to cause an effective denial of service. +We have released date gem version 3.2.1, 3.1.2, 3.0.2, and 2.0.1 that include a security fix for a regular expression denial of service vulnerability (ReDoS) on date parsing methods. An attacker can exploit this vulnerability to cause an effective DoS attack. ## Details From 3ccb7c53d187fd0a6bbf6106f15dd174dd65c01d Mon Sep 17 00:00:00 2001 From: "Joseph D. Cohen" Date: Mon, 15 Nov 2021 06:10:31 -0800 Subject: [PATCH 2368/3394] Update 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Fix typo in headline --- .../2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index 69ff12a426..9306b21675 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "CVE-2021-41817: Regular Expression Denial of Service Vunlerability of Date Parsing Methods" +title: "CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods" author: "mame" translator: date: 2021-11-15 08:00:00 +0000 From d5843f78080620394364f9f58d20290a249fd162 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Tue, 16 Nov 2021 13:29:32 +0900 Subject: [PATCH 2369/3394] Fixes #2151 --- _data/locales/ja.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_data/locales/ja.yml b/_data/locales/ja.yml index d671aa0878..54543eef87 100644 --- a/_data/locales/ja.yml +++ b/_data/locales/ja.yml @@ -65,10 +65,10 @@ sidebar: text: 日本Rubyの会 url: http://ruby-no-kai.org/ description: Rubyの利用者/開発者の支援を目的としたグループです。 - weblogs: - text: 更新順リンク - url: http://www.rubyist.net/~kazu/samidare/ - description: Ruby関連のサイトのリンクを更新順に並べたものです。 + # weblogs: + # text: 更新順リンク + # url: http://www.rubyist.net/~kazu/samidare/ + # description: Ruby関連のサイトのリンクを更新順に並べたものです。 # ruby_core: # text: Ruby Core # url: /ja/community/ruby-core/ From fca1542763449250261863927fe1e455e7ca63c1 Mon Sep 17 00:00:00 2001 From: ytjmt <46666464+ytjmt@users.noreply.github.com> Date: Wed, 17 Nov 2021 00:21:45 +0900 Subject: [PATCH 2370/3394] Translate "CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods" (ja) --- ...arsing-method-regexp-dos-cve-2021-41817.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ja/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md diff --git a/ja/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/ja/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md new file mode 100644 index 0000000000..87f5fd3cfa --- /dev/null +++ b/ja/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -0,0 +1,34 @@ +--- +layout: news_post +title: "CVE-2021-41817: 日付をパースするメソッドにおける正規表現 Denial of Service の脆弱性について" +author: "mame" +translator: "ytjmt" +date: 2021-11-15 08:00:00 +0000 +tags: security +lang: ja +--- + +日付をパースするメソッドにおける正規表現 Denial of Service(ReDoS)脆弱性の修正を含む、date gem 3.2.1、3.1.2、3.0.2、2.0.1 をリリースしました。攻撃者はこの脆弱性を悪用し、効果的な DoS 攻撃を引き起こすことができます。 + +## 詳細 + +`Date.parse` を含む、日付をパースするメソッドの内部では正規表現を利用しており、これらには ReDoS 攻撃に対して脆弱なものがあります。信頼できない入力値に対してこれらのメソッドを適用しているアプリケーションおよびライブラリはこの脆弱性の影響を受ける可能性があります。 + +この修正では、正規表現を変更するのではなく、入力値をデフォルトで 128 バイトまでに制限するようにしています。date gem は多くの正規表現を利用しており、脆弱性のある正規表現が他にも潜んでいる可能性があるためです。互換性のため、`Date.parse(str, limit: nil)` のように、`limit` に `nil` を明示的に渡すことでこの制限を除外することができますが、パースに時間がかかる可能性があることに留意してください。 + +date gem を 3.2.1、3.1.2、3.0.2、2.0.1 かそれ以降のバージョンにアップデートしてください。`gem update date` でアップデートできます。もし bundler を使っている場合は、`Gemfile` に `gem "date", ">= 3.2.1"` を追加してください。 + +## 影響を受けるバージョン + +* date gem 2.0.0 およびそれ以前のバージョン(Ruby 2.6 系列にバンドルされているバージョン) +* date gem 3.0.1 およびそれ以前のバージョン(Ruby 2.7 系列にバンドルされているバージョン) +* date gem 3.1.1 およびそれ以前のバージョン(Ruby 3.0 系列にバンドルされているバージョン) +* date gem 3.2.0 およびそれ以前のバージョン + +## クレジット + +この脆弱性情報は、[svalkanov](https://github.com/SValkanov/) 氏によって報告されました。 + +## 更新履歴 + +* 2021-11-15 17:00:00 (JST) 初版 From e873b532af40e4aee365e897d2b0137a5d68fb34 Mon Sep 17 00:00:00 2001 From: Alexander Ilyin Date: Thu, 18 Nov 2021 14:04:20 +0300 Subject: [PATCH 2371/3394] Update link to es/community/ruby-core (es) (#2724) The following issue is completely resolved with #2708. close #2530 --- _data/locales/es.yml | 4 ++-- es/community/index.md | 2 +- es/community/ruby-core/writing-patches/index.md | 5 ++++- es/downloads/index.md | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/_data/locales/es.yml b/_data/locales/es.yml index e193c328f9..78e3defea1 100644 --- a/_data/locales/es.yml +++ b/_data/locales/es.yml @@ -67,8 +67,8 @@ sidebar: url: /en/community/weblogs/ description: Entérate de lo que está sucediendo en la comunidad. ruby_core: - text: Ruby Core (en inglés) - url: /en/community/ruby-core/ + text: Ruby Core + url: /es/community/ruby-core/ description: Ayuda a mejorar el futuro de Ruby. issue_tracking: text: Reportes de errores diff --git a/es/community/index.md b/es/community/index.md index 6519d5a42a..f7ddb68944 100644 --- a/es/community/index.md +++ b/es/community/index.md @@ -29,7 +29,7 @@ donde empezar: : El canal IRC The Ruby Language es un buen lugar para chatear con otros compañeros Rubyistas. -[El Core de Ruby](/en/community/ruby-core/) (en inglés) +[El Core de Ruby](/es/community/ruby-core/) : Con Ruby 2.0 en camino, ahora es un buen momento para seguir cómo va su desarrollo. Si estás interesado en ayudar con Ruby, comienza por aquí. diff --git a/es/community/ruby-core/writing-patches/index.md b/es/community/ruby-core/writing-patches/index.md index 4652a7aa21..e25b2acdd6 100644 --- a/es/community/ruby-core/writing-patches/index.md +++ b/es/community/ruby-core/writing-patches/index.md @@ -42,6 +42,9 @@ en la lista de distribución de Ruby-Core: Un parche que proporciona casos de prueba (preferiblemente un parche para `test/*/test_*.rb`) nos ayudaría a comprender el parche y su intención. -Podríamos pasar a un flujo de trabajo push/pull estilo Git en el futuro.. +Podríamos pasar a un flujo de trabajo push/pull estilo Git en el futuro. Pero hasta entonces, seguir las pautas anteriores te ayudaría a evitar una frustración. + + +[ruby-core-post]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/25139 diff --git a/es/downloads/index.md b/es/downloads/index.md index 80eec23e09..f5fdf3886a 100644 --- a/es/downloads/index.md +++ b/es/downloads/index.md @@ -63,7 +63,7 @@ antes mencionadas. Pueden servirte de ayuda. Puede contener errores, ¡úsalo bajo tu responsabilidad! Para información sobre los repositorios de Subversion y Git, consulta -nuestra página [Ruby core](/en/community/ruby-core/) (en inglés). +nuestra página [Ruby Core](/es/community/ruby-core/). El código fuente de Ruby está disponible desde un conjunto de [sitios espejo][mirrors] a lo largo del mundo. From d68292788396b07e3bc124d1f7a8a253c2ce835e Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 24 Nov 2021 10:26:32 +0900 Subject: [PATCH 2372/3394] update bundles --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ebfc7e5301..a1468eaa52 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,14 +6,14 @@ GEM colorator (1.1.0) concurrent-ruby (1.1.9) crass (1.0.6) - em-websocket (0.5.2) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) + http_parser.rb (~> 0) eventmachine (1.2.7) ffi (1.15.4) forwardable-extended (2.6.0) - http_parser.rb (0.6.0) - i18n (1.8.10) + http_parser.rb (0.8.0) + i18n (1.8.11) concurrent-ruby (~> 1.0) jekyll (4.2.1) addressable (~> 2.4) @@ -122,4 +122,4 @@ RUBY VERSION ruby 3.0.2p107 BUNDLED WITH - 2.2.27 + 2.2.31 From 70f838f342d14b61c1b44b79c946594de485d053 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Tue, 16 Nov 2021 17:48:36 +0900 Subject: [PATCH 2373/3394] Add draft release announcements Two CVEs about cgi gem are included CVE-2021-41816: Buffer Overrun in CGI.escape_html CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse --- ...errun-in-cgi-escape_html-cve-2021-41816.md | 36 +++++++++++ ...fing-in-cgi-cookie-parse-cve-2021-41819.md | 47 +++++++++++++++ .../_posts/2021-11-24-ruby-2-6-9-released.md | 59 +++++++++++++++++++ .../_posts/2021-11-24-ruby-2-7-5-released.md | 58 ++++++++++++++++++ .../_posts/2021-11-24-ruby-3-0-3-released.md | 49 +++++++++++++++ 5 files changed, 249 insertions(+) create mode 100644 en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md create mode 100644 en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md create mode 100644 en/news/_posts/2021-11-24-ruby-2-6-9-released.md create mode 100644 en/news/_posts/2021-11-24-ruby-2-7-5-released.md create mode 100644 en/news/_posts/2021-11-24-ruby-3-0-3-released.md diff --git a/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md new file mode 100644 index 0000000000..295402c7bb --- /dev/null +++ b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -0,0 +1,36 @@ +--- +layout: news_post +title: "CVE-2021-41816: Buffer Overrun in CGI.escape_html +author: "mame" +translator: +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: en +--- + +A buffer overrun vulnerability was discovered in CGI.escape_html. +This vulnerability has been assigned the CVE identifier [CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816). +We strongly recommend upgrading Ruby. + +## Details + +A security vulnerability that causes buffer overflow when you pass a very large string (> 700 MB) to `CGI.escape_html` on a platform where `long` type takes 4 bytes, typically, Windows. + +Please update the cgi gem to version 0.3.1, 0.2,1, and 0.1,1 or later. You can use `gem update cgi` to update it. If you are using bundler, please add `gem "cgi", ">= 0.3.1"` to your `Gemfile`. +Alternatively, please update Ruby to 2.7.5 or 3.0.3. + +This issue has been introduced since Ruby 2.7, so the cgi version bundled with Ruby 2.6 is not vulnerable. + +## Affected versions + +* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series) +* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series) +* cgi gem 0.3.0 or prior + +## Credits + +Thanks to [chamal](https://hackerone.com/chamal) for discovering this issue. + +## History + +* Originally published at 2021-11-24 12:00:00 (UTC) diff --git a/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md b/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md new file mode 100644 index 0000000000..819535495c --- /dev/null +++ b/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md @@ -0,0 +1,47 @@ +--- +layout: news_post +title: "CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse" +author: "mame" +translator: +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: en +--- + +A cookie prefix spoofing vulnerability was discovered in CGI::Cookie.parse. +This vulnerability has been assigned the CVE identifier [CVE-2021-41819](https://nvd.nist.gov/vuln/detail/CVE-2021-41819). +We strongly recommend upgrading Ruby. + +## Details + +The old versions of `CGI::Cookie.parse` applied URL decoding to cookie names. +An attacker could exploit this vulnerability to spoof security prefixes in cookie names, which may be able to trick a vulnerable application. + +By this fix, `CGI::Cookie.parse` no longer decodes cookie names. +Note that this is an incompatibility if cookie names that you are using include non-alphanumeric characters that are URL-encoded. + +This is the same issue of [CVE-2020-8184](https://nvd.nist.gov/vuln/detail/CVE-2020-8184). + +If you are using Ruby 2.7 or 3.0: + +* Please update the cgi gem to version 0.3.1, 0.2,1, and 0.1,1 or later. You can use `gem update cgi` to update it. If you are using bundler, please add `gem "cgi", ">= 0.3.1"` to your `Gemfile`. +* Alternatively, please update Ruby to 2.7.5 or 3.0.3. + +If you are using Ruby 2.6: + +* Please update Ruby to 2.6.9. *You cannot use `gem update cgi` for Ruby 2.6 or prior.* + +## Affected versions + +* ruby 2.6.8 or prior (You can *not* use `gem update cgi` for this version.) +* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series) +* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series) +* cgi gem 0.3.0 or prior + +## Credits + +Thanks to [ooooooo_q](https://hackerone.com/ooooooo_q) for discovering this issue. + +## History + +* Originally published at 2021-11-24 12:00:00 (UTC) diff --git a/en/news/_posts/2021-11-24-ruby-2-6-9-released.md b/en/news/_posts/2021-11-24-ruby-2-6-9-released.md new file mode 100644 index 0000000000..c77b23e7ed --- /dev/null +++ b/en/news/_posts/2021-11-24-ruby-2-6-9-released.md @@ -0,0 +1,59 @@ +--- +layout: news_post +title: "Ruby 2.6.9 Released" +author: "usa" +translator: +date: 2021-11-24 12:00:00 +0000 +lang: en +--- + +Ruby 2.6.9 has been released. + +This release includes security fixes. +Please check the topics below for details. + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +See the [commit logs](https://github.com/ruby/ruby/compare/v2_6_8...v2_6_9) for details. + +Ruby 2.6 is now under the state of the security maintenance phase, until the end of March of 2022. +After that date, maintenance of Ruby 2.6 will be ended. +We recommend you start planning the migration to newer versions of Ruby, such as 3.0 or 2.7. + +## Download + +{% assign release = site.data.releases | where: "version", "2.6.9" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Release Comment + +Many committers, developers, and users who provided bug reports helped us make this release. +Thanks for their contributions. diff --git a/en/news/_posts/2021-11-24-ruby-2-7-5-released.md b/en/news/_posts/2021-11-24-ruby-2-7-5-released.md new file mode 100644 index 0000000000..f1ec0cfee1 --- /dev/null +++ b/en/news/_posts/2021-11-24-ruby-2-7-5-released.md @@ -0,0 +1,58 @@ +--- +layout: news_post +title: "Ruby 2.7.5 Released" +author: "usa" +translator: +date: 2021-11-24 12:00:00 +0000 +lang: en +--- + +Ruby 2.7.5 has been released. + +This release includes security fixes. +Please check the topics below for details. + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link 2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +See the [commit logs](https://github.com/ruby/ruby/compare/v2_7_4...v2_7_5) for details. + +## Download + +{% assign release = site.data.releases | where: "version", "2.7.5" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Release Comment + +Many committers, developers, and users who provided bug reports helped us make this release. +Thanks for their contributions. + +The maintenance of Ruby 2.7, including this release, is based on the "Agreement for the Ruby stable version" of the Ruby Association. diff --git a/en/news/_posts/2021-11-24-ruby-3-0-3-released.md b/en/news/_posts/2021-11-24-ruby-3-0-3-released.md new file mode 100644 index 0000000000..cbfe661807 --- /dev/null +++ b/en/news/_posts/2021-11-24-ruby-3-0-3-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 3.0.3 Released" +author: "nagachika" +translator: +date: 2021-11-24 12:00:00 +0000 +lang: en +--- + +Ruby 3.0.3 has been released. + +This release includes security fixes. +Please check the topics below for details. + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link 2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +See the [commit logs](https://github.com/ruby/ruby/compare/v3_0_2...v3_0_3) for details. + +## Download + +{% assign release = site.data.releases | where: "version", "3.0.3" | first %} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Release Comment + +Many committers, developers, and users who provided bug reports helped us make this release. +Thanks for their contributions. From e0e0676c982108ac81c910bb6aba630bcd91430c Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 24 Nov 2021 21:49:49 +0900 Subject: [PATCH 2374/3394] Update _data/downloads.yml and _data/releases.yml --- _data/downloads.yml | 6 ++-- _data/releases.yml | 82 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 3 deletions(-) diff --git a/_data/downloads.yml b/_data/downloads.yml index ff61bd1094..54a2601a06 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -8,13 +8,13 @@ preview: stable: - - 3.0.2 - - 2.7.4 + - 3.0.3 + - 2.7.5 # optional security_maintenance: - - 2.6.8 + - 2.6.9 # optional eol: diff --git a/_data/releases.yml b/_data/releases.yml index 15878152b8..82ff598065 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -52,6 +52,30 @@ # 3.0 series +- version: 3.0.3 + date: '2021-11-24' + post: "/en/news/2021/11/24/ruby-3-0-3-released/" + url: + gz: https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.zip + size: + gz: 20242729 + xz: 14991880 + zip: 24627744 + sha1: + gz: '049317b7c6246d6ea86564c3f73a629b766ff634' + xz: c1e6dac2b8c08afbbee39e25e325c84e1cab7c17 + zip: 5341ed1602a3289c4857560ead53191895e5c586 + sha256: + gz: 3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac + xz: 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c + zip: 0b8370e404550bf736f46307a14eb9306a7868fb8d54e1418ecdaccbaa8ac06f + sha512: + gz: 39dab51a0d784a38302372b99f96205817d466245202586d22123745761e9cb39db128ec2b984ebc3919b9faf2adf828d19c97d3fb1e56d44be0a81dc5d11b87 + xz: bb9ea426278d5a7ac46595296f03b82d43df8b7db41045cdf85611e05e26c703c53f700494cd7cf5d4c27fa953bdc5c144317d7720812db0a6e3b6f4bc4d2e00 + zip: 24c2a4f455f90e54f85d9565e392519833b36aefce32dc707e6693994d175c82e84ee6c37ed4a9ddf8840479e7cdfaae714c12bc6923368bb00346d4edd434d8 + - version: 3.0.2 date: '2021-07-07' post: "/en/news/2021/07/07/ruby-3-0-2-released/" @@ -220,6 +244,35 @@ # 2.7 series +- version: 2.7.5 + date: '2021-11-24' + post: "/en/news/2021/11/24/ruby-2-7-5-released/" + url: + bz2: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.zip + size: + bz2: 14805180 + gz: 16923709 + xz: 12072980 + zip: 20702176 + sha1: + bz2: 2a179b601f45172b1cb38e8f157c4e6ce272c22c + gz: c2d0f6c793f9e673f9fb22276d32f8c395ec5581 + xz: 1d04fbf24150eaa1297a7ef4c7057ec0a9dca527 + zip: 541b34fa5e7e55b6269a2bfa67e2a06ad0dcb571 + sha256: + bz2: d6b444341a5e06fcd6eaf1feb83a1c0c2da4705dbe4f275ee851761b185f4bd1 + gz: 2755b900a21235b443bb16dadd9032f784d4a88f143d852bc5d154f22b8781f1 + xz: d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516 + zip: 3793d764ec8da68203eba1a7fe338fae9bafa8226cce911c8648c1b7c32ba9c2 + sha512: + bz2: 0aa2ac44bc22859a39c43d08b7c7f457df05c2dc36b2574fd70ca399143ef1000dc5e496212db9eb055bc4258523d47d26db3c57a1a5a5d63cf1b3de9f81645a + gz: '09e029b5cc15b6e4e37bcf15adb28213eaedec3ea22106d63095b37ea6b2a2b68e82e74e6b50746c87dd77e5185795d014e0db118bf0f45ffa0b0a307f5f65da' + xz: 21c8a713e3ce115fc4c405113ac691ddcefc3419f528b93ca1ac59e7052c1b6e9e241da0e570e291e567f28f3d840824dbcc5967b216cbe7d6ca7a05580fa311 + zip: fe9a706f8139e59a40ab205dc88cdc613c9c69186cb2daeb5adc80bdf45290a523fa7e3fd0866fa12325039ba413ff1e1f4233073d352da08079dc903063b31a + - version: 2.7.4 date: '2021-07-07' post: "/en/news/2021/07/07/ruby-2-7-4-released/" @@ -495,6 +548,35 @@ # 2.6 series +- version: 2.6.9 + date: '2021-11-24' + post: "/en/news/2021/11/24/ruby-2-6-9-released/" + url: + bz2: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.bz2 + gz: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.gz + xz: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.xz + zip: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.zip + size: + bz2: 14137792 + gz: 16202802 + xz: 11590064 + zip: 19869379 + sha1: + bz2: a482c36645e7ff4596c6aca2cf96d15481fcfc5e + gz: 00e69747e7e2b87155c65b4003470313e4403b0a + xz: fc67ca162010aac4af49d73a8c48be5cb2fb5907 + zip: 41a60c783306f4b47b867bd19d16688b546b8e3a + sha256: + bz2: a0639060c4519572e51828eb742f09dd40f154c820f6007246de7a2090e3ee45 + gz: eb7bae7aac64bf9eb2153710a4cafae450ccbb62ae6f63d573e1786178b0efbb + xz: 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece + zip: 2480dbdc72d3dc832d8254e938e4861ca54a5337edd6f358e5202fd2a5339eec + sha512: + bz2: ff067ebc059094c0a9a0debf54a37aad2c85f7ed47be59299041c9c03a7701529f5063ff32a1b8c56d48ee8585015acba63602ed0176b2797d263d43d67aa241 + gz: 24bd6c8f528907349bcf392ed75a2d767b93a35a9f4c839267873d1dde862d3292d1682e0edc56c078a2690de76a045ef866f54eab8a330a18771f0b234c5993 + xz: f60aa89e685cea324185eb0d13e6b44caef4e4f761cbf9ea1386ae70e39faf3866ac01e4bb5354574f2583e74290b8c80eaf63d126040d52368be6c771476451 + zip: 9073e0fc5040434f15158f24c6a551286bc5f1c4c1cb54d6e3debb4ac039187a4f274a217bdb5c8489c72360c65d708f89eb0f2472a1f9232fcfee8e296dec57 + - version: 2.6.8 date: '2021-07-07' post: "/en/news/2021/07/07/ruby-2-6-8-released/" From 4bf4abd033de802876e8427560c3815160d81969 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Wed, 24 Nov 2021 21:55:29 +0900 Subject: [PATCH 2375/3394] Fix paths to security announcements --- ...1-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md | 2 +- en/news/_posts/2021-11-24-ruby-2-6-9-released.md | 4 ++-- en/news/_posts/2021-11-24-ruby-2-7-5-released.md | 6 +++--- en/news/_posts/2021-11-24-ruby-3-0-3-released.md | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md index 295402c7bb..d4d131f3e7 100644 --- a/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md +++ b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "CVE-2021-41816: Buffer Overrun in CGI.escape_html +title: "CVE-2021-41816: Buffer Overrun in CGI.escape_html" author: "mame" translator: date: 2021-11-24 12:00:00 +0000 diff --git a/en/news/_posts/2021-11-24-ruby-2-6-9-released.md b/en/news/_posts/2021-11-24-ruby-2-6-9-released.md index c77b23e7ed..d331c95b12 100644 --- a/en/news/_posts/2021-11-24-ruby-2-6-9-released.md +++ b/en/news/_posts/2021-11-24-ruby-2-6-9-released.md @@ -12,8 +12,8 @@ Ruby 2.6.9 has been released. This release includes security fixes. Please check the topics below for details. -* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) -* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) See the [commit logs](https://github.com/ruby/ruby/compare/v2_6_8...v2_6_9) for details. diff --git a/en/news/_posts/2021-11-24-ruby-2-7-5-released.md b/en/news/_posts/2021-11-24-ruby-2-7-5-released.md index f1ec0cfee1..12148db025 100644 --- a/en/news/_posts/2021-11-24-ruby-2-7-5-released.md +++ b/en/news/_posts/2021-11-24-ruby-2-7-5-released.md @@ -12,9 +12,9 @@ Ruby 2.7.5 has been released. This release includes security fixes. Please check the topics below for details. -* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) -* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link 2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) -* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) See the [commit logs](https://github.com/ruby/ruby/compare/v2_7_4...v2_7_5) for details. diff --git a/en/news/_posts/2021-11-24-ruby-3-0-3-released.md b/en/news/_posts/2021-11-24-ruby-3-0-3-released.md index cbfe661807..6f98e03b33 100644 --- a/en/news/_posts/2021-11-24-ruby-3-0-3-released.md +++ b/en/news/_posts/2021-11-24-ruby-3-0-3-released.md @@ -12,9 +12,9 @@ Ruby 3.0.3 has been released. This release includes security fixes. Please check the topics below for details. -* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link 2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) -* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link 2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) -* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link 2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) See the [commit logs](https://github.com/ruby/ruby/compare/v3_0_2...v3_0_3) for details. From 1bc1ca7aa3a699d4aaafaa21455b05b9e62edcee Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Wed, 24 Nov 2021 22:09:28 +0900 Subject: [PATCH 2376/3394] CVE-2021-41817: Mention CVE number --- .../2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 1 + 1 file changed, 1 insertion(+) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index 9306b21675..ba7f5d48c8 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -9,6 +9,7 @@ lang: en --- We have released date gem version 3.2.1, 3.1.2, 3.0.2, and 2.0.1 that include a security fix for a regular expression denial of service vulnerability (ReDoS) on date parsing methods. An attacker can exploit this vulnerability to cause an effective DoS attack. +This vulnerability has been assigned the CVE identifier [CVE-2021-41817](https://nvd.nist.gov/vuln/detail/CVE-2021-41817). ## Details From 02a8c620346bc773df34d4c8ef4ed2593b326afe Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Nov 2021 22:25:14 +0900 Subject: [PATCH 2377/3394] Mention about newer Ruby releases --- ...11-15-date-parsing-method-regexp-dos-cve-2021-41817.md | 8 +++++--- ...24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md | 4 ++-- ...-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md index ba7f5d48c8..a67e911725 100644 --- a/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md +++ b/en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -18,12 +18,13 @@ Date's parsing methods including `Date.parse` are using Regexps internally, some The fix limits the input length up to 128 bytes by default instead of changing the regexps. This is because Date gem uses many Regexps and it is possible that there are still undiscovered vulnerable Regexps. For compatibility, it is allowed to remove the limitation by explicitly passing `limit` keywords as `nil` like `Date.parse(str, limit: nil)`, but note that it may take a long time to parse. Please update the date gem to version 3.2.1, 3.1.2, 3.0.2, and 2.0.1, or later. You can use `gem update date` to update it. If you are using bundler, please add `gem "date", ">= 3.2.1"` to your `Gemfile`. +Alternatively, you can update Ruby to 3.0.3, 2.7.5, 2.6.9 or later. ## Affected versions -* date gem 2.0.0 or prior (which are bundled versions with Ruby 2.6 series) -* date gem 3.0.1 or prior (which are bundled versions with Ruby 2.7 series) -* date gem 3.1.1 or prior (which are bundled versions with Ruby 3.0 series) +* date gem 2.0.0 or prior (which are bundled versions with Ruby 2.6 series prior to Ruby 2.6.9) +* date gem 3.0.1 or prior (which are bundled versions with Ruby 2.7 series prior to Ruby 2.7.5) +* date gem 3.1.1 or prior (which are bundled versions with Ruby 3.0 series prior to Ruby 3.0.3) * date gem 3.2.0 or prior ## Credits @@ -33,3 +34,4 @@ Thanks to [svalkanov](https://github.com/SValkanov/) for discovering this issue. ## History * Originally published at 2021-11-15 08:00:00 (UTC) +* Mention about new Ruby releases at 2021-11-24 13:20:00 (UTC) diff --git a/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md index d4d131f3e7..01fe66fc93 100644 --- a/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md +++ b/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -23,8 +23,8 @@ This issue has been introduced since Ruby 2.7, so the cgi version bundled with R ## Affected versions -* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series) -* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series) +* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series prior to Ruby 2.7.5) +* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series prior to Ruby 3.0.3) * cgi gem 0.3.0 or prior ## Credits diff --git a/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md b/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md index 819535495c..7db6824007 100644 --- a/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md +++ b/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md @@ -34,8 +34,8 @@ If you are using Ruby 2.6: ## Affected versions * ruby 2.6.8 or prior (You can *not* use `gem update cgi` for this version.) -* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series) -* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series) +* cgi gem 0.1.0 or prior (which are bundled versions with Ruby 2.7 series prior to Ruby 2.7.5) +* cgi gem 0.2.0 or prior (which are bundled versions with Ruby 3.0 series prior to Ruby 3.0.3) * cgi gem 0.3.0 or prior ## Credits From ce20e7f9ae6a7ceae9b54843b283727645da338a Mon Sep 17 00:00:00 2001 From: "U.Nakamura" Date: Wed, 24 Nov 2021 22:33:42 +0900 Subject: [PATCH 2378/3394] Japanese translations of Ruby releases --- .../_posts/2021-11-24-ruby-2-6-9-released.md | 59 +++++++++++++++++++ .../_posts/2021-11-24-ruby-2-7-5-released.md | 57 ++++++++++++++++++ .../_posts/2021-11-24-ruby-3-0-3-released.md | 48 +++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 ja/news/_posts/2021-11-24-ruby-2-6-9-released.md create mode 100644 ja/news/_posts/2021-11-24-ruby-2-7-5-released.md create mode 100644 ja/news/_posts/2021-11-24-ruby-3-0-3-released.md diff --git a/ja/news/_posts/2021-11-24-ruby-2-6-9-released.md b/ja/news/_posts/2021-11-24-ruby-2-6-9-released.md new file mode 100644 index 0000000000..54370aec78 --- /dev/null +++ b/ja/news/_posts/2021-11-24-ruby-2-6-9-released.md @@ -0,0 +1,59 @@ +--- +layout: news_post +title: "Ruby 2.6.9 リリース" +author: "usa" +translator: +date: 2021-11-24 12:00:00 +0000 +lang: ja +--- + +Ruby 2.6.9 がリリースされました。 + +このリリースでは以下の脆弱性修正が含まれています。 +詳しくは以下の記事などを参照してください。 + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +詳しくは [commit log](https://github.com/ruby/ruby/compare/v2_6_8...v2_6_9) を参照してください。 + +Ruby 2.6 系列は、現在、セキュリティメンテナンスフェーズにあります。 +このフェーズ中は、重大なセキュリティ上の問題への対応のみが行われます。 +現在の予定では、2022 年 3 月末頃を目処に、2.6 系列のセキュリティメンテナンスならびに公式サポートは終了する見込みです。 +現在、2.6 系列を利用しているユーザーの皆さんは、なるべく早く、3.0 系列等のより新しいバージョン系列の Ruby への移行を検討されるよう、お勧めします。 + +## ダウンロード + +{% assign release = site.data.releases | where: "version", "2.6.9" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## リリースコメント + +このリリースに協力してくださった皆様、特に、脆弱性を報告してくださった方々に深く感謝します。 diff --git a/ja/news/_posts/2021-11-24-ruby-2-7-5-released.md b/ja/news/_posts/2021-11-24-ruby-2-7-5-released.md new file mode 100644 index 0000000000..79f7898c56 --- /dev/null +++ b/ja/news/_posts/2021-11-24-ruby-2-7-5-released.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "Ruby 2.7.5 リリース" +author: "usa" +translator: +date: 2021-11-24 12:00:00 +0000 +lang: ja +--- + +Ruby 2.7.5 がリリースされました。 + +このリリースでは以下の脆弱性修正が含まれています。 +詳しくは以下の記事などを参照してください。 + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +その他の変更については [commit log](https://github.com/ruby/ruby/compare/v2_7_4...v2_7_5) を参照してください。 + +## ダウンロード + +{% assign release = site.data.releases | where: "version", "2.7.5" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## リリースコメント + +Ruby 開発者の皆様、バグや脆弱性を報告してくれたユーザーの皆様のご協力により本リリースは行われています。 皆様のご協力に感謝します。 + +本リリースを含む Ruby 2.7 のメンテナンスは Ruby アソシエーションの「Ruby 安定版保守事業」に基づき行われています。 diff --git a/ja/news/_posts/2021-11-24-ruby-3-0-3-released.md b/ja/news/_posts/2021-11-24-ruby-3-0-3-released.md new file mode 100644 index 0000000000..54e009a6aa --- /dev/null +++ b/ja/news/_posts/2021-11-24-ruby-3-0-3-released.md @@ -0,0 +1,48 @@ +--- +layout: news_post +title: "Ruby 3.0.3 リリース" +author: "nagachika" +translator: "usa" +date: 2021-11-24 12:00:00 +0000 +lang: ja +--- + +Ruby 3.0.3 がリリースされました。 + +このリリースでは以下の脆弱性修正が含まれています。 +詳しくは以下の記事などを参照してください。 + +* [CVE-2021-41817: Regular Expression Denial of Service Vulnerability of Date Parsing Methods]({%link en/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Buffer Overrun in CGI.escape_html]({%link en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse]({%link en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +その他の変更については [commit log](https://github.com/ruby/ruby/compare/v3_0_2...v3_0_3) を参照してください。 + +## ダウンロード + +{% assign release = site.data.releases | where: "version", "3.0.3" | first %} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## リリースコメント + +このリリースにあたり、多くのコミッター、開発者、バグ報告をしてくれたユーザーの皆様に感謝を申し上げます。 From b81a58d0a54adf0c00e6b46a1ab32ceeb274ef89 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Thu, 25 Nov 2021 17:05:38 +0900 Subject: [PATCH 2379/3394] Japanese translation of "CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse" Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md) to ja. --- ...fing-in-cgi-cookie-parse-cve-2021-41819.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 ja/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md diff --git a/ja/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md b/ja/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md new file mode 100644 index 0000000000..5296d1d12f --- /dev/null +++ b/ja/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md @@ -0,0 +1,47 @@ +--- +layout: news_post +title: "CVE-2021-41819: CGI::Cookie.parse 内の Cookie プレフィックスの偽装" +author: "mame" +translator: "jinroq" +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: ja +--- + +CGI :: Cookie.parse 内で Cookie プレフィックスを偽装する脆弱性が発見されました。 +この脆弱性は、[CVE-2021-41819](https://nvd.nist.gov/vuln/detail/CVE-2021-41819) として登録されています。 +Ruby をアップグレードすることを強く推奨します。 + +## 詳細 + +古いバージョンの `CGI :: Cookie.parse` は、Cookie 名 に URL デコード を適用していました。 +ところが、悪意を持った攻撃者はこの脆弱性を利用して Cookie 名のセキュリティプレフィックスを偽装し、脆弱なアプリケーションをだます可能性があります。 + +この修正により、 `CGI :: Cookie.parse` は Cookie 名をデコードしなくなりました。 +使用している Cookie 名に、URL エンコードされた英数字以外の文字が含まれている場合、これは非互換であることに注意してください。 + +これは [CVE-2020-8184](https://nvd.nist.gov/vuln/detail/CVE-2020-8184) と同じ問題です。 + +Ruby 2.7 もしくは 3.0 を使用している場合: + +* cgi gem をバージョン 0.3.1, 0.2.1, 0.1.1 もしくはこれら以上のバージョンに更新してください。 `gem update cgi` を使用して更新できます。bundler を使用している場合は、 `Gemfile` に `gem "cgi", "> = 0.3.1"` を追加してください。 +* または、Ruby を 2.7.5 または 3.0.3 に更新してください。 + +Ruby 2.6 を使用している場合: + +* Rubyを 2.6.9 に更新してください。 *Ruby 2.6 以前では `gem update cgi` は使用できません。* + +## 影響を受けるバージョン + +* ruby​​ 2.6.8 以前(このバージョンでは `gem update cgi` を *使用できません*。) +* cgi gem 0.1.0 以前(Ruby 2.7.5 より前にバンドルされている Ruby 2.7 系列) +* cgi gem 0.2.0 以前(Ruby 3.0.3 より前にバンドルされている Ruby3.0 系列) +* cgi gem 0.3.0 以前 + +## クレジット + +この脆弱性情報は、[ooooooo_q](https://hackerone.com/ooooooo_q) 氏によって報告されました。 + +## 更新履歴 + +* 2021-11-24 21:00:00 (JST) 初版 From 9c7a4efab47960ddbbf17df91090b941f4fd2214 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 16:10:04 +0900 Subject: [PATCH 2380/3394] Fixed a command `gem upgrade rexml` -> `gem update rexml` --- ...4-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md b/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md index f4b0a0acf7..b6225aa9cc 100644 --- a/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md +++ b/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md @@ -29,7 +29,7 @@ If you are using Ruby 2.5.8 or prior: ## Affected versions -* Ruby 2.5.8 or prior (You can NOT use `gem upgrade rexml` for this version.) +* Ruby 2.5.8 or prior (You can NOT use `gem update rexml` for this version.) * Ruby 2.6.6 or prior * Ruby 2.7.2 or prior * Ruby 3.0.0 From af0e7e8562e60de55cd8fb9c3862a0f99d2e0f8c Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 21:21:41 +0900 Subject: [PATCH 2381/3394] Fixed a bug. Fixed a bug that disturbed XXX from being displayed. --- en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md index 7904833062..3afcf4a576 100644 --- a/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md +++ b/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -7,10 +7,9 @@ date: 2021-11-09 00:00:00 +0000 lang: en --- -We are pleased to announce the release of Ruby {{ release.version }}. - {% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} +We are pleased to announce the release of Ruby {{ release.version }}. ## YJIT: New experimental in-process JIT compiler From 879ed2088c32fa8d6cd69712d99993124bb168bf Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 27 Nov 2021 00:48:28 +0900 Subject: [PATCH 2382/3394] Revised the points pointed out in the review. --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index b9aec21a12..38c2aea1c9 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -11,7 +11,9 @@ lang: ja ## 概要 -Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 +この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 + +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated` * `Passing the keyword argument as the last hash parameter is deprecated` @@ -100,13 +102,13 @@ foo(k: 1) #=> {:k=>1} ## Q: 自分のコードはRuby 2.7で動かなくなりますか? -手短かに言うと「壊れない可能性はあります」。 +A: たぶん動きます。 -Ruby 2.7におけるこの変更は、3.0への移行パスとして設計されています。あくまで原則としてですが、Ruby 2.7ではRuby 3.0で変更される振る舞いについてwarningを出すにとどめており、warningの中には私たちが微細とみなしている変更点も若干含まれます。詳しくは後述の「その他の微細な変更点」をご覧ください。 +Ruby 2.7では、原則として、Ruby 3.0で変更される振る舞いについて警告を出すにとどめています。しかし、私たちが軽微とみなした非互換も少しだけ入っています。詳しくは後述の「その他の軽微な変更点」をご覧ください。 -Ruby 2.7では、warningが表示される点と微細な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、warningが表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 +Ruby 2.7では、警告が表示される点と軽微な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、警告が表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 -非推奨のwarningを無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 +非推奨の警告を無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 ## 引数の委譲の扱いについて @@ -162,7 +164,7 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(`**kwargs`を使わないなど)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 +残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(つまり、**kwargsを受け渡ししないスタイル)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 {% highlight ruby %} def ruby2_keywords(*) @@ -186,15 +188,15 @@ foo({}) #=> Ruby 2.7: [] ({}を含んでいない) foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「ない」ことを明示できる) {% endhighlight %} -上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`targe`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 +上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`target`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 上のコードの最下部に書いたように、`**{}`を渡すことでこの問題を回避できます。 -移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6が役目を終えたときに削除される可能性があります。現時点で私たちがおすすめできるのは、キーワード引数を明示的に委譲することです(上述のRuby 3向けのコードを参照)。 +移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6がサポート切れになったあとで削除される可能性があります。そのときになったら、キーワード引数を明示的に委譲することをおすすめします(上述のRuby 3向けのコードを参照)。 -## その他の微細な変更点 +## その他の軽微な変更点 -Ruby 2.7のキーワード引数では、この他に以下の3つのマイナーチェンジが行われています。 +Ruby 2.7のキーワード引数では、この他に以下の3つの軽微な変更が行われています。 ### 1\. キーワード引数で非シンボルキーを利用できるようになった @@ -256,7 +258,7 @@ foo(**empty_hash) なお、`foo(**{})`はRuby 2.6以前とRuby 2.7のどちらの場合も引数を渡さず、`**{}`がパーサーによって削除される点にご注意ください。また、Ruby 2.7以降ではどちらも`**empty_hash`として同じに扱われるので、メソッドにキーワード引数を渡さないようにする指定が楽に行なえます。 -Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡してwarningを表示します。この振る舞いはRuby 3.0で廃止されます。 +Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡して警告を表示します。この振る舞いはRuby 3.0で廃止されます。 {% highlight ruby %} def foo(x) @@ -273,7 +275,7 @@ foo(**empty_hash) ### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される -メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、事実上新機能です)。 +メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、新機能です)。 {% highlight ruby %} def foo(*args, **nil) @@ -283,7 +285,7 @@ foo(k: 1) #=> Ruby 2.7以降: no keywords accepted (ArgumentError) {% endhighlight %} -この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例の他の引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 +この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例のrest引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 {% highlight ruby %} # メソッドは残りの引数を受け取るが、`**nil`はない状態 @@ -307,7 +309,7 @@ foo(k: 1) #=> ArgumentError: unknown keyword k 当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 -自動変換は、オプションの位置引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 +自動変換は、オプション引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 最も混乱を呼ぶケースのひとつを以下に示します。 @@ -345,7 +347,7 @@ foo() #=> Ruby 2.6以前: [{}] #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになり、blockはnilになります。。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 @@ -355,4 +357,4 @@ foo() #=> Ruby 2.6以前: [{}] ## 更新履歴 -* 更新 2019-12-25: 2.7.0-rc2でwarningメッセージが若干変更され、warning抑制APIが追加された。 +* 更新 2019-12-25: 2.7.0-rc2で警告メッセージが若干変更され、警告抑制APIが追加された。 From 6d63b42335fa7eb881aa16c65d0b5f1756f0e269 Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:17 +0900 Subject: [PATCH 2383/3394] Add en doc --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 355 ++++++++++++++++++ 1 file changed, 355 insertions(+) create mode 100644 ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md new file mode 100644 index 0000000000..44cd874cc1 --- /dev/null +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -0,0 +1,355 @@ +--- +layout: news_post +title: "Separation of positional and keyword arguments in Ruby 3.0" +author: "mame" +translator: +date: 2019-12-12 12:00:00 +0000 +lang: en +--- + +This article explains the planned incompatibility of keyword arguments in Ruby 3.0 + +## tl;dr + +In Ruby 3.0, positional arguments and keyword arguments will be separated. Ruby 2.7 will warn for behaviors that will change in Ruby 3.0. If you see the following warnings, you need to update your code: + +* `Using the last argument as keyword parameters is deprecated`, or +* `Passing the keyword argument as the last hash parameter is deprecated`, or +* `Splitting the last argument into positional and keyword parameters is deprecated` + +In most cases, you can avoid the incompatibility by adding the _double splat_ operator. It explicitly specifies passing keyword arguments instead of a `Hash` object. Likewise, you may add braces `{}` to explicitly pass a `Hash` object, instead of keyword arguments. Read the section "Typical cases" below for more details. + +In Ruby 3, a method delegating all arguments must explicitly delegate keyword arguments in addition to positional arguments. If you want to keep the delegation behavior found in Ruby 2.7 and earlier, use `ruby2_keywords`. See the "Handling argument delegation" section below for more details. + +## Typical cases + +Here is the most typical case. You can use double splat operator (`**`) to pass keywords instead of a Hash. + +{% highlight ruby %} +# This method accepts only a keyword argument +def foo(k: 1) + p k +end + +h = { k: 42 } + +# This method call passes a positional Hash argument +# In Ruby 2.7: The Hash is automatically converted to a keyword argument +# In Ruby 3.0: This call raises an ArgumentError +foo(h) + # => demo.rb:11: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call + # demo.rb:2: warning: The called method `foo' is defined here + # 42 + +# If you want to keep the behavior in Ruby 3.0, use double splat +foo(**h) #=> 42 +{% endhighlight %} + +Here is another case. You can use braces (`{}`) to pass a Hash instead of keywords explicitly. + +{% highlight ruby %} +# This method accepts one positional argument and a keyword rest argument +def bar(h, **kwargs) + p h +end + +# This call passes only a keyword argument and no positional arguments +# In Ruby 2.7: The keyword is converted to a positional Hash argument +# In Ruby 3.0: This call raises an ArgumentError +bar(k: 42) + # => demo2.rb:9: warning: Passing the keyword argument as the last hash parameter is deprecated + # demo2.rb:2: warning: The called method `bar' is defined here + # {:k=>42} + +# If you want to keep the behavior in Ruby 3.0, write braces to make it an +# explicit Hash +bar({ k: 42 }) # => {:k=>42} +{% endhighlight %} + +## What is deprecated? + +In Ruby 2, keyword arguments can be treated as the last positional Hash argument and a last positional Hash argument can be treated as keyword arguments. + +Because the automatic conversion is sometimes too complex and troublesome as described in the final section. So it's now deprecated in Ruby 2.7 and will be removed in Ruby 3. In other words, keyword arguments will be completely separated from positional one in Ruby 3. So when you want to pass keyword arguments, you should always use `foo(k: expr)` or `foo(**expr)`. If you want to accept keyword arguments, in principle you should always use `def foo(k: default)` or `def foo(k:)` or `def foo(**kwargs)`. + +Note that Ruby 3.0 doesn't behave differently when calling a method which doesn't accept keyword arguments with keyword arguments. For instance, the following case is not going to be deprecated and will keep working in Ruby 3.0. The keyword arguments are still treated as a positional Hash argument. + +{% highlight ruby %} +def foo(kwargs = {}) + kwargs +end + +foo(k: 1) #=> {:k=>1} +{% endhighlight %} + +This is because this style is used very frequently, and there is no ambiguity in how the argument should be treated. Prohibiting this conversion would result in additional incompatibility for little benefit. + +However, this style is not recommended in new code, unless you are often passing a Hash as a positional argument, and are also using keyword arguments. Otherwise, use double splat: + +{% highlight ruby %} +def foo(**kwargs) + kwargs +end + +foo(k: 1) #=> {:k=>1} +{% endhighlight %} + +## Will my code break on Ruby 2.7? + +A short answer is "maybe not". + +The changes in Ruby 2.7 are designed as a migration path towards 3.0. While in principle, Ruby 2.7 only warns against behaviors that will change in Ruby 3, it includes some incompatible changes we consider to be minor. See the "Other minor changes" section for details. + +Except for the warnings and minor changes, Ruby 2.7 attempts to keep the compatibility with Ruby 2.6. So, your code will probably work on Ruby 2.7, though it may emit warnings. And by running it on Ruby 2.7, you can check if your code is ready for Ruby 3.0. + +If you want to disable the deprecation warnings, please use a command-line argument `-W:no-deprecated` or add `Warning[:deprecated] = false` to your code. + +## Handling argument delegation + +### Ruby 2.6 or prior + +In Ruby 2, you can write a delegation method by accepting a `*rest` argument and a `&block` argument, and passing the two to the target method. In this behavior, the keyword arguments are also implicitly handled by the automatic conversion between positional and keyword arguments. + +{% highlight ruby %} +def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +### Ruby 3 + +You need to explicitly delegate keyword arguments. + +{% highlight ruby %} +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end +{% endhighlight %} + +Alternatively, if you do not need compatibility with Ruby 2.6 or prior and you don't alter any arguments, you can use the new delegation syntax (`...`) that is introduced in Ruby 2.7. + +{% highlight ruby %} +def foo(...) + target(...) +end +{% endhighlight %} + +### Ruby 2.7 + +In short: use `Module#ruby2_keywords` and delegate `*args, &block`. + +{% highlight ruby %} +ruby2_keywords def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +`ruby2_keywords` accepts keyword arguments as the last Hash argument, and passes it as keyword arguments when calling the other method. + +In fact, Ruby 2.7 allows the new style of delegation in many cases. However, there is a known corner case. See the next section. + +### A compatible delegation that works on Ruby 2.6, 2.7 and Ruby 3 + +In short: use `Module#ruby2_keywords` again. + +{% highlight ruby %} +ruby2_keywords def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +Unfortunately, we need to use the old-style delegation (i.e., no `**kwargs`) because Ruby 2.6 or prior does not handle the new delegation style correctly. This is one of the reasons of the keyword argument separation; the details are described in the final section. And `ruby2_keywords` allows you to run the old style even in Ruby 2.7 and 3.0. As there is no `ruby2_keywords` defined in 2.6 or prior, please use the [ruby2_keywords gem](https://rubygems.org/gems/ruby2_keywords) or define it yourself: + +{% highlight ruby %} +def ruby2_keywords(*) +end if RUBY_VERSION < "2.7" +{% endhighlight %} + +--- + +If your code doesn't have to run on Ruby 2.6 or older, you may try the new style in Ruby 2.7. In almost all cases, it works. Note that, however, there are unfortunate corner cases as follows: + +{% highlight ruby %} +def target(*args) + p args +end + +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end + +foo({}) #=> Ruby 2.7: [] ({} is dropped) +foo({}, **{}) #=> Ruby 2.7: [{}] (You can pass {} by explicitly passing "no" keywords) +{% endhighlight %} + +An empty Hash argument is automatically converted and absorbed into `**kwargs`, and the delegation call removes the empty keyword hash, so no argument is passed to `target`. As far as we know, this is the only corner case. + +As noted in the last line, you can work around this issue by using `**{}`. + +If you really worry about the portability, use `ruby2_keywords`. (Acknowledge that Ruby 2.6 or before themselves have tons of corner cases in keyword arguments. :-) +`ruby2_keywords` might be removed in the future after Ruby 2.6 reaches end-of-life. At that point, we recommend to explicitly delegate keyword arguments (see Ruby 3 code above). + +## Other minor changes + +There are three minor changes about keyword arguments in Ruby 2.7. + +### 1. Non-Symbol keys are allowed in keyword arguments + +In Ruby 2.6 or before, only Symbol keys were allowed in keyword arguments. In Ruby 2.7, keyword arguments can use non-Symbol keys. + +{% highlight ruby %} +def foo(**kwargs) + kwargs +end +foo("key" => 42) + #=> Ruby 2.6 or before: ArgumentError: wrong number of arguments + #=> Ruby 2.7 or later: {"key"=>42} +{% endhighlight %} + +If a method accepts both optional and keyword arguments, the Hash object that has both Symbol keys and non-Symbol keys was split in two in Ruby 2.6. In Ruby 2.7, both are accepted as keywords because non-Symbol keys are allowed. + +{% highlight ruby %} +def bar(x=1, **kwargs) + p [x, kwargs] +end + +bar("key" => 42, :sym => 43) + #=> Ruby 2.6: [{"key"=>42}, {:sym=>43}] + #=> Ruby 2.7: [1, {"key"=>42, :sym=>43}] + +# Use braces to keep the behavior +bar({"key" => 42}, :sym => 43) + #=> Ruby 2.6 and 2.7: [{"key"=>42}, {:sym=>43}] +{% endhighlight %} + +Ruby 2.7 still splits hashes with a warning if passing a Hash or keyword arguments with both Symbol and non-Symbol keys to a method that accepts explicit keywords but no keyword rest argument (`**kwargs`). This behavior will be removed in Ruby 3, and an `ArgumentError` will be raised. + +{% highlight ruby %} +def bar(x=1, sym: nil) + p [x, sym] +end + +bar("key" => 42, :sym => 43) +# Ruby 2.6 and 2.7: => [{"key"=>42}, 43] +# Ruby 2.7: warning: Splitting the last argument into positional and keyword parameters is deprecated +# warning: The called method `bar' is defined here +# Ruby 3.0: ArgumentError +{% endhighlight %} + +### 2. Double splat with an empty hash (`**{}`) passes no arguments + +In Ruby 2.6 or before, passing `**empty_hash` passes an empty Hash as a positional argument. In Ruby 2.7 or later, it passes no arguments. + +{% highlight ruby %} +def foo(*args) + args +end + +empty_hash = {} +foo(**empty_hash) + #=> Ruby 2.6 or before: [{}] + #=> Ruby 2.7 or later: [] +{% endhighlight %} + +Note that `foo(**{})` passes nothing in both Ruby 2.6 and 2.7. In Ruby 2.6 and before, `**{}` is removed by the parser, and in Ruby 2.7 and above, it is treated the same as `**empty_hash`, allowing for an easy way to pass no keyword arguments to a method. + +In Ruby 2.7, when calling a method with an insufficient number of required positional arguments, `foo(**empty_hash)` passes an empty hash with a warning emitted, for compatibility with Ruby 2.6. This behavior will be removed in 3.0. + +{% highlight ruby %} +def foo(x) + x +end + +empty_hash = {} +foo(**empty_hash) + #=> Ruby 2.6 or before: {} + #=> Ruby 2.7: warning: Passing the keyword argument as the last hash parameter is deprecated + # warning: The called method `foo' is defined here + #=> Ruby 3.0: ArgumentError: wrong number of arguments +{% endhighlight %} + +### 3. The no-keyword-arguments syntax (`**nil`) is introduced + +You can use `**nil` in a method definition to explicitly mark the method accepts no keyword arguments. Calling such methods with keyword arguments will result in an `ArgumentError`. (This is actually a new feature, not an incompatibility) + +{% highlight ruby %} +def foo(*args, **nil) +end + +foo(k: 1) + #=> Ruby 2.7 or later: no keywords accepted (ArgumentError) +{% endhighlight %} + +This is useful to make it explicit that the method does not accept keyword arguments. Otherwise, the keywords are absorbed in the rest argument in the above example. If you extend a method to accept keyword arguments, the method may have incompatibility as follows: + +{% highlight ruby %} +# If a method accepts rest argument and no `**nil` +def foo(*args) + p args +end + +# Passing keywords are converted to a Hash object (even in Ruby 3.0) +foo(k: 1) #=> [{:k=>1}] + +# If the method is extended to accept a keyword +def foo(*args, mode: false) + p args +end + +# The existing call may break +foo(k: 1) #=> ArgumentError: unknown keyword k +{% endhighlight %} + +## Why we're deprecating the automatic conversion + +The automatic conversion initially appeared to be a good idea, and worked well in many cases. However, it had too many corner cases, and we have received many bug reports about the behavior. + +Automatic conversion does not work well when a method accepts optional positional arguments and keyword arguments. Some people expect the last Hash object to be treated as a positional argument, and others expect it to be converted to keyword arguments. + +Here is one of the most confusing cases: + +{% highlight ruby %} +def foo(x, **kwargs) + p [x, kwargs] +end + +def bar(x=1, **kwargs) + p [x, kwargs] +end + +foo({}) => [{}, {}] +bar({}) => [1, {}] + +bar({}, **{}) => expected: [{}, {}], actual: [1, {}] +{% endhighlight %} + +In Ruby 2, `foo({})` passes an empty hash as a normal argument (i.e., `{}` is assigned to `x`), while `bar({})` passes a keyword argument (i.e, `{}` is assigned to `kwargs`). So `any_method({})` is very ambiguous. + +You may think of `bar({}, **{})` to pass the empty hash to `x` explicitly. Surprisingly, it does not work as you expected; it still prints `[1, {}]` in Ruby 2.6. This is because `**{}` is ignored by the parser in Ruby 2.6, and the first argument `{}` is automatically converted to keywords (`**kwargs`). In this case, you need to call `bar({}, {})`, which is very weird. + +The same issues also apply to methods that accept rest and keyword arguments. This makes explicit delegation of keyword arguments not work. + +{% highlight ruby %} +def target(*args) + p args +end + +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end + +foo() #=> Ruby 2.6 or before: [{}] + #=> Ruby 2.7 or later: [] +{% endhighlight %} + +`foo()` passes no arguments, but `target` receives an empty hash argument in Ruby 2.6. This is because the method `foo` delegates keywords (`**kwargs`) explicitly. When `foo()` is called, `args` is an empty Array, `kwargs` is an empty Hash, and `block` is `nil`. And then `target(*args, **kwargs, &block)` passes an empty Hash as an argument because `**kwargs` is automatically converted to a positional Hash argument. + +The automatic conversion not only confuses people but also makes the method less extensible. See [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183) for more details about the reasons for the change in behavior, and why certain implementation choices were made. + +## Acknowledgment + +This article was kindly reviewed (or even co-authored) by Jeremy Evans and Benoit Daloze. + +## History + +* Updated 2019-12-25: In 2.7.0-rc2, the warning message was slightly changed, and an API to suppress the warnings was added. From f93cd654bd38b0e17b278ddd81087a1f1ba65a72 Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:47 +0900 Subject: [PATCH 2384/3394] Translate "Separation of positional and keyword arguments in Ruby 3.0" --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 195 +++++++++--------- 1 file changed, 99 insertions(+), 96 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 44cd874cc1..5e80e231d5 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -2,77 +2,81 @@ layout: news_post title: "Separation of positional and keyword arguments in Ruby 3.0" author: "mame" -translator: +translator: "hachi8833" date: 2019-12-12 12:00:00 +0000 -lang: en +lang: ja --- -This article explains the planned incompatibility of keyword arguments in Ruby 3.0 +本記事では、Ruby 3.0で予定されているキーワード引数の非互換性について解説します。 -## tl;dr +## 概要 -In Ruby 3.0, positional arguments and keyword arguments will be separated. Ruby 2.7 will warn for behaviors that will change in Ruby 3.0. If you see the following warnings, you need to update your code: +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated`, or * `Passing the keyword argument as the last hash parameter is deprecated`, or * `Splitting the last argument into positional and keyword parameters is deprecated` -In most cases, you can avoid the incompatibility by adding the _double splat_ operator. It explicitly specifies passing keyword arguments instead of a `Hash` object. Likewise, you may add braces `{}` to explicitly pass a `Hash` object, instead of keyword arguments. Read the section "Typical cases" below for more details. +この非互換性は、double splat演算子(`**`)を追加することでほぼ回避できます。これにより、`Hash`オブジェクトではなくキーワード引数を渡すことが明示的に指定されます。同様に、キーワード引数ではなく`Hash`オブジェクトを明示的に渡したい場合は中かっこ(`{}`)を追加できます。詳しくは後述の「典型的なケース」をご覧ください。 -In Ruby 3, a method delegating all arguments must explicitly delegate keyword arguments in addition to positional arguments. If you want to keep the delegation behavior found in Ruby 2.7 and earlier, use `ruby2_keywords`. See the "Handling argument delegation" section below for more details. +Ruby 3では、すべての引数を委譲するメソッドで、位置引数の他に必ずキーワード引数も明示的に委譲しなければなりません。Ruby 2.7以前の委譲の振る舞いを変えたくない場合は、`ruby2_keywords`をお使いください。詳しくは後述の「引数の委譲の扱いについて」をご覧ください。 -## Typical cases +## よくあるケース -Here is the most typical case. You can use double splat operator (`**`) to pass keywords instead of a Hash. +以下はもっともよくあるケースです。Hashではなくキーワードを渡すのにdouble splat演算子(`**`)を使えます。 {% highlight ruby %} -# This method accepts only a keyword argument +# このメソッドはキーワード引数のみを受け取る def foo(k: 1) p k end h = { k: 42 } -# This method call passes a positional Hash argument -# In Ruby 2.7: The Hash is automatically converted to a keyword argument -# In Ruby 3.0: This call raises an ArgumentError +# このメソッド呼び出しは位置引数としてHashを渡している +# Ruby 2.7: このHashは自動でキーワード引数に変換される +# Ruby 3.0: この呼び出しはArgumentErrorになる foo(h) # => demo.rb:11: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call # demo.rb:2: warning: The called method `foo' is defined here # 42 -# If you want to keep the behavior in Ruby 3.0, use double splat +# この振る舞いをRuby 3.0で変えたくない場合はdouble splatを用いる foo(**h) #=> 42 {% endhighlight %} -Here is another case. You can use braces (`{}`) to pass a Hash instead of keywords explicitly. +別の例: キーワード引数ではなくHashを明示的に渡す場合は中かっこ(`{}`)を使います。 {% highlight ruby %} -# This method accepts one positional argument and a keyword rest argument +# このメソッドは位置引数を1個、残りはキーワード引数を受け取る def bar(h, **kwargs) p h end -# This call passes only a keyword argument and no positional arguments -# In Ruby 2.7: The keyword is converted to a positional Hash argument -# In Ruby 3.0: This call raises an ArgumentError +# この呼び出しではキーワード引数のみが渡され、位置引数は渡されない +# Ruby 2.7: このキーワード引数は自動でHash引数に変換される +# Ruby 3.0: この呼び出しはArgumentErrorになる bar(k: 42) # => demo2.rb:9: warning: Passing the keyword argument as the last hash parameter is deprecated # demo2.rb:2: warning: The called method `bar' is defined here # {:k=>42} -# If you want to keep the behavior in Ruby 3.0, write braces to make it an -# explicit Hash +# この振る舞いをRuby 3.0で変えたくない場合は +# 中かっこで明示的にHashにする bar({ k: 42 }) # => {:k=>42} {% endhighlight %} -## What is deprecated? +## どの動作が非推奨になるか -In Ruby 2, keyword arguments can be treated as the last positional Hash argument and a last positional Hash argument can be treated as keyword arguments. +Ruby 2では、キーワード引数が末尾のハッシュ位置引数として扱われることがあります。また、末尾のハッシュ引数がキーワード引数として扱われることもあります。 -Because the automatic conversion is sometimes too complex and troublesome as described in the final section. So it's now deprecated in Ruby 2.7 and will be removed in Ruby 3. In other words, keyword arguments will be completely separated from positional one in Ruby 3. So when you want to pass keyword arguments, you should always use `foo(k: expr)` or `foo(**expr)`. If you want to accept keyword arguments, in principle you should always use `def foo(k: default)` or `def foo(k:)` or `def foo(**kwargs)`. +この自動変換は場合によっては複雑になりすぎてしまい、本記事末尾で後述するようにトラブルの原因になることがあります。そのため、この自動変換をRuby 2.7で非推奨とし、Ruby 3.0で廃止する予定です。言い換えると、Ruby 3.0のキーワード引数は位置引数と完全に分離されることになります。つまり、キーワード引数を渡したい場合は、常に`foo(k: expr)`または`foo(**expr)`の形にすべきです。(メソッド定義で)キーワード引数を受け取りたい場合は、原則として常に以下のいずれかの形にすべきです。 -Note that Ruby 3.0 doesn't behave differently when calling a method which doesn't accept keyword arguments with keyword arguments. For instance, the following case is not going to be deprecated and will keep working in Ruby 3.0. The keyword arguments are still treated as a positional Hash argument. +* `def foo(k: default)` +* `def foo(k:)` +* `def foo(**kwargs)` + +なお、キーワード引数を受け取らないメソッドを呼び出すときにキーワード引数を渡した場合の振る舞いは、Ruby 3.0でも変わらない点にご注意ください。たとえば、以下のケースは非推奨にはならず、Ruby 3.0でも引き続き動作します(このキーワード引数は引き続きHash位置引数として扱われます)。 {% highlight ruby %} def foo(kwargs = {}) @@ -82,9 +86,9 @@ end foo(k: 1) #=> {:k=>1} {% endhighlight %} -This is because this style is used very frequently, and there is no ambiguity in how the argument should be treated. Prohibiting this conversion would result in additional incompatibility for little benefit. +変わらない理由は、このスタイルが非常によく用いられていることと、この呼び出し方法では引数の扱いに曖昧な点がないためです。この振る舞いまで禁止してしまうと、得られるメリットが少ないうえに非互換性がさらに増えてしまいます。 -However, this style is not recommended in new code, unless you are often passing a Hash as a positional argument, and are also using keyword arguments. Otherwise, use double splat: +ただし今後新しいコードを書く場合、このスタイルはおすすめできません(Hashを位置引数として渡す頻度が高く、かつキーワード引数も使う場合を除く)。代わりに、次のようにdouble splat(`**`)をお使いください。 {% highlight ruby %} def foo(**kwargs) @@ -94,21 +98,21 @@ end foo(k: 1) #=> {:k=>1} {% endhighlight %} -## Will my code break on Ruby 2.7? +## Q: 自分のコードはRuby 2.7で動かなくなりますか? -A short answer is "maybe not". +手短かに言うと「壊れない可能性はあります」。 -The changes in Ruby 2.7 are designed as a migration path towards 3.0. While in principle, Ruby 2.7 only warns against behaviors that will change in Ruby 3, it includes some incompatible changes we consider to be minor. See the "Other minor changes" section for details. +Ruby 2.7におけるこの変更は、3.0への移行パスとして設計されています。あくまで原則としてですが、Ruby 2.7ではRuby 3.0で変更される振る舞いについてwarningを出すにとどめており、warningの中には私たちが微細とみなしている変更点も若干含まれます。詳しくは後述の「その他の微細な変更点」をご覧ください。 -Except for the warnings and minor changes, Ruby 2.7 attempts to keep the compatibility with Ruby 2.6. So, your code will probably work on Ruby 2.7, though it may emit warnings. And by running it on Ruby 2.7, you can check if your code is ready for Ruby 3.0. +Ruby 2.7では、warningが表示される点と微細な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、warningが表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 -If you want to disable the deprecation warnings, please use a command-line argument `-W:no-deprecated` or add `Warning[:deprecated] = false` to your code. +非推奨のwarningを無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 -## Handling argument delegation +## 引数の委譲の扱いについて -### Ruby 2.6 or prior +### Ruby 2.6以前の場合 -In Ruby 2, you can write a delegation method by accepting a `*rest` argument and a `&block` argument, and passing the two to the target method. In this behavior, the keyword arguments are also implicitly handled by the automatic conversion between positional and keyword arguments. +Ruby 2では、以下のように1個の`*rest`引数と1個の`&block`引数を受け付けて、この2つの引数を委譲先メソッド(以下の`target`)に渡すことで委譲メソッドを書けます。この振る舞いでは、(1つ以上の)キーワード引数も「位置引数<=>キーワード引数の自動変換」によって暗黙的に扱われます。 {% highlight ruby %} def foo(*args, &block) @@ -116,9 +120,9 @@ def foo(*args, &block) end {% endhighlight %} -### Ruby 3 +### Ruby 3の場合 -You need to explicitly delegate keyword arguments. +以下のようにキーワード引数を明示的に委譲する必要があります。 {% highlight ruby %} def foo(*args, **kwargs, &block) @@ -126,7 +130,7 @@ def foo(*args, **kwargs, &block) end {% endhighlight %} -Alternatively, if you do not need compatibility with Ruby 2.6 or prior and you don't alter any arguments, you can use the new delegation syntax (`...`) that is introduced in Ruby 2.7. +別の方法として、Ruby 2.6以前との互換性を考慮する必要がなく、かつ引数を一切改変しないのであれば、以下のようにRuby 2.7で新しく導入される委譲構文(`...`)を利用できます。 {% highlight ruby %} def foo(...) @@ -134,9 +138,9 @@ def foo(...) end {% endhighlight %} -### Ruby 2.7 +### Ruby 2.7の場合 -In short: use `Module#ruby2_keywords` and delegate `*args, &block`. +手短かに言うと、以下のように`Module#ruby2_keywords`を用い、`*args, &block`を委譲します。 {% highlight ruby %} ruby2_keywords def foo(*args, &block) @@ -144,13 +148,13 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -`ruby2_keywords` accepts keyword arguments as the last Hash argument, and passes it as keyword arguments when calling the other method. +`ruby2_keywords`を指定すると、キーワード引数を末尾のHash引数として受け取れるようになり、他のメソッドを呼び出すときにそれをキーワード引数として渡せます。 -In fact, Ruby 2.7 allows the new style of delegation in many cases. However, there is a known corner case. See the next section. +実際、Ruby 2.7では多くの場面でこの新しい委譲のスタイルを利用できます。ただし1つ既知のエッジケースがあります。次をご覧ください。 -### A compatible delegation that works on Ruby 2.6, 2.7 and Ruby 3 +### Ruby 2.6 / 2.7 / 3で互換性のある委譲スタイル -In short: use `Module#ruby2_keywords` again. +手短かに言うと、ここも「`Module#ruby2_keywords`を使う」となります。 {% highlight ruby %} ruby2_keywords def foo(*args, &block) @@ -158,16 +162,16 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -Unfortunately, we need to use the old-style delegation (i.e., no `**kwargs`) because Ruby 2.6 or prior does not handle the new delegation style correctly. This is one of the reasons of the keyword argument separation; the details are described in the final section. And `ruby2_keywords` allows you to run the old style even in Ruby 2.7 and 3.0. As there is no `ruby2_keywords` defined in 2.6 or prior, please use the [ruby2_keywords gem](https://rubygems.org/gems/ruby2_keywords) or define it yourself: +残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(`**kwargs`を使わないなど)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 {% highlight ruby %} def ruby2_keywords(*) end if RUBY_VERSION < "2.7" {% endhighlight %} ---- +* * * * * -If your code doesn't have to run on Ruby 2.6 or older, you may try the new style in Ruby 2.7. In almost all cases, it works. Note that, however, there are unfortunate corner cases as follows: +自分のコードがRuby 2.6以前で動かなくても構わないのであれば、Ruby 2.7で新しいスタイルを試してもよいでしょう。ほぼほぼ間違いなく動作しますが、以下のようなエッジケースを運悪く踏むこともあります。 {% highlight ruby %} def target(*args) @@ -178,35 +182,34 @@ def foo(*args, **kwargs, &block) target(*args, **kwargs, &block) end -foo({}) #=> Ruby 2.7: [] ({} is dropped) -foo({}, **{}) #=> Ruby 2.7: [{}] (You can pass {} by explicitly passing "no" keywords) +foo({}) #=> Ruby 2.7: [] ({}を含んでいない) +foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「ない」ことを明示できる) {% endhighlight %} -An empty Hash argument is automatically converted and absorbed into `**kwargs`, and the delegation call removes the empty keyword hash, so no argument is passed to `target`. As far as we know, this is the only corner case. +上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`targe`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 -As noted in the last line, you can work around this issue by using `**{}`. +上のコードの最下部に書いたように、`**{}`を渡すことでこの問題を回避できます。 -If you really worry about the portability, use `ruby2_keywords`. (Acknowledge that Ruby 2.6 or before themselves have tons of corner cases in keyword arguments. :-) -`ruby2_keywords` might be removed in the future after Ruby 2.6 reaches end-of-life. At that point, we recommend to explicitly delegate keyword arguments (see Ruby 3 code above). +移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6が役目を終えたときに削除される可能性があります。現時点で私たちがおすすめできるのは、キーワード引数を明示的に委譲することです(上述のRuby 3向けのコードを参照)。 -## Other minor changes +## その他の微細な変更点 -There are three minor changes about keyword arguments in Ruby 2.7. +Ruby 2.7のキーワード引数では、この他に以下の3つのマイナーチェンジが行われています。 -### 1. Non-Symbol keys are allowed in keyword arguments +### 1\. キーワード引数で非シンボルキーを利用できるようになった -In Ruby 2.6 or before, only Symbol keys were allowed in keyword arguments. In Ruby 2.7, keyword arguments can use non-Symbol keys. +Ruby 2.6以前のキーワード引数では、シンボル形式のキーしか利用できませんでした。Ruby 2.7のキーワード引数では、以下のようにシンボル形式でないキーを利用できるようになります。 {% highlight ruby %} def foo(**kwargs) kwargs end foo("key" => 42) - #=> Ruby 2.6 or before: ArgumentError: wrong number of arguments - #=> Ruby 2.7 or later: {"key"=>42} + #=> Ruby 2.6以前: ArgumentError: wrong number of arguments + #=> Ruby 2.7以降: {"key"=>42} {% endhighlight %} -If a method accepts both optional and keyword arguments, the Hash object that has both Symbol keys and non-Symbol keys was split in two in Ruby 2.6. In Ruby 2.7, both are accepted as keywords because non-Symbol keys are allowed. +あるメソッドがオプション引数とキーワード引数を両方とも受け付ける場合、Ruby 2.6では以下のようにシンボル形式のキーと非シンボルキーを両方持つHashオブジェクトが2つに分割されていました。Ruby 2.7では非シンボルキーを利用できるので、どちらも受け取れます。 {% highlight ruby %} def bar(x=1, **kwargs) @@ -217,12 +220,12 @@ bar("key" => 42, :sym => 43) #=> Ruby 2.6: [{"key"=>42}, {:sym=>43}] #=> Ruby 2.7: [1, {"key"=>42, :sym=>43}] -# Use braces to keep the behavior +# 振る舞いを変えたくない場合は中かっこ{}を使う bar({"key" => 42}, :sym => 43) #=> Ruby 2.6 and 2.7: [{"key"=>42}, {:sym=>43}] {% endhighlight %} -Ruby 2.7 still splits hashes with a warning if passing a Hash or keyword arguments with both Symbol and non-Symbol keys to a method that accepts explicit keywords but no keyword rest argument (`**kwargs`). This behavior will be removed in Ruby 3, and an `ArgumentError` will be raised. +Ruby 2.7では、キーワード引数を明示的に受け付けるがキーワードrest引数(`**kwargs`)を受け取らないメソッドに対して、シンボル形式のキーと非シンボルキーが両方混じったHashやキーワード引数を渡すと、引き続きハッシュを分割して警告を表示します。この振る舞いはRuby 3で廃止されて`ArgumentError`にする予定です。 {% highlight ruby %} def bar(x=1, sym: nil) @@ -230,15 +233,15 @@ def bar(x=1, sym: nil) end bar("key" => 42, :sym => 43) -# Ruby 2.6 and 2.7: => [{"key"=>42}, 43] +# Ruby 2.6と2.7: => [{"key"=>42}, 43] # Ruby 2.7: warning: Splitting the last argument into positional and keyword parameters is deprecated # warning: The called method `bar' is defined here # Ruby 3.0: ArgumentError {% endhighlight %} -### 2. Double splat with an empty hash (`**{}`) passes no arguments +### 2\. double splatを付けた空ハッシュ(`**{}`)で引数を渡さないようになった -In Ruby 2.6 or before, passing `**empty_hash` passes an empty Hash as a positional argument. In Ruby 2.7 or later, it passes no arguments. +Ruby 2.6以前は、`**empty_hash`を渡すと位置引数に空のハッシュが渡されました(`[{}]`)。Ruby 2.7以降では引数を渡さなくなります。 {% highlight ruby %} def foo(*args) @@ -247,13 +250,13 @@ end empty_hash = {} foo(**empty_hash) - #=> Ruby 2.6 or before: [{}] - #=> Ruby 2.7 or later: [] + #=> Ruby 2.6以前: [{}] + #=> Ruby 2.7以降: [] {% endhighlight %} -Note that `foo(**{})` passes nothing in both Ruby 2.6 and 2.7. In Ruby 2.6 and before, `**{}` is removed by the parser, and in Ruby 2.7 and above, it is treated the same as `**empty_hash`, allowing for an easy way to pass no keyword arguments to a method. +なお、`foo(**{})`はRuby 2.6以前とRuby 2.7のどちらの場合も引数を渡さず、`**{}`がパーサーによって削除される点にご注意ください。また、Ruby 2.7以降ではどちらも`**empty_hash`として同じに扱われるので、メソッドにキーワード引数を渡さないようにする指定が楽に行なえます。 -In Ruby 2.7, when calling a method with an insufficient number of required positional arguments, `foo(**empty_hash)` passes an empty hash with a warning emitted, for compatibility with Ruby 2.6. This behavior will be removed in 3.0. +Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡してwarningを表示します。この振る舞いはRuby 3.0で廃止されます。 {% highlight ruby %} def foo(x) @@ -262,51 +265,51 @@ end empty_hash = {} foo(**empty_hash) - #=> Ruby 2.6 or before: {} + #=> Ruby 2.6以前: {} #=> Ruby 2.7: warning: Passing the keyword argument as the last hash parameter is deprecated # warning: The called method `foo' is defined here #=> Ruby 3.0: ArgumentError: wrong number of arguments {% endhighlight %} -### 3. The no-keyword-arguments syntax (`**nil`) is introduced +### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される -You can use `**nil` in a method definition to explicitly mark the method accepts no keyword arguments. Calling such methods with keyword arguments will result in an `ArgumentError`. (This is actually a new feature, not an incompatibility) +メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、事実上新機能です)。 {% highlight ruby %} def foo(*args, **nil) end foo(k: 1) - #=> Ruby 2.7 or later: no keywords accepted (ArgumentError) + #=> Ruby 2.7以降: no keywords accepted (ArgumentError) {% endhighlight %} -This is useful to make it explicit that the method does not accept keyword arguments. Otherwise, the keywords are absorbed in the rest argument in the above example. If you extend a method to accept keyword arguments, the method may have incompatibility as follows: +この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例の他の引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 {% highlight ruby %} -# If a method accepts rest argument and no `**nil` +# メソッドは残りの引数を受け取るが、`**nil`はない状態 def foo(*args) p args end -# Passing keywords are converted to a Hash object (even in Ruby 3.0) +# キーワード引数はHashオブジェクトに変換される(Ruby 3.0でも同じ) foo(k: 1) #=> [{:k=>1}] -# If the method is extended to accept a keyword +# メソッドがキーワード引数を受け取るよう拡張した場合 def foo(*args, mode: false) p args end -# The existing call may break +# 以下の呼び出しが壊れる可能性がある foo(k: 1) #=> ArgumentError: unknown keyword k {% endhighlight %} -## Why we're deprecating the automatic conversion +## 自動変換を非推奨に変える理由 -The automatic conversion initially appeared to be a good idea, and worked well in many cases. However, it had too many corner cases, and we have received many bug reports about the behavior. +当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 -Automatic conversion does not work well when a method accepts optional positional arguments and keyword arguments. Some people expect the last Hash object to be treated as a positional argument, and others expect it to be converted to keyword arguments. +自動変換は、オプションの位置引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 -Here is one of the most confusing cases: +最も混乱を呼ぶケースのひとつを以下に示します。 {% highlight ruby %} def foo(x, **kwargs) @@ -317,17 +320,17 @@ def bar(x=1, **kwargs) p [x, kwargs] end -foo({}) => [{}, {}] -bar({}) => [1, {}] +foo({}) #=> [{}, {}] +bar({}) #=> [1, {}] -bar({}, **{}) => expected: [{}, {}], actual: [1, {}] +bar({}, **{}) #=> 期待は: [{}, {}]だが実際はl: [1, {}] {% endhighlight %} -In Ruby 2, `foo({})` passes an empty hash as a normal argument (i.e., `{}` is assigned to `x`), while `bar({})` passes a keyword argument (i.e, `{}` is assigned to `kwargs`). So `any_method({})` is very ambiguous. +Ruby 2の場合、`foo({})`は空のハッシュを通常の引数として1つ渡しますが(`x`に`{}`が代入されるなど)、`bar({})`はキーワード引数を1つ渡します(`kwargs`に`{}`が代入されるなど)。つまり、`any_method({})`は極めてあいまいになります。 -You may think of `bar({}, **{})` to pass the empty hash to `x` explicitly. Surprisingly, it does not work as you expected; it still prints `[1, {}]` in Ruby 2.6. This is because `**{}` is ignored by the parser in Ruby 2.6, and the first argument `{}` is automatically converted to keywords (`**kwargs`). In this case, you need to call `bar({}, {})`, which is very weird. +「`bar({}, **{})`は`x`に明示的に空のハッシュを渡すのでは?」と考える人もいるかもしれませんが、驚いたことに、この期待は裏切られます。Ruby 2.6では`[1, {}]`が出力されるのです。理由は、`**{}`がRuby 2.6のパーサーで無視されるのと、1番目の引数`{}`が自動的にキーワード引数(`**kwargs`)に変換されるためです。この場合`bar({}, {})`という形で呼び出す必要がありますが、これではあまりに見苦しくなります。 -The same issues also apply to methods that accept rest and keyword arguments. This makes explicit delegation of keyword arguments not work. +同じ問題は、残りの引数とキーワード引数を受け取るメソッドにも当てはまります。そのせいで、以下のようなキーワード引数の明示的な委譲は動作しません。 {% highlight ruby %} def target(*args) @@ -338,18 +341,18 @@ def foo(*args, **kwargs, &block) target(*args, **kwargs, &block) end -foo() #=> Ruby 2.6 or before: [{}] - #=> Ruby 2.7 or later: [] +foo() #=> Ruby 2.6以前: [{}] + #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()` passes no arguments, but `target` receives an empty hash argument in Ruby 2.6. This is because the method `foo` delegates keywords (`**kwargs`) explicitly. When `foo()` is called, `args` is an empty Array, `kwargs` is an empty Hash, and `block` is `nil`. And then `target(*args, **kwargs, &block)` passes an empty Hash as an argument because `**kwargs` is automatically converted to a positional Hash argument. +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 -The automatic conversion not only confuses people but also makes the method less extensible. See [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183) for more details about the reasons for the change in behavior, and why certain implementation choices were made. +自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 -## Acknowledgment +## 謝辞 -This article was kindly reviewed (or even co-authored) by Jeremy Evans and Benoit Daloze. +本記事はJeremy EvansとBenoit Dalozeによる丁寧なレビュー(共著と言ってもよいくらいです)をいただきました。 -## History +## 更新履歴 -* Updated 2019-12-25: In 2.7.0-rc2, the warning message was slightly changed, and an API to suppress the warnings was added. +* 更新 2019-12-25: 2.7.0-rc2でwarningメッセージが若干変更され、warning抑制APIが追加された。 From 36c88c2bb991242f7ee04d51666df23d6b2c3d6d Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Thu, 30 Jan 2020 16:49:40 +0900 Subject: [PATCH 2385/3394] Fix untranslated lines --- ...ation-of-positional-and-keyword-arguments-in-ruby-3-0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 5e80e231d5..b9aec21a12 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "Separation of positional and keyword arguments in Ruby 3.0" +title: "Ruby 3.0における位置引数とキーワード引数の分離について" author: "mame" translator: "hachi8833" date: 2019-12-12 12:00:00 +0000 @@ -13,8 +13,8 @@ lang: ja Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 -* `Using the last argument as keyword parameters is deprecated`, or -* `Passing the keyword argument as the last hash parameter is deprecated`, or +* `Using the last argument as keyword parameters is deprecated` +* `Passing the keyword argument as the last hash parameter is deprecated` * `Splitting the last argument into positional and keyword parameters is deprecated` この非互換性は、double splat演算子(`**`)を追加することでほぼ回避できます。これにより、`Hash`オブジェクトではなくキーワード引数を渡すことが明示的に指定されます。同様に、キーワード引数ではなく`Hash`オブジェクトを明示的に渡したい場合は中かっこ(`{}`)を追加できます。詳しくは後述の「典型的なケース」をご覧ください。 From 416344e14125e0d3394aa7c45bdc70fc9bb9b734 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 27 Nov 2021 00:48:28 +0900 Subject: [PATCH 2386/3394] Revised the points pointed out in the review. --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index b9aec21a12..38c2aea1c9 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -11,7 +11,9 @@ lang: ja ## 概要 -Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 +この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 + +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated` * `Passing the keyword argument as the last hash parameter is deprecated` @@ -100,13 +102,13 @@ foo(k: 1) #=> {:k=>1} ## Q: 自分のコードはRuby 2.7で動かなくなりますか? -手短かに言うと「壊れない可能性はあります」。 +A: たぶん動きます。 -Ruby 2.7におけるこの変更は、3.0への移行パスとして設計されています。あくまで原則としてですが、Ruby 2.7ではRuby 3.0で変更される振る舞いについてwarningを出すにとどめており、warningの中には私たちが微細とみなしている変更点も若干含まれます。詳しくは後述の「その他の微細な変更点」をご覧ください。 +Ruby 2.7では、原則として、Ruby 3.0で変更される振る舞いについて警告を出すにとどめています。しかし、私たちが軽微とみなした非互換も少しだけ入っています。詳しくは後述の「その他の軽微な変更点」をご覧ください。 -Ruby 2.7では、warningが表示される点と微細な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、warningが表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 +Ruby 2.7では、警告が表示される点と軽微な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、警告が表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 -非推奨のwarningを無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 +非推奨の警告を無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 ## 引数の委譲の扱いについて @@ -162,7 +164,7 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(`**kwargs`を使わないなど)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 +残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(つまり、**kwargsを受け渡ししないスタイル)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 {% highlight ruby %} def ruby2_keywords(*) @@ -186,15 +188,15 @@ foo({}) #=> Ruby 2.7: [] ({}を含んでいない) foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「ない」ことを明示できる) {% endhighlight %} -上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`targe`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 +上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`target`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 上のコードの最下部に書いたように、`**{}`を渡すことでこの問題を回避できます。 -移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6が役目を終えたときに削除される可能性があります。現時点で私たちがおすすめできるのは、キーワード引数を明示的に委譲することです(上述のRuby 3向けのコードを参照)。 +移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6がサポート切れになったあとで削除される可能性があります。そのときになったら、キーワード引数を明示的に委譲することをおすすめします(上述のRuby 3向けのコードを参照)。 -## その他の微細な変更点 +## その他の軽微な変更点 -Ruby 2.7のキーワード引数では、この他に以下の3つのマイナーチェンジが行われています。 +Ruby 2.7のキーワード引数では、この他に以下の3つの軽微な変更が行われています。 ### 1\. キーワード引数で非シンボルキーを利用できるようになった @@ -256,7 +258,7 @@ foo(**empty_hash) なお、`foo(**{})`はRuby 2.6以前とRuby 2.7のどちらの場合も引数を渡さず、`**{}`がパーサーによって削除される点にご注意ください。また、Ruby 2.7以降ではどちらも`**empty_hash`として同じに扱われるので、メソッドにキーワード引数を渡さないようにする指定が楽に行なえます。 -Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡してwarningを表示します。この振る舞いはRuby 3.0で廃止されます。 +Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡して警告を表示します。この振る舞いはRuby 3.0で廃止されます。 {% highlight ruby %} def foo(x) @@ -273,7 +275,7 @@ foo(**empty_hash) ### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される -メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、事実上新機能です)。 +メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、新機能です)。 {% highlight ruby %} def foo(*args, **nil) @@ -283,7 +285,7 @@ foo(k: 1) #=> Ruby 2.7以降: no keywords accepted (ArgumentError) {% endhighlight %} -この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例の他の引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 +この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例のrest引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 {% highlight ruby %} # メソッドは残りの引数を受け取るが、`**nil`はない状態 @@ -307,7 +309,7 @@ foo(k: 1) #=> ArgumentError: unknown keyword k 当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 -自動変換は、オプションの位置引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 +自動変換は、オプション引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 最も混乱を呼ぶケースのひとつを以下に示します。 @@ -345,7 +347,7 @@ foo() #=> Ruby 2.6以前: [{}] #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになり、blockはnilになります。。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 @@ -355,4 +357,4 @@ foo() #=> Ruby 2.6以前: [{}] ## 更新履歴 -* 更新 2019-12-25: 2.7.0-rc2でwarningメッセージが若干変更され、warning抑制APIが追加された。 +* 更新 2019-12-25: 2.7.0-rc2で警告メッセージが若干変更され、警告抑制APIが追加された。 From 177e9c20ebd9f893fc9c1350840a507230d5d102 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Mon, 29 Nov 2021 09:43:56 +0900 Subject: [PATCH 2387/3394] Markup --- ...eparation-of-positional-and-keyword-arguments-in-ruby-3-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 38c2aea1c9..7b981ae761 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -347,7 +347,7 @@ foo() #=> Ruby 2.6以前: [{}] #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになり、blockはnilになります。。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになり、`block`は`nil`になります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 From 2ddada69b79bbcce70fbf3e8888b7fe805dbf27a Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:17 +0900 Subject: [PATCH 2388/3394] Add en doc --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 355 ++++++++++++++++++ 1 file changed, 355 insertions(+) create mode 100644 ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md new file mode 100644 index 0000000000..44cd874cc1 --- /dev/null +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -0,0 +1,355 @@ +--- +layout: news_post +title: "Separation of positional and keyword arguments in Ruby 3.0" +author: "mame" +translator: +date: 2019-12-12 12:00:00 +0000 +lang: en +--- + +This article explains the planned incompatibility of keyword arguments in Ruby 3.0 + +## tl;dr + +In Ruby 3.0, positional arguments and keyword arguments will be separated. Ruby 2.7 will warn for behaviors that will change in Ruby 3.0. If you see the following warnings, you need to update your code: + +* `Using the last argument as keyword parameters is deprecated`, or +* `Passing the keyword argument as the last hash parameter is deprecated`, or +* `Splitting the last argument into positional and keyword parameters is deprecated` + +In most cases, you can avoid the incompatibility by adding the _double splat_ operator. It explicitly specifies passing keyword arguments instead of a `Hash` object. Likewise, you may add braces `{}` to explicitly pass a `Hash` object, instead of keyword arguments. Read the section "Typical cases" below for more details. + +In Ruby 3, a method delegating all arguments must explicitly delegate keyword arguments in addition to positional arguments. If you want to keep the delegation behavior found in Ruby 2.7 and earlier, use `ruby2_keywords`. See the "Handling argument delegation" section below for more details. + +## Typical cases + +Here is the most typical case. You can use double splat operator (`**`) to pass keywords instead of a Hash. + +{% highlight ruby %} +# This method accepts only a keyword argument +def foo(k: 1) + p k +end + +h = { k: 42 } + +# This method call passes a positional Hash argument +# In Ruby 2.7: The Hash is automatically converted to a keyword argument +# In Ruby 3.0: This call raises an ArgumentError +foo(h) + # => demo.rb:11: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call + # demo.rb:2: warning: The called method `foo' is defined here + # 42 + +# If you want to keep the behavior in Ruby 3.0, use double splat +foo(**h) #=> 42 +{% endhighlight %} + +Here is another case. You can use braces (`{}`) to pass a Hash instead of keywords explicitly. + +{% highlight ruby %} +# This method accepts one positional argument and a keyword rest argument +def bar(h, **kwargs) + p h +end + +# This call passes only a keyword argument and no positional arguments +# In Ruby 2.7: The keyword is converted to a positional Hash argument +# In Ruby 3.0: This call raises an ArgumentError +bar(k: 42) + # => demo2.rb:9: warning: Passing the keyword argument as the last hash parameter is deprecated + # demo2.rb:2: warning: The called method `bar' is defined here + # {:k=>42} + +# If you want to keep the behavior in Ruby 3.0, write braces to make it an +# explicit Hash +bar({ k: 42 }) # => {:k=>42} +{% endhighlight %} + +## What is deprecated? + +In Ruby 2, keyword arguments can be treated as the last positional Hash argument and a last positional Hash argument can be treated as keyword arguments. + +Because the automatic conversion is sometimes too complex and troublesome as described in the final section. So it's now deprecated in Ruby 2.7 and will be removed in Ruby 3. In other words, keyword arguments will be completely separated from positional one in Ruby 3. So when you want to pass keyword arguments, you should always use `foo(k: expr)` or `foo(**expr)`. If you want to accept keyword arguments, in principle you should always use `def foo(k: default)` or `def foo(k:)` or `def foo(**kwargs)`. + +Note that Ruby 3.0 doesn't behave differently when calling a method which doesn't accept keyword arguments with keyword arguments. For instance, the following case is not going to be deprecated and will keep working in Ruby 3.0. The keyword arguments are still treated as a positional Hash argument. + +{% highlight ruby %} +def foo(kwargs = {}) + kwargs +end + +foo(k: 1) #=> {:k=>1} +{% endhighlight %} + +This is because this style is used very frequently, and there is no ambiguity in how the argument should be treated. Prohibiting this conversion would result in additional incompatibility for little benefit. + +However, this style is not recommended in new code, unless you are often passing a Hash as a positional argument, and are also using keyword arguments. Otherwise, use double splat: + +{% highlight ruby %} +def foo(**kwargs) + kwargs +end + +foo(k: 1) #=> {:k=>1} +{% endhighlight %} + +## Will my code break on Ruby 2.7? + +A short answer is "maybe not". + +The changes in Ruby 2.7 are designed as a migration path towards 3.0. While in principle, Ruby 2.7 only warns against behaviors that will change in Ruby 3, it includes some incompatible changes we consider to be minor. See the "Other minor changes" section for details. + +Except for the warnings and minor changes, Ruby 2.7 attempts to keep the compatibility with Ruby 2.6. So, your code will probably work on Ruby 2.7, though it may emit warnings. And by running it on Ruby 2.7, you can check if your code is ready for Ruby 3.0. + +If you want to disable the deprecation warnings, please use a command-line argument `-W:no-deprecated` or add `Warning[:deprecated] = false` to your code. + +## Handling argument delegation + +### Ruby 2.6 or prior + +In Ruby 2, you can write a delegation method by accepting a `*rest` argument and a `&block` argument, and passing the two to the target method. In this behavior, the keyword arguments are also implicitly handled by the automatic conversion between positional and keyword arguments. + +{% highlight ruby %} +def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +### Ruby 3 + +You need to explicitly delegate keyword arguments. + +{% highlight ruby %} +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end +{% endhighlight %} + +Alternatively, if you do not need compatibility with Ruby 2.6 or prior and you don't alter any arguments, you can use the new delegation syntax (`...`) that is introduced in Ruby 2.7. + +{% highlight ruby %} +def foo(...) + target(...) +end +{% endhighlight %} + +### Ruby 2.7 + +In short: use `Module#ruby2_keywords` and delegate `*args, &block`. + +{% highlight ruby %} +ruby2_keywords def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +`ruby2_keywords` accepts keyword arguments as the last Hash argument, and passes it as keyword arguments when calling the other method. + +In fact, Ruby 2.7 allows the new style of delegation in many cases. However, there is a known corner case. See the next section. + +### A compatible delegation that works on Ruby 2.6, 2.7 and Ruby 3 + +In short: use `Module#ruby2_keywords` again. + +{% highlight ruby %} +ruby2_keywords def foo(*args, &block) + target(*args, &block) +end +{% endhighlight %} + +Unfortunately, we need to use the old-style delegation (i.e., no `**kwargs`) because Ruby 2.6 or prior does not handle the new delegation style correctly. This is one of the reasons of the keyword argument separation; the details are described in the final section. And `ruby2_keywords` allows you to run the old style even in Ruby 2.7 and 3.0. As there is no `ruby2_keywords` defined in 2.6 or prior, please use the [ruby2_keywords gem](https://rubygems.org/gems/ruby2_keywords) or define it yourself: + +{% highlight ruby %} +def ruby2_keywords(*) +end if RUBY_VERSION < "2.7" +{% endhighlight %} + +--- + +If your code doesn't have to run on Ruby 2.6 or older, you may try the new style in Ruby 2.7. In almost all cases, it works. Note that, however, there are unfortunate corner cases as follows: + +{% highlight ruby %} +def target(*args) + p args +end + +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end + +foo({}) #=> Ruby 2.7: [] ({} is dropped) +foo({}, **{}) #=> Ruby 2.7: [{}] (You can pass {} by explicitly passing "no" keywords) +{% endhighlight %} + +An empty Hash argument is automatically converted and absorbed into `**kwargs`, and the delegation call removes the empty keyword hash, so no argument is passed to `target`. As far as we know, this is the only corner case. + +As noted in the last line, you can work around this issue by using `**{}`. + +If you really worry about the portability, use `ruby2_keywords`. (Acknowledge that Ruby 2.6 or before themselves have tons of corner cases in keyword arguments. :-) +`ruby2_keywords` might be removed in the future after Ruby 2.6 reaches end-of-life. At that point, we recommend to explicitly delegate keyword arguments (see Ruby 3 code above). + +## Other minor changes + +There are three minor changes about keyword arguments in Ruby 2.7. + +### 1. Non-Symbol keys are allowed in keyword arguments + +In Ruby 2.6 or before, only Symbol keys were allowed in keyword arguments. In Ruby 2.7, keyword arguments can use non-Symbol keys. + +{% highlight ruby %} +def foo(**kwargs) + kwargs +end +foo("key" => 42) + #=> Ruby 2.6 or before: ArgumentError: wrong number of arguments + #=> Ruby 2.7 or later: {"key"=>42} +{% endhighlight %} + +If a method accepts both optional and keyword arguments, the Hash object that has both Symbol keys and non-Symbol keys was split in two in Ruby 2.6. In Ruby 2.7, both are accepted as keywords because non-Symbol keys are allowed. + +{% highlight ruby %} +def bar(x=1, **kwargs) + p [x, kwargs] +end + +bar("key" => 42, :sym => 43) + #=> Ruby 2.6: [{"key"=>42}, {:sym=>43}] + #=> Ruby 2.7: [1, {"key"=>42, :sym=>43}] + +# Use braces to keep the behavior +bar({"key" => 42}, :sym => 43) + #=> Ruby 2.6 and 2.7: [{"key"=>42}, {:sym=>43}] +{% endhighlight %} + +Ruby 2.7 still splits hashes with a warning if passing a Hash or keyword arguments with both Symbol and non-Symbol keys to a method that accepts explicit keywords but no keyword rest argument (`**kwargs`). This behavior will be removed in Ruby 3, and an `ArgumentError` will be raised. + +{% highlight ruby %} +def bar(x=1, sym: nil) + p [x, sym] +end + +bar("key" => 42, :sym => 43) +# Ruby 2.6 and 2.7: => [{"key"=>42}, 43] +# Ruby 2.7: warning: Splitting the last argument into positional and keyword parameters is deprecated +# warning: The called method `bar' is defined here +# Ruby 3.0: ArgumentError +{% endhighlight %} + +### 2. Double splat with an empty hash (`**{}`) passes no arguments + +In Ruby 2.6 or before, passing `**empty_hash` passes an empty Hash as a positional argument. In Ruby 2.7 or later, it passes no arguments. + +{% highlight ruby %} +def foo(*args) + args +end + +empty_hash = {} +foo(**empty_hash) + #=> Ruby 2.6 or before: [{}] + #=> Ruby 2.7 or later: [] +{% endhighlight %} + +Note that `foo(**{})` passes nothing in both Ruby 2.6 and 2.7. In Ruby 2.6 and before, `**{}` is removed by the parser, and in Ruby 2.7 and above, it is treated the same as `**empty_hash`, allowing for an easy way to pass no keyword arguments to a method. + +In Ruby 2.7, when calling a method with an insufficient number of required positional arguments, `foo(**empty_hash)` passes an empty hash with a warning emitted, for compatibility with Ruby 2.6. This behavior will be removed in 3.0. + +{% highlight ruby %} +def foo(x) + x +end + +empty_hash = {} +foo(**empty_hash) + #=> Ruby 2.6 or before: {} + #=> Ruby 2.7: warning: Passing the keyword argument as the last hash parameter is deprecated + # warning: The called method `foo' is defined here + #=> Ruby 3.0: ArgumentError: wrong number of arguments +{% endhighlight %} + +### 3. The no-keyword-arguments syntax (`**nil`) is introduced + +You can use `**nil` in a method definition to explicitly mark the method accepts no keyword arguments. Calling such methods with keyword arguments will result in an `ArgumentError`. (This is actually a new feature, not an incompatibility) + +{% highlight ruby %} +def foo(*args, **nil) +end + +foo(k: 1) + #=> Ruby 2.7 or later: no keywords accepted (ArgumentError) +{% endhighlight %} + +This is useful to make it explicit that the method does not accept keyword arguments. Otherwise, the keywords are absorbed in the rest argument in the above example. If you extend a method to accept keyword arguments, the method may have incompatibility as follows: + +{% highlight ruby %} +# If a method accepts rest argument and no `**nil` +def foo(*args) + p args +end + +# Passing keywords are converted to a Hash object (even in Ruby 3.0) +foo(k: 1) #=> [{:k=>1}] + +# If the method is extended to accept a keyword +def foo(*args, mode: false) + p args +end + +# The existing call may break +foo(k: 1) #=> ArgumentError: unknown keyword k +{% endhighlight %} + +## Why we're deprecating the automatic conversion + +The automatic conversion initially appeared to be a good idea, and worked well in many cases. However, it had too many corner cases, and we have received many bug reports about the behavior. + +Automatic conversion does not work well when a method accepts optional positional arguments and keyword arguments. Some people expect the last Hash object to be treated as a positional argument, and others expect it to be converted to keyword arguments. + +Here is one of the most confusing cases: + +{% highlight ruby %} +def foo(x, **kwargs) + p [x, kwargs] +end + +def bar(x=1, **kwargs) + p [x, kwargs] +end + +foo({}) => [{}, {}] +bar({}) => [1, {}] + +bar({}, **{}) => expected: [{}, {}], actual: [1, {}] +{% endhighlight %} + +In Ruby 2, `foo({})` passes an empty hash as a normal argument (i.e., `{}` is assigned to `x`), while `bar({})` passes a keyword argument (i.e, `{}` is assigned to `kwargs`). So `any_method({})` is very ambiguous. + +You may think of `bar({}, **{})` to pass the empty hash to `x` explicitly. Surprisingly, it does not work as you expected; it still prints `[1, {}]` in Ruby 2.6. This is because `**{}` is ignored by the parser in Ruby 2.6, and the first argument `{}` is automatically converted to keywords (`**kwargs`). In this case, you need to call `bar({}, {})`, which is very weird. + +The same issues also apply to methods that accept rest and keyword arguments. This makes explicit delegation of keyword arguments not work. + +{% highlight ruby %} +def target(*args) + p args +end + +def foo(*args, **kwargs, &block) + target(*args, **kwargs, &block) +end + +foo() #=> Ruby 2.6 or before: [{}] + #=> Ruby 2.7 or later: [] +{% endhighlight %} + +`foo()` passes no arguments, but `target` receives an empty hash argument in Ruby 2.6. This is because the method `foo` delegates keywords (`**kwargs`) explicitly. When `foo()` is called, `args` is an empty Array, `kwargs` is an empty Hash, and `block` is `nil`. And then `target(*args, **kwargs, &block)` passes an empty Hash as an argument because `**kwargs` is automatically converted to a positional Hash argument. + +The automatic conversion not only confuses people but also makes the method less extensible. See [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183) for more details about the reasons for the change in behavior, and why certain implementation choices were made. + +## Acknowledgment + +This article was kindly reviewed (or even co-authored) by Jeremy Evans and Benoit Daloze. + +## History + +* Updated 2019-12-25: In 2.7.0-rc2, the warning message was slightly changed, and an API to suppress the warnings was added. From b98d7083356c9cf8ecab750872108243561e38cb Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:47 +0900 Subject: [PATCH 2389/3394] Translate "Separation of positional and keyword arguments in Ruby 3.0" --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 195 +++++++++--------- 1 file changed, 99 insertions(+), 96 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 44cd874cc1..5e80e231d5 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -2,77 +2,81 @@ layout: news_post title: "Separation of positional and keyword arguments in Ruby 3.0" author: "mame" -translator: +translator: "hachi8833" date: 2019-12-12 12:00:00 +0000 -lang: en +lang: ja --- -This article explains the planned incompatibility of keyword arguments in Ruby 3.0 +本記事では、Ruby 3.0で予定されているキーワード引数の非互換性について解説します。 -## tl;dr +## 概要 -In Ruby 3.0, positional arguments and keyword arguments will be separated. Ruby 2.7 will warn for behaviors that will change in Ruby 3.0. If you see the following warnings, you need to update your code: +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated`, or * `Passing the keyword argument as the last hash parameter is deprecated`, or * `Splitting the last argument into positional and keyword parameters is deprecated` -In most cases, you can avoid the incompatibility by adding the _double splat_ operator. It explicitly specifies passing keyword arguments instead of a `Hash` object. Likewise, you may add braces `{}` to explicitly pass a `Hash` object, instead of keyword arguments. Read the section "Typical cases" below for more details. +この非互換性は、double splat演算子(`**`)を追加することでほぼ回避できます。これにより、`Hash`オブジェクトではなくキーワード引数を渡すことが明示的に指定されます。同様に、キーワード引数ではなく`Hash`オブジェクトを明示的に渡したい場合は中かっこ(`{}`)を追加できます。詳しくは後述の「典型的なケース」をご覧ください。 -In Ruby 3, a method delegating all arguments must explicitly delegate keyword arguments in addition to positional arguments. If you want to keep the delegation behavior found in Ruby 2.7 and earlier, use `ruby2_keywords`. See the "Handling argument delegation" section below for more details. +Ruby 3では、すべての引数を委譲するメソッドで、位置引数の他に必ずキーワード引数も明示的に委譲しなければなりません。Ruby 2.7以前の委譲の振る舞いを変えたくない場合は、`ruby2_keywords`をお使いください。詳しくは後述の「引数の委譲の扱いについて」をご覧ください。 -## Typical cases +## よくあるケース -Here is the most typical case. You can use double splat operator (`**`) to pass keywords instead of a Hash. +以下はもっともよくあるケースです。Hashではなくキーワードを渡すのにdouble splat演算子(`**`)を使えます。 {% highlight ruby %} -# This method accepts only a keyword argument +# このメソッドはキーワード引数のみを受け取る def foo(k: 1) p k end h = { k: 42 } -# This method call passes a positional Hash argument -# In Ruby 2.7: The Hash is automatically converted to a keyword argument -# In Ruby 3.0: This call raises an ArgumentError +# このメソッド呼び出しは位置引数としてHashを渡している +# Ruby 2.7: このHashは自動でキーワード引数に変換される +# Ruby 3.0: この呼び出しはArgumentErrorになる foo(h) # => demo.rb:11: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call # demo.rb:2: warning: The called method `foo' is defined here # 42 -# If you want to keep the behavior in Ruby 3.0, use double splat +# この振る舞いをRuby 3.0で変えたくない場合はdouble splatを用いる foo(**h) #=> 42 {% endhighlight %} -Here is another case. You can use braces (`{}`) to pass a Hash instead of keywords explicitly. +別の例: キーワード引数ではなくHashを明示的に渡す場合は中かっこ(`{}`)を使います。 {% highlight ruby %} -# This method accepts one positional argument and a keyword rest argument +# このメソッドは位置引数を1個、残りはキーワード引数を受け取る def bar(h, **kwargs) p h end -# This call passes only a keyword argument and no positional arguments -# In Ruby 2.7: The keyword is converted to a positional Hash argument -# In Ruby 3.0: This call raises an ArgumentError +# この呼び出しではキーワード引数のみが渡され、位置引数は渡されない +# Ruby 2.7: このキーワード引数は自動でHash引数に変換される +# Ruby 3.0: この呼び出しはArgumentErrorになる bar(k: 42) # => demo2.rb:9: warning: Passing the keyword argument as the last hash parameter is deprecated # demo2.rb:2: warning: The called method `bar' is defined here # {:k=>42} -# If you want to keep the behavior in Ruby 3.0, write braces to make it an -# explicit Hash +# この振る舞いをRuby 3.0で変えたくない場合は +# 中かっこで明示的にHashにする bar({ k: 42 }) # => {:k=>42} {% endhighlight %} -## What is deprecated? +## どの動作が非推奨になるか -In Ruby 2, keyword arguments can be treated as the last positional Hash argument and a last positional Hash argument can be treated as keyword arguments. +Ruby 2では、キーワード引数が末尾のハッシュ位置引数として扱われることがあります。また、末尾のハッシュ引数がキーワード引数として扱われることもあります。 -Because the automatic conversion is sometimes too complex and troublesome as described in the final section. So it's now deprecated in Ruby 2.7 and will be removed in Ruby 3. In other words, keyword arguments will be completely separated from positional one in Ruby 3. So when you want to pass keyword arguments, you should always use `foo(k: expr)` or `foo(**expr)`. If you want to accept keyword arguments, in principle you should always use `def foo(k: default)` or `def foo(k:)` or `def foo(**kwargs)`. +この自動変換は場合によっては複雑になりすぎてしまい、本記事末尾で後述するようにトラブルの原因になることがあります。そのため、この自動変換をRuby 2.7で非推奨とし、Ruby 3.0で廃止する予定です。言い換えると、Ruby 3.0のキーワード引数は位置引数と完全に分離されることになります。つまり、キーワード引数を渡したい場合は、常に`foo(k: expr)`または`foo(**expr)`の形にすべきです。(メソッド定義で)キーワード引数を受け取りたい場合は、原則として常に以下のいずれかの形にすべきです。 -Note that Ruby 3.0 doesn't behave differently when calling a method which doesn't accept keyword arguments with keyword arguments. For instance, the following case is not going to be deprecated and will keep working in Ruby 3.0. The keyword arguments are still treated as a positional Hash argument. +* `def foo(k: default)` +* `def foo(k:)` +* `def foo(**kwargs)` + +なお、キーワード引数を受け取らないメソッドを呼び出すときにキーワード引数を渡した場合の振る舞いは、Ruby 3.0でも変わらない点にご注意ください。たとえば、以下のケースは非推奨にはならず、Ruby 3.0でも引き続き動作します(このキーワード引数は引き続きHash位置引数として扱われます)。 {% highlight ruby %} def foo(kwargs = {}) @@ -82,9 +86,9 @@ end foo(k: 1) #=> {:k=>1} {% endhighlight %} -This is because this style is used very frequently, and there is no ambiguity in how the argument should be treated. Prohibiting this conversion would result in additional incompatibility for little benefit. +変わらない理由は、このスタイルが非常によく用いられていることと、この呼び出し方法では引数の扱いに曖昧な点がないためです。この振る舞いまで禁止してしまうと、得られるメリットが少ないうえに非互換性がさらに増えてしまいます。 -However, this style is not recommended in new code, unless you are often passing a Hash as a positional argument, and are also using keyword arguments. Otherwise, use double splat: +ただし今後新しいコードを書く場合、このスタイルはおすすめできません(Hashを位置引数として渡す頻度が高く、かつキーワード引数も使う場合を除く)。代わりに、次のようにdouble splat(`**`)をお使いください。 {% highlight ruby %} def foo(**kwargs) @@ -94,21 +98,21 @@ end foo(k: 1) #=> {:k=>1} {% endhighlight %} -## Will my code break on Ruby 2.7? +## Q: 自分のコードはRuby 2.7で動かなくなりますか? -A short answer is "maybe not". +手短かに言うと「壊れない可能性はあります」。 -The changes in Ruby 2.7 are designed as a migration path towards 3.0. While in principle, Ruby 2.7 only warns against behaviors that will change in Ruby 3, it includes some incompatible changes we consider to be minor. See the "Other minor changes" section for details. +Ruby 2.7におけるこの変更は、3.0への移行パスとして設計されています。あくまで原則としてですが、Ruby 2.7ではRuby 3.0で変更される振る舞いについてwarningを出すにとどめており、warningの中には私たちが微細とみなしている変更点も若干含まれます。詳しくは後述の「その他の微細な変更点」をご覧ください。 -Except for the warnings and minor changes, Ruby 2.7 attempts to keep the compatibility with Ruby 2.6. So, your code will probably work on Ruby 2.7, though it may emit warnings. And by running it on Ruby 2.7, you can check if your code is ready for Ruby 3.0. +Ruby 2.7では、warningが表示される点と微細な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、warningが表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 -If you want to disable the deprecation warnings, please use a command-line argument `-W:no-deprecated` or add `Warning[:deprecated] = false` to your code. +非推奨のwarningを無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 -## Handling argument delegation +## 引数の委譲の扱いについて -### Ruby 2.6 or prior +### Ruby 2.6以前の場合 -In Ruby 2, you can write a delegation method by accepting a `*rest` argument and a `&block` argument, and passing the two to the target method. In this behavior, the keyword arguments are also implicitly handled by the automatic conversion between positional and keyword arguments. +Ruby 2では、以下のように1個の`*rest`引数と1個の`&block`引数を受け付けて、この2つの引数を委譲先メソッド(以下の`target`)に渡すことで委譲メソッドを書けます。この振る舞いでは、(1つ以上の)キーワード引数も「位置引数<=>キーワード引数の自動変換」によって暗黙的に扱われます。 {% highlight ruby %} def foo(*args, &block) @@ -116,9 +120,9 @@ def foo(*args, &block) end {% endhighlight %} -### Ruby 3 +### Ruby 3の場合 -You need to explicitly delegate keyword arguments. +以下のようにキーワード引数を明示的に委譲する必要があります。 {% highlight ruby %} def foo(*args, **kwargs, &block) @@ -126,7 +130,7 @@ def foo(*args, **kwargs, &block) end {% endhighlight %} -Alternatively, if you do not need compatibility with Ruby 2.6 or prior and you don't alter any arguments, you can use the new delegation syntax (`...`) that is introduced in Ruby 2.7. +別の方法として、Ruby 2.6以前との互換性を考慮する必要がなく、かつ引数を一切改変しないのであれば、以下のようにRuby 2.7で新しく導入される委譲構文(`...`)を利用できます。 {% highlight ruby %} def foo(...) @@ -134,9 +138,9 @@ def foo(...) end {% endhighlight %} -### Ruby 2.7 +### Ruby 2.7の場合 -In short: use `Module#ruby2_keywords` and delegate `*args, &block`. +手短かに言うと、以下のように`Module#ruby2_keywords`を用い、`*args, &block`を委譲します。 {% highlight ruby %} ruby2_keywords def foo(*args, &block) @@ -144,13 +148,13 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -`ruby2_keywords` accepts keyword arguments as the last Hash argument, and passes it as keyword arguments when calling the other method. +`ruby2_keywords`を指定すると、キーワード引数を末尾のHash引数として受け取れるようになり、他のメソッドを呼び出すときにそれをキーワード引数として渡せます。 -In fact, Ruby 2.7 allows the new style of delegation in many cases. However, there is a known corner case. See the next section. +実際、Ruby 2.7では多くの場面でこの新しい委譲のスタイルを利用できます。ただし1つ既知のエッジケースがあります。次をご覧ください。 -### A compatible delegation that works on Ruby 2.6, 2.7 and Ruby 3 +### Ruby 2.6 / 2.7 / 3で互換性のある委譲スタイル -In short: use `Module#ruby2_keywords` again. +手短かに言うと、ここも「`Module#ruby2_keywords`を使う」となります。 {% highlight ruby %} ruby2_keywords def foo(*args, &block) @@ -158,16 +162,16 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -Unfortunately, we need to use the old-style delegation (i.e., no `**kwargs`) because Ruby 2.6 or prior does not handle the new delegation style correctly. This is one of the reasons of the keyword argument separation; the details are described in the final section. And `ruby2_keywords` allows you to run the old style even in Ruby 2.7 and 3.0. As there is no `ruby2_keywords` defined in 2.6 or prior, please use the [ruby2_keywords gem](https://rubygems.org/gems/ruby2_keywords) or define it yourself: +残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(`**kwargs`を使わないなど)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 {% highlight ruby %} def ruby2_keywords(*) end if RUBY_VERSION < "2.7" {% endhighlight %} ---- +* * * * * -If your code doesn't have to run on Ruby 2.6 or older, you may try the new style in Ruby 2.7. In almost all cases, it works. Note that, however, there are unfortunate corner cases as follows: +自分のコードがRuby 2.6以前で動かなくても構わないのであれば、Ruby 2.7で新しいスタイルを試してもよいでしょう。ほぼほぼ間違いなく動作しますが、以下のようなエッジケースを運悪く踏むこともあります。 {% highlight ruby %} def target(*args) @@ -178,35 +182,34 @@ def foo(*args, **kwargs, &block) target(*args, **kwargs, &block) end -foo({}) #=> Ruby 2.7: [] ({} is dropped) -foo({}, **{}) #=> Ruby 2.7: [{}] (You can pass {} by explicitly passing "no" keywords) +foo({}) #=> Ruby 2.7: [] ({}を含んでいない) +foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「ない」ことを明示できる) {% endhighlight %} -An empty Hash argument is automatically converted and absorbed into `**kwargs`, and the delegation call removes the empty keyword hash, so no argument is passed to `target`. As far as we know, this is the only corner case. +上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`targe`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 -As noted in the last line, you can work around this issue by using `**{}`. +上のコードの最下部に書いたように、`**{}`を渡すことでこの問題を回避できます。 -If you really worry about the portability, use `ruby2_keywords`. (Acknowledge that Ruby 2.6 or before themselves have tons of corner cases in keyword arguments. :-) -`ruby2_keywords` might be removed in the future after Ruby 2.6 reaches end-of-life. At that point, we recommend to explicitly delegate keyword arguments (see Ruby 3 code above). +移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6が役目を終えたときに削除される可能性があります。現時点で私たちがおすすめできるのは、キーワード引数を明示的に委譲することです(上述のRuby 3向けのコードを参照)。 -## Other minor changes +## その他の微細な変更点 -There are three minor changes about keyword arguments in Ruby 2.7. +Ruby 2.7のキーワード引数では、この他に以下の3つのマイナーチェンジが行われています。 -### 1. Non-Symbol keys are allowed in keyword arguments +### 1\. キーワード引数で非シンボルキーを利用できるようになった -In Ruby 2.6 or before, only Symbol keys were allowed in keyword arguments. In Ruby 2.7, keyword arguments can use non-Symbol keys. +Ruby 2.6以前のキーワード引数では、シンボル形式のキーしか利用できませんでした。Ruby 2.7のキーワード引数では、以下のようにシンボル形式でないキーを利用できるようになります。 {% highlight ruby %} def foo(**kwargs) kwargs end foo("key" => 42) - #=> Ruby 2.6 or before: ArgumentError: wrong number of arguments - #=> Ruby 2.7 or later: {"key"=>42} + #=> Ruby 2.6以前: ArgumentError: wrong number of arguments + #=> Ruby 2.7以降: {"key"=>42} {% endhighlight %} -If a method accepts both optional and keyword arguments, the Hash object that has both Symbol keys and non-Symbol keys was split in two in Ruby 2.6. In Ruby 2.7, both are accepted as keywords because non-Symbol keys are allowed. +あるメソッドがオプション引数とキーワード引数を両方とも受け付ける場合、Ruby 2.6では以下のようにシンボル形式のキーと非シンボルキーを両方持つHashオブジェクトが2つに分割されていました。Ruby 2.7では非シンボルキーを利用できるので、どちらも受け取れます。 {% highlight ruby %} def bar(x=1, **kwargs) @@ -217,12 +220,12 @@ bar("key" => 42, :sym => 43) #=> Ruby 2.6: [{"key"=>42}, {:sym=>43}] #=> Ruby 2.7: [1, {"key"=>42, :sym=>43}] -# Use braces to keep the behavior +# 振る舞いを変えたくない場合は中かっこ{}を使う bar({"key" => 42}, :sym => 43) #=> Ruby 2.6 and 2.7: [{"key"=>42}, {:sym=>43}] {% endhighlight %} -Ruby 2.7 still splits hashes with a warning if passing a Hash or keyword arguments with both Symbol and non-Symbol keys to a method that accepts explicit keywords but no keyword rest argument (`**kwargs`). This behavior will be removed in Ruby 3, and an `ArgumentError` will be raised. +Ruby 2.7では、キーワード引数を明示的に受け付けるがキーワードrest引数(`**kwargs`)を受け取らないメソッドに対して、シンボル形式のキーと非シンボルキーが両方混じったHashやキーワード引数を渡すと、引き続きハッシュを分割して警告を表示します。この振る舞いはRuby 3で廃止されて`ArgumentError`にする予定です。 {% highlight ruby %} def bar(x=1, sym: nil) @@ -230,15 +233,15 @@ def bar(x=1, sym: nil) end bar("key" => 42, :sym => 43) -# Ruby 2.6 and 2.7: => [{"key"=>42}, 43] +# Ruby 2.6と2.7: => [{"key"=>42}, 43] # Ruby 2.7: warning: Splitting the last argument into positional and keyword parameters is deprecated # warning: The called method `bar' is defined here # Ruby 3.0: ArgumentError {% endhighlight %} -### 2. Double splat with an empty hash (`**{}`) passes no arguments +### 2\. double splatを付けた空ハッシュ(`**{}`)で引数を渡さないようになった -In Ruby 2.6 or before, passing `**empty_hash` passes an empty Hash as a positional argument. In Ruby 2.7 or later, it passes no arguments. +Ruby 2.6以前は、`**empty_hash`を渡すと位置引数に空のハッシュが渡されました(`[{}]`)。Ruby 2.7以降では引数を渡さなくなります。 {% highlight ruby %} def foo(*args) @@ -247,13 +250,13 @@ end empty_hash = {} foo(**empty_hash) - #=> Ruby 2.6 or before: [{}] - #=> Ruby 2.7 or later: [] + #=> Ruby 2.6以前: [{}] + #=> Ruby 2.7以降: [] {% endhighlight %} -Note that `foo(**{})` passes nothing in both Ruby 2.6 and 2.7. In Ruby 2.6 and before, `**{}` is removed by the parser, and in Ruby 2.7 and above, it is treated the same as `**empty_hash`, allowing for an easy way to pass no keyword arguments to a method. +なお、`foo(**{})`はRuby 2.6以前とRuby 2.7のどちらの場合も引数を渡さず、`**{}`がパーサーによって削除される点にご注意ください。また、Ruby 2.7以降ではどちらも`**empty_hash`として同じに扱われるので、メソッドにキーワード引数を渡さないようにする指定が楽に行なえます。 -In Ruby 2.7, when calling a method with an insufficient number of required positional arguments, `foo(**empty_hash)` passes an empty hash with a warning emitted, for compatibility with Ruby 2.6. This behavior will be removed in 3.0. +Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡してwarningを表示します。この振る舞いはRuby 3.0で廃止されます。 {% highlight ruby %} def foo(x) @@ -262,51 +265,51 @@ end empty_hash = {} foo(**empty_hash) - #=> Ruby 2.6 or before: {} + #=> Ruby 2.6以前: {} #=> Ruby 2.7: warning: Passing the keyword argument as the last hash parameter is deprecated # warning: The called method `foo' is defined here #=> Ruby 3.0: ArgumentError: wrong number of arguments {% endhighlight %} -### 3. The no-keyword-arguments syntax (`**nil`) is introduced +### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される -You can use `**nil` in a method definition to explicitly mark the method accepts no keyword arguments. Calling such methods with keyword arguments will result in an `ArgumentError`. (This is actually a new feature, not an incompatibility) +メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、事実上新機能です)。 {% highlight ruby %} def foo(*args, **nil) end foo(k: 1) - #=> Ruby 2.7 or later: no keywords accepted (ArgumentError) + #=> Ruby 2.7以降: no keywords accepted (ArgumentError) {% endhighlight %} -This is useful to make it explicit that the method does not accept keyword arguments. Otherwise, the keywords are absorbed in the rest argument in the above example. If you extend a method to accept keyword arguments, the method may have incompatibility as follows: +この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例の他の引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 {% highlight ruby %} -# If a method accepts rest argument and no `**nil` +# メソッドは残りの引数を受け取るが、`**nil`はない状態 def foo(*args) p args end -# Passing keywords are converted to a Hash object (even in Ruby 3.0) +# キーワード引数はHashオブジェクトに変換される(Ruby 3.0でも同じ) foo(k: 1) #=> [{:k=>1}] -# If the method is extended to accept a keyword +# メソッドがキーワード引数を受け取るよう拡張した場合 def foo(*args, mode: false) p args end -# The existing call may break +# 以下の呼び出しが壊れる可能性がある foo(k: 1) #=> ArgumentError: unknown keyword k {% endhighlight %} -## Why we're deprecating the automatic conversion +## 自動変換を非推奨に変える理由 -The automatic conversion initially appeared to be a good idea, and worked well in many cases. However, it had too many corner cases, and we have received many bug reports about the behavior. +当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 -Automatic conversion does not work well when a method accepts optional positional arguments and keyword arguments. Some people expect the last Hash object to be treated as a positional argument, and others expect it to be converted to keyword arguments. +自動変換は、オプションの位置引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 -Here is one of the most confusing cases: +最も混乱を呼ぶケースのひとつを以下に示します。 {% highlight ruby %} def foo(x, **kwargs) @@ -317,17 +320,17 @@ def bar(x=1, **kwargs) p [x, kwargs] end -foo({}) => [{}, {}] -bar({}) => [1, {}] +foo({}) #=> [{}, {}] +bar({}) #=> [1, {}] -bar({}, **{}) => expected: [{}, {}], actual: [1, {}] +bar({}, **{}) #=> 期待は: [{}, {}]だが実際はl: [1, {}] {% endhighlight %} -In Ruby 2, `foo({})` passes an empty hash as a normal argument (i.e., `{}` is assigned to `x`), while `bar({})` passes a keyword argument (i.e, `{}` is assigned to `kwargs`). So `any_method({})` is very ambiguous. +Ruby 2の場合、`foo({})`は空のハッシュを通常の引数として1つ渡しますが(`x`に`{}`が代入されるなど)、`bar({})`はキーワード引数を1つ渡します(`kwargs`に`{}`が代入されるなど)。つまり、`any_method({})`は極めてあいまいになります。 -You may think of `bar({}, **{})` to pass the empty hash to `x` explicitly. Surprisingly, it does not work as you expected; it still prints `[1, {}]` in Ruby 2.6. This is because `**{}` is ignored by the parser in Ruby 2.6, and the first argument `{}` is automatically converted to keywords (`**kwargs`). In this case, you need to call `bar({}, {})`, which is very weird. +「`bar({}, **{})`は`x`に明示的に空のハッシュを渡すのでは?」と考える人もいるかもしれませんが、驚いたことに、この期待は裏切られます。Ruby 2.6では`[1, {}]`が出力されるのです。理由は、`**{}`がRuby 2.6のパーサーで無視されるのと、1番目の引数`{}`が自動的にキーワード引数(`**kwargs`)に変換されるためです。この場合`bar({}, {})`という形で呼び出す必要がありますが、これではあまりに見苦しくなります。 -The same issues also apply to methods that accept rest and keyword arguments. This makes explicit delegation of keyword arguments not work. +同じ問題は、残りの引数とキーワード引数を受け取るメソッドにも当てはまります。そのせいで、以下のようなキーワード引数の明示的な委譲は動作しません。 {% highlight ruby %} def target(*args) @@ -338,18 +341,18 @@ def foo(*args, **kwargs, &block) target(*args, **kwargs, &block) end -foo() #=> Ruby 2.6 or before: [{}] - #=> Ruby 2.7 or later: [] +foo() #=> Ruby 2.6以前: [{}] + #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()` passes no arguments, but `target` receives an empty hash argument in Ruby 2.6. This is because the method `foo` delegates keywords (`**kwargs`) explicitly. When `foo()` is called, `args` is an empty Array, `kwargs` is an empty Hash, and `block` is `nil`. And then `target(*args, **kwargs, &block)` passes an empty Hash as an argument because `**kwargs` is automatically converted to a positional Hash argument. +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 -The automatic conversion not only confuses people but also makes the method less extensible. See [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183) for more details about the reasons for the change in behavior, and why certain implementation choices were made. +自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 -## Acknowledgment +## 謝辞 -This article was kindly reviewed (or even co-authored) by Jeremy Evans and Benoit Daloze. +本記事はJeremy EvansとBenoit Dalozeによる丁寧なレビュー(共著と言ってもよいくらいです)をいただきました。 -## History +## 更新履歴 -* Updated 2019-12-25: In 2.7.0-rc2, the warning message was slightly changed, and an API to suppress the warnings was added. +* 更新 2019-12-25: 2.7.0-rc2でwarningメッセージが若干変更され、warning抑制APIが追加された。 From c82970710444b36e5baf1f6315b388d809062b1a Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Thu, 30 Jan 2020 16:49:40 +0900 Subject: [PATCH 2390/3394] Fix untranslated lines --- ...ation-of-positional-and-keyword-arguments-in-ruby-3-0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 5e80e231d5..b9aec21a12 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "Separation of positional and keyword arguments in Ruby 3.0" +title: "Ruby 3.0における位置引数とキーワード引数の分離について" author: "mame" translator: "hachi8833" date: 2019-12-12 12:00:00 +0000 @@ -13,8 +13,8 @@ lang: ja Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 -* `Using the last argument as keyword parameters is deprecated`, or -* `Passing the keyword argument as the last hash parameter is deprecated`, or +* `Using the last argument as keyword parameters is deprecated` +* `Passing the keyword argument as the last hash parameter is deprecated` * `Splitting the last argument into positional and keyword parameters is deprecated` この非互換性は、double splat演算子(`**`)を追加することでほぼ回避できます。これにより、`Hash`オブジェクトではなくキーワード引数を渡すことが明示的に指定されます。同様に、キーワード引数ではなく`Hash`オブジェクトを明示的に渡したい場合は中かっこ(`{}`)を追加できます。詳しくは後述の「典型的なケース」をご覧ください。 From db32bd844eff125ad3ddd8e47a6ee8285f3c57b1 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 27 Nov 2021 00:48:28 +0900 Subject: [PATCH 2391/3394] Revised the points pointed out in the review. --- ...ional-and-keyword-arguments-in-ruby-3-0.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index b9aec21a12..38c2aea1c9 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -11,7 +11,9 @@ lang: ja ## 概要 -Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 +この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 + +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated` * `Passing the keyword argument as the last hash parameter is deprecated` @@ -100,13 +102,13 @@ foo(k: 1) #=> {:k=>1} ## Q: 自分のコードはRuby 2.7で動かなくなりますか? -手短かに言うと「壊れない可能性はあります」。 +A: たぶん動きます。 -Ruby 2.7におけるこの変更は、3.0への移行パスとして設計されています。あくまで原則としてですが、Ruby 2.7ではRuby 3.0で変更される振る舞いについてwarningを出すにとどめており、warningの中には私たちが微細とみなしている変更点も若干含まれます。詳しくは後述の「その他の微細な変更点」をご覧ください。 +Ruby 2.7では、原則として、Ruby 3.0で変更される振る舞いについて警告を出すにとどめています。しかし、私たちが軽微とみなした非互換も少しだけ入っています。詳しくは後述の「その他の軽微な変更点」をご覧ください。 -Ruby 2.7では、warningが表示される点と微細な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、warningが表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 +Ruby 2.7では、警告が表示される点と軽微な変更点以外を除いてRuby 2.6との互換性を保とうとしています。つまり、あなたのコードはRuby 2.7でもおそらく動作しますが、警告が表示される可能性はあります。あなたのコードをRuby 2.7で実行すれば、Ruby 3.0の準備ができているかどうかをチェックできます。 -非推奨のwarningを無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 +非推奨の警告を無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 ## 引数の委譲の扱いについて @@ -162,7 +164,7 @@ ruby2_keywords def foo(*args, &block) end {% endhighlight %} -残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(`**kwargs`を使わないなど)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 +残念ながら、Ruby 2.6以前では新しい委譲スタイルを正しく扱えないため、旧来の委譲スタイル(つまり、**kwargsを受け渡ししないスタイル)を使う必要があります。これは、キーワード引数を分離した理由のひとつでもあります(詳しくは本記事末尾をご覧ください)。`ruby2_keywords`を用いれば、Ruby 2.7や3.0でも旧来の委譲スタイルを引き続き利用できます。2.6以前のRubyでは`ruby2_keywords`が定義されていないので、[ruby2_keywords](https://rubygems.org/gems/ruby2_keywords) gemを使うか、以下を手動で定義します。 {% highlight ruby %} def ruby2_keywords(*) @@ -186,15 +188,15 @@ foo({}) #=> Ruby 2.7: [] ({}を含んでいない) foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「ない」ことを明示できる) {% endhighlight %} -上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`targe`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 +上のコードでは、空のHash引数が自動的に変換されて`**kwargs`に吸い込まれ、この空のキーワードハッシュは委譲の呼び出しで削除されます。このため、`target`には引数がまったく渡されなくなります。私たちが把握している範囲では、これが唯一のエッジケースです。 上のコードの最下部に書いたように、`**{}`を渡すことでこの問題を回避できます。 -移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6が役目を終えたときに削除される可能性があります。現時点で私たちがおすすめできるのは、キーワード引数を明示的に委譲することです(上述のRuby 3向けのコードを参照)。 +移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6がサポート切れになったあとで削除される可能性があります。そのときになったら、キーワード引数を明示的に委譲することをおすすめします(上述のRuby 3向けのコードを参照)。 -## その他の微細な変更点 +## その他の軽微な変更点 -Ruby 2.7のキーワード引数では、この他に以下の3つのマイナーチェンジが行われています。 +Ruby 2.7のキーワード引数では、この他に以下の3つの軽微な変更が行われています。 ### 1\. キーワード引数で非シンボルキーを利用できるようになった @@ -256,7 +258,7 @@ foo(**empty_hash) なお、`foo(**{})`はRuby 2.6以前とRuby 2.7のどちらの場合も引数を渡さず、`**{}`がパーサーによって削除される点にご注意ください。また、Ruby 2.7以降ではどちらも`**empty_hash`として同じに扱われるので、メソッドにキーワード引数を渡さないようにする指定が楽に行なえます。 -Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡してwarningを表示します。この振る舞いはRuby 3.0で廃止されます。 +Ruby 2.7では、あるメソッド呼び出しで必須とされる位置引数の個数が不足している場合、Ruby 2.6との互換性を保つために`foo(**empty_hash)`は空のハッシュを渡して警告を表示します。この振る舞いはRuby 3.0で廃止されます。 {% highlight ruby %} def foo(x) @@ -273,7 +275,7 @@ foo(**empty_hash) ### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される -メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、事実上新機能です)。 +メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、新機能です)。 {% highlight ruby %} def foo(*args, **nil) @@ -283,7 +285,7 @@ foo(k: 1) #=> Ruby 2.7以降: no keywords accepted (ArgumentError) {% endhighlight %} -この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例の他の引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 +この新構文は、メソッドがキーワード引数を受け取らないことを明示的に指定するのに有用です。これを使わない場合、キーワード引数は上述の例のrest引数に吸い込まれます。メソッドを拡張してキーワード引数を受け取るようにする場合、以下のような非互換性が発生する可能性があります。 {% highlight ruby %} # メソッドは残りの引数を受け取るが、`**nil`はない状態 @@ -307,7 +309,7 @@ foo(k: 1) #=> ArgumentError: unknown keyword k 当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 -自動変換は、オプションの位置引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 +自動変換は、オプション引数とキーワード引数をどちらも受け取るメソッドではうまく動きません。末尾のHashオブジェクトを位置引数として扱うことを期待する人々もいれば、末尾のHashオブジェクトをキーワード引数として扱うことを期待する人々もいました。 最も混乱を呼ぶケースのひとつを以下に示します。 @@ -345,7 +347,7 @@ foo() #=> Ruby 2.6以前: [{}] #=> Ruby 2.7以降: [] {% endhighlight %} -`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになります。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 +`foo()`には引数がありませんが、Ruby 2.6では空のハッシュ引数が`target`に渡されます。理由は、メソッド`foo`が明示的にキーワード(`**kwargs`)を委譲しているためです。`foo()`が呼び出されると、`args`は空のArrayになり、`kwargs`は空のHashになり、blockはnilになります。。そして`target(*args, **kwargs, &block)`は空のHashを引数として1つ渡します。理由は、`**kwargs`が自動的にHash位置引数に変換されるためです。 自動変換は開発者を混乱させるのみならず、メソッドの拡張性も弱めてしまいます。振る舞いが変更された理由や、特定の実装が選択された理由について詳しくは[Feature #14183](https://bugs.ruby-lang.org/issues/14183)をご覧ください。 @@ -355,4 +357,4 @@ foo() #=> Ruby 2.6以前: [{}] ## 更新履歴 -* 更新 2019-12-25: 2.7.0-rc2でwarningメッセージが若干変更され、warning抑制APIが追加された。 +* 更新 2019-12-25: 2.7.0-rc2で警告メッセージが若干変更され、警告抑制APIが追加された。 From a5f8fdd3ea5cd14267b1d9cc7efc3d208447de8a Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:17 +0900 Subject: [PATCH 2392/3394] Add en doc --- ...separation-of-positional-and-keyword-arguments-in-ruby-3-0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 38c2aea1c9..505003747d 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -174,6 +174,7 @@ end if RUBY_VERSION < "2.7" * * * * * 自分のコードがRuby 2.6以前で動かなくても構わないのであれば、Ruby 2.7で新しいスタイルを試してもよいでしょう。ほぼほぼ間違いなく動作しますが、以下のようなエッジケースを運悪く踏むこともあります。 +--- {% highlight ruby %} def target(*args) From bdd3514fe2b0a6a4e52ae311b93d39f462f9ac87 Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Wed, 22 Jan 2020 12:35:47 +0900 Subject: [PATCH 2393/3394] Translate "Separation of positional and keyword arguments in Ruby 3.0" --- ...paration-of-positional-and-keyword-arguments-in-ruby-3-0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 505003747d..234c6671db 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -13,6 +13,8 @@ lang: ja この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 +Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 + Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated` @@ -174,7 +176,6 @@ end if RUBY_VERSION < "2.7" * * * * * 自分のコードがRuby 2.6以前で動かなくても構わないのであれば、Ruby 2.7で新しいスタイルを試してもよいでしょう。ほぼほぼ間違いなく動作しますが、以下のようなエッジケースを運悪く踏むこともあります。 ---- {% highlight ruby %} def target(*args) From d1d39723a179d9f0e97329bb48786981c8147c54 Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Thu, 30 Jan 2020 16:49:40 +0900 Subject: [PATCH 2394/3394] Fix untranslated lines --- ...eparation-of-positional-and-keyword-arguments-in-ruby-3-0.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 234c6671db..38c2aea1c9 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -13,8 +13,6 @@ lang: ja この文書では便宜上、必須引数、オプション引数、rest引数、後置引数(つまり、キーワード引数とブロック引数以外の引数)をまとめて「位置引数」と呼びます。 -Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7でwarningを表示します。以下のいずれかのwarningが表示される場合は、コードのアップデートが必要です。 - Ruby 3.0では、位置引数とキーワード引数が分離されます。Ruby 3.0で変更される振る舞いはRuby 2.7で警告を表示します。以下のいずれかの警告が表示される場合は、コードのアップデートが必要です。 * `Using the last argument as keyword parameters is deprecated` From 8b1e350ead504e7d804b7b44dfa2669cd56e2fab Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Mon, 29 Nov 2021 10:40:13 +0900 Subject: [PATCH 2395/3394] Added some changes that we consider to minor. --- ...ositional-and-keyword-arguments-in-ruby-3-0.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md index 38c2aea1c9..ac24a4a40e 100644 --- a/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md +++ b/ja/news/_posts/2019-12-12-separation-of-positional-and-keyword-arguments-in-ruby-3-0.md @@ -24,6 +24,7 @@ Ruby 3.0では、位置引数とキーワード引数が分離されます。Rub Ruby 3では、すべての引数を委譲するメソッドで、位置引数の他に必ずキーワード引数も明示的に委譲しなければなりません。Ruby 2.7以前の委譲の振る舞いを変えたくない場合は、`ruby2_keywords`をお使いください。詳しくは後述の「引数の委譲の扱いについて」をご覧ください。 ## よくあるケース +{: #typical-cases } 以下はもっともよくあるケースです。Hashではなくキーワードを渡すのにdouble splat演算子(`**`)を使えます。 @@ -69,6 +70,7 @@ bar({ k: 42 }) # => {:k=>42} {% endhighlight %} ## どの動作が非推奨になるか +{: #what-is-deprecated } Ruby 2では、キーワード引数が末尾のハッシュ位置引数として扱われることがあります。また、末尾のハッシュ引数がキーワード引数として扱われることもあります。 @@ -101,6 +103,7 @@ foo(k: 1) #=> {:k=>1} {% endhighlight %} ## Q: 自分のコードはRuby 2.7で動かなくなりますか? +{: #break-on-ruby-2-7 } A: たぶん動きます。 @@ -111,8 +114,10 @@ Ruby 2.7では、警告が表示される点と軽微な変更点以外を除い 非推奨の警告を無効にしたい場合は、コマンドライン引数`-W:no-deprecated`を使うか、コードに`Warning[:deprecated] = false`を追加します。 ## 引数の委譲の扱いについて +{: #delegation } ### Ruby 2.6以前の場合 +{: #delegation-ruby-2-6-or-prior } Ruby 2では、以下のように1個の`*rest`引数と1個の`&block`引数を受け付けて、この2つの引数を委譲先メソッド(以下の`target`)に渡すことで委譲メソッドを書けます。この振る舞いでは、(1つ以上の)キーワード引数も「位置引数<=>キーワード引数の自動変換」によって暗黙的に扱われます。 @@ -123,6 +128,7 @@ end {% endhighlight %} ### Ruby 3の場合 +{: #delegation-ruby-3 } 以下のようにキーワード引数を明示的に委譲する必要があります。 @@ -141,6 +147,7 @@ end {% endhighlight %} ### Ruby 2.7の場合 +{: #delegation-ruby-2-7 } 手短かに言うと、以下のように`Module#ruby2_keywords`を用い、`*args, &block`を委譲します。 @@ -155,6 +162,7 @@ end 実際、Ruby 2.7では多くの場面でこの新しい委譲のスタイルを利用できます。ただし1つ既知のエッジケースがあります。次をご覧ください。 ### Ruby 2.6 / 2.7 / 3で互換性のある委譲スタイル +{: #a-compatible-delegation } 手短かに言うと、ここも「`Module#ruby2_keywords`を使う」となります。 @@ -171,7 +179,7 @@ def ruby2_keywords(*) end if RUBY_VERSION < "2.7" {% endhighlight %} -* * * * * +--- 自分のコードがRuby 2.6以前で動かなくても構わないのであれば、Ruby 2.7で新しいスタイルを試してもよいでしょう。ほぼほぼ間違いなく動作しますが、以下のようなエッジケースを運悪く踏むこともあります。 @@ -195,10 +203,12 @@ foo({}, **{}) #=> Ruby 2.7: [{}] ({}を渡せば、キーワード引数が「 移植性がどうしても不安な場合は`ruby2_keywords`をお使いください(Ruby 2.6以前ではキーワード引数周りで膨大なエッジケースが存在していることを知っておいてください)。`ruby2_keywords`は、今後Ruby 2.6がサポート切れになったあとで削除される可能性があります。そのときになったら、キーワード引数を明示的に委譲することをおすすめします(上述のRuby 3向けのコードを参照)。 ## その他の軽微な変更点 +{: #other-minor-changes } Ruby 2.7のキーワード引数では、この他に以下の3つの軽微な変更が行われています。 ### 1\. キーワード引数で非シンボルキーを利用できるようになった +{: #other-minor-changes-non-symbol-keys } Ruby 2.6以前のキーワード引数では、シンボル形式のキーしか利用できませんでした。Ruby 2.7のキーワード引数では、以下のようにシンボル形式でないキーを利用できるようになります。 @@ -242,6 +252,7 @@ bar("key" => 42, :sym => 43) {% endhighlight %} ### 2\. double splatを付けた空ハッシュ(`**{}`)で引数を渡さないようになった +{: #other-minor-changes-empty-hash } Ruby 2.6以前は、`**empty_hash`を渡すと位置引数に空のハッシュが渡されました(`[{}]`)。Ruby 2.7以降では引数を渡さなくなります。 @@ -274,6 +285,7 @@ foo(**empty_hash) {% endhighlight %} ### 3\. キーワード引数を受け取らないことを表す構文(`**nil`)が導入される +{: #other-minor-changes-double-splat-nil } メソッド定義で`**nil`を用いることで、そのメソッドがキーワード引数を受け取らないことを明示的に示せるようになります。このメソッドを呼び出すときにキーワード引数を渡すと`ArgumentError`が表示されます(これは非互換性ではなく、新機能です)。 @@ -306,6 +318,7 @@ foo(k: 1) #=> ArgumentError: unknown keyword k {% endhighlight %} ## 自動変換を非推奨に変える理由 +{: #why-deprecated } 当初、自動変換はうまいアイデアに思われていて、多くの場合問題なく機能していました。しかし、エッジケースがあまりにも多く、これまでこの振る舞いに関するバグレポートを山のように受け取りました。 From 43feb73e0af06667ddbb9a695972fe019fc00a57 Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 27 Nov 2021 21:07:05 +0700 Subject: [PATCH 2396/3394] Translate CVE-2021-31810: Trusting FTP PASV responses vulnerability in Net::FTP (id) --- ...7-07-trusting-pasv-responses-in-net-ftp.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 id/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md diff --git a/id/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md b/id/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md new file mode 100644 index 0000000000..6dad71eca8 --- /dev/null +++ b/id/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md @@ -0,0 +1,40 @@ +--- +layout: news_post +title: "CVE-2021-31810: Kerentanan respons FTP PASV yang dipercaya pada Net::FTP" +author: "shugo" +translator: "meisyal" +date: 2021-07-07 09:00:00 +0000 +tags: security +lang: id +--- + +Sebuah kerentanan respons FTP PASV yang dipercaya telah ditemukan pada Net::FTP. +Kerentanan ini telah ditetapkan dengan penanda CVE +[CVE-2021-31810](https://nvd.nist.gov/vuln/detail/CVE-2021-31810). +Kami sangat merekomendasikan Anda untuk memperbarui Ruby. + +net-ftp adalah sebuah *default gem* pada Ruby 3.0.1, tetapi *gem* tersebut +memiliki masalah pengemasan. Sehingga, mohon perbarui Ruby. + +## Detail + +Sebuah FTP *server* yang berbahaya dapat menggunakan respons PASV untuk +mengelabui Net::FTP dengan menghubungkan kembali ke sebuah alamat IP dan *port* +yang diberikan. Ini berpotensi membuat Net::FTP menguraikan informasi *service* +yang seharusnya privat dan tidak boleh terbuka (contohnya, penyerang melakukan +*port scan* dan *service banner extraction*). + +## Versi Terimbas + +* Rangkaian Ruby 2.6: 2.6.7 dan sebelumnya +* Rangkaian Ruby 2.7: 2.7.3 dan sebelumnya +* Rangkaian Ruby 3.0: 3.0.1 dan sebelumnya + +## Rujukan + +Terima kasih kepada [Alexandr Savca](https://hackerone.com/chinarulezzz) yang +telah melaporkan kerentanan ini. + +## Riwayat + +* Semula dipublikasikan pada 2021-07-07 09:00:00 UTC From 568fbdc9322ab3d5f91c9938af05a890841ead65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Thu, 2 Dec 2021 09:48:22 -0500 Subject: [PATCH 2397/3394] Translation of Ruby 3.1.0-preview1 releases (es) (#2736) --- ...2021-11-09-ruby-3-1-0-preview1-released.md | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 es/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md diff --git a/es/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/es/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md new file mode 100644 index 0000000000..6bbecd9013 --- /dev/null +++ b/es/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -0,0 +1,259 @@ +--- +layout: news_post +title: "Publicado Ruby 3.1.0 versión previa 1" +author: "naruse" +translator: vtamara +date: 2021-11-09 00:00:00 +0000 +lang: es +--- + +Nos complace anunciar la publicación de Ruby {{ release.version }}. + +{% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} + + +## YJIT: Nuevo compilador experimental JIT en-proceso + +Ruby 3.1 incorpora YJIT, un nuevo compilador JIT en-proceso desarrollado +por Shopify. + +Desde que [Ruby 2.6 introdujo MJIT en 2018](https://www.ruby-lang.org/es/news/2018/12/25/ruby-2-6-0-released/), +su desempeño ha mejorado significativamente, y finalmente +[alcanzamos Ruby3x3 el año pasado](https://www.ruby-lang.org/es/news/2020/12/25/ruby-3-0-0-released/). +Pero aún cuando Optcarrot ha demostrado un impresionante aumento de velocidad, +el JIT no ha beneficiado aplicaciones de negocios del mundo real. + +Recientemente Shopify contribuyó muchas mejoras a Ruby para aumentar la +velocidad de su aplicación Rails. +YJIT es una contribución importante y busca mejorar el desempeño de +aplicaciones rails. + +Mientras MJIT es un compilador JIT basado-en-métodos y usa un +compilador de C externo, YJIT usa Versiones de Bloques Básicos e +incluye un compilador JIT. Con Versiones de Bloques Básicos Perezosa +(Lazy Basic Block Versioning - LBBV), que primero compilan el comienzo de +un método e incrementalmente compila el resto a medida que el tipo de +los argumentos y variables se determina dinámicamente. Ver una introducción +detallada en +[YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781). + +Con esta tecnología, YJIT alcanza tanto un tiempo de calentamiento rápido como +mejoras en desempeño en la mayoría de software del mundo-real, hasta +22% en railsbench, 39% en liquid-render. + + + +YJIT es aún una características experimental, y como tal, +está deshabilitado de manera predeterminada. Si quiere usarlo, +especifique la opción `--yjit` en la línea de ordenes que habilita +YJIT. Por ahora está limitado a macOS & Linux sobre plataformas +x86-64. + +* https://bugs.ruby-lang.org/issues/18229 +* https://shopify.engineering/yjit-just-in-time-compiler-cruby +* https://www.youtube.com/watch?v=PBVLf3yfMs8 + +## Gema debug: Un nuevo depurador + +Se incluye un nuevo depurador [debug.gem](https://github.com/ruby/debug). +debug.gem es una implementación de un depurador rápido que provee muchas +características tales como depuración remota, REPL con colores, integración +con IDE (VSCode) entre otras. +Remplaza la librería estándar `lib/debug.rb`. + +## error_highlight: Localización de errores afinada en las trazas + +Se ha incluido un gema con Ruby, error_highlight. Proporciona +localización afinada de errores en la traza: + +``` +$ ruby prueba.rb +prueba.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +Esta gema está habilitada de manera predeterminada. Puede deshabilitarla +desde la línea de ordenes con la opción `--disable-error_highlight`. +Ver detalles en [el repositorio](https://github.com/ruby/error_highlight). + +## Mejoras a Irb + +Se describirán en la siguiente versión previa. + +## Otras características nuevas y notables + +### Lenguaje + +* Pueden omitirse valores en literales de diccionarios y en argumentos de + palabra reservada [Feature #14579] + * `{x:, y:}` es azúcar sintáctica para `{x: x, y: y}`. + * `foo(x:, y:)` es azúcar sintáctica para `foo(x: x, y: y)`. + +* En reconocimiento de patrones el operador pin ahora toma una + expresión [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + + +### RBS + +RBS es un lenguaje para describir la estructura de programas Ruby. +Ver detalles en [el repositorio](https://github.com/ruby/rbs). + +Actualizaciones desde Ruby 3.0.0: + +* se introduce `rbs collection` para administrar RBSs de gemas. + [doc](https://github.com/ruby/rbs/blob/master/docs/collection.md) +* Se han añadido/actualizado muchas características incorporadas y de + la librería estándar. +* Incluye soluciones a muchas fallas, así como mejoras de desempeño. + +Ver más informaciń en [el archivo CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md). + +### TypeProf + +TypeProf es un analizador de tipos estático para Ruby. Genera un prototipo +en RBS a partir de código Ruby sin anotaciones de tipos. Ver detalles en +[el documento](https://github.com/ruby/typeprof/blob/master/doc/doc.md). + +Actualizaciones desde Ruby 3.0.0: + +* Se ha implementado [soporte experimental para IDE](https://github.com/ruby/typeprof/blob/master/doc/ide.md). +* Muchas correcciones a fallas y mejoras de desempeño. + +## Mejoras de desempeño + +* MJIT + * Para cargas de trabajo como Rails, se cambia `--jit-max-cache` de 100 + a 10000. + El compilador JIT ya no se salta la compilación de métodos con menos de + 1000 instrucciones. + * Para soportar Zeitwerk de Rails, el código compilado con JIT ya no + se cancela cuando se habilita un TracePoint para eventos de clase. + +## Otros cambios notables desde 3.0 + +* Reconocimiento de patrones en una línea, e.g., `ary => [x, y, z]`, ya no es + experimental. +* Se ha cambiado levemente el orden de evaluación de asignaciones múltiples. + [[Bug #4443]] + * `foo[0], bar[0] = baz, qux` era evaluado en el orden `baz`, `qux`, `foo`, + y después `bar` en Ruby 3.0. En Ruby 3.1, se evalúa en el orden + `foo`, `bar`, `baz`, y después `qux`. +* Localización de ancho variable: Cadenas (experimental) + [[Falla #18239]](https://bugs.ruby-lang.org/issues/18239) + +### Actualizaciones a la librería estándar + +* Se actualizaron algunas librerías estándar + * RubyGems + * Bundler + * RDoc 6.4.0 + * ReLine + * JSON 2.6.0 + * Psych 4.0.2 + * FileUtils 1.6.0 + * Fiddle + * StringIO 3.0.1 + * IO::Console 0.5.9 + * IO::Wait 0.2.0 + * CSV + * Etc 1.3.0 + * Date 3.2.0 + * Zlib 2.1.1 + * StringScanner + * IpAddr + * Logger 1.4.4 + * OStruct 0.5.0 + * Irb + * Racc 1.6.0 + * Delegate 0.2.0 + * Benchmark 0.2.0 + * CGI 0.3.0 + * Readline(C-ext) 0.1.3 + * Timeout 0.2.0 + * YAML 0.2.0 + * URI 0.11.0 + * OpenSSL + * DidYouMean + * Weakref 0.1.1 + * Tempfile 0.1.2 + * TmpDir 0.1.2 + * English 0.7.1 + * Net::Protocol 0.1.2 + * Net::Http 0.2.0 + * BigDecimal + * OptionParser 0.2.0 + * Set + * Find 0.1.1 + * Rinda 0.1.1 + * Erb + * NKF 0.1.1 + * Base64 0.1.1 + * OpenUri 0.2.0 + * SecureRandom 0.1.1 + * Resolv 0.2.1 + * Resolv::Replace 0.1.0 + * Time 0.2.0 + * PP 0.2.1 + * Prettyprint 0.1.1 + * Drb 2.1.0 + * Pathname 0.2.0 + * Digest 3.1.0.pre2 + * Un 0.2.0 +* Se actualizaron las siguientes gemas incluidas en Ruby + * minitest 5.14.4 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.0 + * rbs 1.6.2 + * typeprof 0.20.0 +* Las siguientes gemas por omisión ahora son ahora gemas incluidas en Ruby. + * net-ftp + * net-imap + * net-pop + * net-smtp + * matrix + * prime + +Ver más detalles en +[NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) +o [en la bitácora de cambios](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}). + +Con esos cambios, [{{ release.stats.files_changed }} archivos cambiados, {{ release.stats.insertions }} inserciones(+), {{ release.stats.deletions }} eliminaciones (-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket) +desde Ruby 3.0.0! + +## Descargas + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Qué es Ruby + +Ruby fue desarrollado inicialmente pof Matz (Yukihiro Matsumoto) en 1993, +y ahora es desarrollado como Código Abierto. Corre en múltiples +plataformas y se usa en todo el mundo especialmente para desarrollo web. From 8582d2af9bc328a6d90d11b44daaf48e169f18ed Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:40:51 +0900 Subject: [PATCH 2398/3394] Japanese translation of "CVE-2021-31810: Trusting FTP PASV responses vulnerability in Net::FTP" Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md) to ja. --- ...7-07-trusting-pasv-responses-in-net-ftp.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 ja/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md diff --git a/ja/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md b/ja/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md new file mode 100644 index 0000000000..6e122de845 --- /dev/null +++ b/ja/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md @@ -0,0 +1,35 @@ +--- +layout: news_post +title: "CVE-2021-31810: Net::FTP における信頼性のある FTP PASV 応答の脆弱性について" +author: "shugo" +translator: "jinroq" +date: 2021-07-07 09:00:00 +0000 +tags: security +lang: ja +--- + +信頼性のある FTP PASV 応答の脆弱性が Net::FTP で発見されました。 +この脆弱性は [CVE-2021-31810](https://nvd.nist.gov/vuln/detail/CVE-2021-31810) として登録されています。 +Ruby をアップグレードすることを強く推奨します。 + +net-ftp は Ruby 3.0.1 の デフォルト gem ですが、パッケージ化の問題があるため、Ruby 自体をアップグレードしてください。 + +## 詳細 + +悪意のある FTP サーバーが、PASV 応答を利用して Net::FTP を偽装し、特定の IP アドレスとポートに接続し直す可能性があります。 +これにより Net::FTP は本来では抽出できない非公開なサービスに関する情報を抽出する可能性があります +(例: 攻撃者はポートスキャンやサービスバナーの抽出を実行できます)。 + +## 影響を受けるバージョン + +* Ruby 2.6 系列: 2.6.7 およびそれ以前のバージョン +* Ruby 2.7 系列: 2.7.3 およびそれ以前のバージョン +* Ruby 3.0 系列: 3.0.1 およびそれ以前のバージョン + +## クレジット + +この脆弱性情報は、[Alexandr Savca](https://hackerone.com/chinarulezzz) 氏によって報告されました。 + +## 更新履歴 + +* 2021-07-07 18:00:00 (JST) 初版 From 85b21c3e53f54cef7d0b7f8f156c0f708c950bb4 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Thu, 25 Nov 2021 17:52:06 +0900 Subject: [PATCH 2399/3394] Japanese translation of "CVE-2021-41816: Buffer Overrun in CGI.escape_html" Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md) to ja. --- ...errun-in-cgi-escape_html-cve-2021-41816.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md diff --git a/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md new file mode 100644 index 0000000000..b6712c7c3f --- /dev/null +++ b/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -0,0 +1,39 @@ +--- +layout: news_post +title: "CVE-2021-41816: CGI.escape_html 内のバッファオーバーラン" +author: "mame" +translator: "jinroq" +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: ja +--- + +A buffer overrun vulnerability was discovered in CGI.escape_html. +This vulnerability has been assigned the CVE identifier [CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816). +We strongly recommend upgrading Ruby. +CGI.escape_html 内のバッファオーバーランの脆弱性が発見されました。 +この脆弱性は、[CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816)として登録されています。 +Ruby をアップグレードすることを強く推奨します。 + +## 詳細 + +`long` 型が 4 バイトかかるプラットフォーム(典型的なものは Windows)で非常に大きな文字列(700 MB 以上)を `CGI.escape_html` に渡すと、バッファオーバーフローを引き起こす脆弱性があります。 + +cgi gem をバージョン 0.3.1, 0.2.1, 0.1.1 もしくはこれら以上のバージョンに更新してください。`gem update cgi` を使用して更新できます。bundler を使用している場合は、 `Gemfile` に `gem "cgi", "> = 0.3.1"` を追加してください。 +または、Rubyを 2.7.5 または 3.0.3 に更新してください。 + +この問題は Ruby 2.7 以降で発見されたので、Ruby 2.6 でバンドルされている cgi バージョンには脆弱性はありません。 + +## 影響を受けるバージョン + +* cgi gem 0.1.0 以前(Ruby 2.7.5 より前にバンドルされている Ruby 2.7 系列) +* cgi gem 0.2.0 以前(Ruby 3.0.3 より前にバンドルされている Ruby 3.0 系列) +* cgi gem 0.3.0 以前 + +## クレジット + +この脆弱性情報は、[chamal](https://hackerone.com/chamal) 氏によって報告されました。 + +## 更新履歴 + +* 2021-11-24 21:00:00 (JST) 初版 From cf989664e27d38c7ed1c38c6548d8a32523721e3 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 12:46:24 +0900 Subject: [PATCH 2400/3394] Japanese translation of "Ruby 3.1.0 Preview 1 Released" Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md) to ja. --- ...2021-11-09-ruby-3-1-0-preview1-released.md | 210 ++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md diff --git a/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md new file mode 100644 index 0000000000..bcd1ca2733 --- /dev/null +++ b/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -0,0 +1,210 @@ +--- +layout: news_post +title: "Ruby 3.1.0 Preview 1 リリース" +author: "naruse" +translator: "jinroq" +date: 2021-11-09 00:00:00 +0000 +lang: ja +--- + +Ruby 3.1 に向けてフィードバックを得るためのリリースである、Ruby 3.1.0-preview1 が公開されました。 + +{% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} + +## YJIT: 新しいインプロセス JIT コンパイラ (experimental) + +Ruby 3.1 には、Shopify 社が開発した新しいインプロセス JIT コンパイラである YJIT をマージしています。 + +[2018 年に Ruby 2.6 が MJIT を導入](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/)して以降、パフォーマンスは大幅に向上し、ついに[昨年 Ruby3x3 を達成しました](https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/)。しかし、この JIT は Optcarrot では目覚ましい速度改善を示したものの、実世界のプロダクトで運用するには厳しいものでした。 + +近年 Shopify 社は Rails アプリケーションを高速化するために Ruby へ多くの改善をしてくれました。その中でも YJIT は重要な貢献であり、また、Rails アプリケーションのパフォーマンス向上を目的としています。 + +MJIT はメソッドベースの JIT コンパイラであり、外部 C コンパイラを使用します。一方、YJIT は Basic Block Versioning を使用し、その中に JIT コンパイラを含みます。 Lazy Basic Block Versioning(LBBV)では、最初にメソッドの先頭をコンパイルし、引数と変数の型が動的に決定されると、残りをインクリメンタルにコンパイルします。詳細な概要については [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) を参照してください。 + +この技術により、YJIT は実世界の多くのプロダクトで高速な起動時間とパフォーマンス向上の両方を実現しています。railsbench 上で 22%、liquid-render 上で 39% の改善を実現しています。 + + + +YJIT はまだ実験的な機能であるため、デフォルトでは無効になっています。使用するにはコマンドラインオプション `--yjit` を指定して YJIT を有効にします。また YJIT が仕様できる環境は、現時点では x86-64 プラットフォーム搭載の macOS および Linux に限定されています。 + +* [https://bugs.ruby-lang.org/issues/18229](https://bugs.ruby-lang.org/issues/18229) +* [https://shopify.engineering/yjit-just-in-time-compiler-cruby](https://shopify.engineering/yjit-just-in-time-compiler-cruby) +* [https://www.youtube.com/watch?v=PBVLf3yfMs8](https://www.youtube.com/watch?v=PBVLf3yfMs8) + +## debug gem: 新しいデバッガ + +新しいデバッガ [debug.gem](https://github.com/ruby/debug) がバンドルされています。 debug.gem は高速なデバッガであり、リモートデバッグ、色付き REPL、IDE integration(VSCode)など多くの機能を提供します。これは標準添付ライブラリの `lib/debug.rb` に置き換えられます。 + +## error_highlight: バックトレース内でさらに詳細なエラー箇所を示す機能 + +組み込み gem である error_highlight が導入されました。バックトレース内でさらに詳細なエラー箇所を示すことができます: + +``` +$ ruby test.rb +test.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +この gem はデフォルトで有効になっています。コマンドラインオプション `--disable-error_highlight` を使用して無効にできます。詳細は[リポジトリ](https://github.com/ruby/error_highlight)を参照してください。 + +## Irb の改善 + +次の preview 版で説明します。 + +## その他の主要な新機能 + +### 言語仕様 + +* ハッシュリテラルとキーワード引数の値は省略できます [Feature #14579] + * `{x:, y:}` は `{x: x, y: y}` の糖衣構文です + * `foo(x:, y:)` は `foo(x: x, y: y)` の糖衣構文です + +* パターンマッチングのピン演算子が式を受け取るようになりました [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + +### RBS + +RBS は Ruby プログラムの構造を記述するための言語です。詳細は[リポジトリ](https://github.com/ruby/rbs)を参照してください。 + +Ruby 3.0.0 からの変更点: + +* gem の RBS を管理する `rbs collection` が導入されています [[doc]](https://github.com/ruby/rbs/blob/master/docs/collection.md) +* 組み込みライブラリおよび標準添付ライブラリの多くのシグネチャが追加/更新されています +* 多くのバグ修正とパフォーマンスの改善も含まれています + +詳細は [CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) を参照してください。 + +### TypeProf + +TypeProf は Ruby の静的型解析器です。型注釈のない Ruby コードから RBS のプロトタイプを生成します。詳細は[ドキュメント](https://github.com/ruby/typeprof/blob/master/doc/doc.md)を参照してください。 + +Ruby 3.0.0 からの変更点: + +* [IDE サポート](https://github.com/ruby/typeprof/blob/master/doc/ide.md)が実装されました (Experimental) +* 多くのバグ修正とパフォーマンスの改善も含まれています + +## パフォーマンスの改善 + +* MJIT + * Rails のようなワークロードのために、`--jit-max-cache` のデフォルト値を 100 から 10000 に変更しています。 + JIT コンパイラは 1000 命令列長より長いメソッドのコンパイルをスキップしなくなりました + * Rails の Zeitwerk モードをサポートするために、クラスイベントで TracePoint が有効になっている場合に JIT コンパイルされたコードをキャンセルしなくなりました + +## その他の注目すべき 3.0 からの変更点 + +* 1 行パターンマッチ(例: `ary => [x, y, z]`)が experimental ではなくなりました +* 多重代入の評価順序が若干変更されました [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443) + * Ruby 3.0では `foo[0], bar[0] = baz, qux` は `baz`, `qux`,`foo`, `bar` の順に評価されていました。Ruby 3.1 からは `foo`,`bar`, `baz`,`qux` の順に評価されるようになります +* 文字列の可変幅割り当て (experimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) + +### 標準添付ライブラリの更新 + +* いくつかの標準添付ライブラリが更新されています + * RubyGems + * Bundler + * RDoc 6.4.0 + * ReLine + * JSON 2.6.0 + * Psych 4.0.2 + * FileUtils 1.6.0 + * Fiddle + * StringIO 3.0.1 + * IO::Console 0.5.9 + * IO::Wait 0.2.0 + * CSV + * Etc 1.3.0 + * Date 3.2.0 + * Zlib 2.1.1 + * StringScanner + * IpAddr + * Logger 1.4.4 + * OStruct 0.5.0 + * Irb + * Racc 1.6.0 + * Delegate 0.2.0 + * Benchmark 0.2.0 + * CGI 0.3.0 + * Readline(C-ext) 0.1.3 + * Timeout 0.2.0 + * YAML 0.2.0 + * URI 0.11.0 + * OpenSSL + * DidYouMean + * Weakref 0.1.1 + * Tempfile 0.1.2 + * TmpDir 0.1.2 + * English 0.7.1 + * Net::Protocol 0.1.2 + * Net::Http 0.2.0 + * BigDecimal + * OptionParser 0.2.0 + * Set + * Find 0.1.1 + * Rinda 0.1.1 + * Erb + * NKF 0.1.1 + * Base64 0.1.1 + * OpenUri 0.2.0 + * SecureRandom 0.1.1 + * Resolv 0.2.1 + * Resolv::Replace 0.1.0 + * Time 0.2.0 + * PP 0.2.1 + * Prettyprint 0.1.1 + * Drb 2.1.0 + * Pathname 0.2.0 + * Digest 3.1.0.pre2 + * Un 0.2.0 +* 以下のバンドルされた gems が更新されています + * minitest 5.14.4 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.0 + * rbs 1.6.2 + * typeprof 0.20.0 +* 以下のデフォルト gems がバンドルされた gem になりました + * net-ftp + * net-imap + * net-pop + * net-smtp + * matrix + * prime + +詳細は [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) か [commit logs](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}) を参照してください。 + +なお、こうした変更により、Ruby 3.0.0 以降では [{{ release.stats.files_changed }} 個のファイルに変更が加えられ、 {{ release.stats.insertions }} 行の追加と {{ release.stats.deletions }} 行の削除が行われました](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket)! + +## ダウンロード + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Ruby とは + +Ruby はまつもとゆきひろ(Matz)によって 1993 年に開発が始められ、今もオープンソースソフトウェアとして開発が続けられています。 +Ruby は様々なプラットフォームで動き、世界中で、特に Web アプリケーション開発のために使われています。 From cd5d083f793f69db198d73e21f07cc910bcd9d4a Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 21:26:16 +0900 Subject: [PATCH 2401/3394] Fixed a bug Fixed a bug that disturbed `release.version` from being displayed. --- ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md b/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md index bcd1ca2733..125aed23f2 100644 --- a/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md +++ b/ja/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md @@ -7,10 +7,10 @@ date: 2021-11-09 00:00:00 +0000 lang: ja --- -Ruby 3.1 に向けてフィードバックを得るためのリリースである、Ruby 3.1.0-preview1 が公開されました。 - {% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %} +Ruby 3.1 に向けてフィードバックを得るためのリリースである、Ruby {{ release.version }} が公開されました。 + ## YJIT: 新しいインプロセス JIT コンパイラ (experimental) Ruby 3.1 には、Shopify 社が開発した新しいインプロセス JIT コンパイラである YJIT をマージしています。 From 36bbdaa59d6a658c4bdcf51ab8575e0da8b070fe Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 3 Dec 2021 17:06:26 +0900 Subject: [PATCH 2402/3394] Removed unnecessary English text. --- ...1-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md index b6712c7c3f..6414233097 100644 --- a/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md +++ b/ja/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -8,9 +8,6 @@ tags: security lang: ja --- -A buffer overrun vulnerability was discovered in CGI.escape_html. -This vulnerability has been assigned the CVE identifier [CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816). -We strongly recommend upgrading Ruby. CGI.escape_html 内のバッファオーバーランの脆弱性が発見されました。 この脆弱性は、[CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816)として登録されています。 Ruby をアップグレードすることを強く推奨します。 From b9a2cab013eaeac40e2295b92485b2a7b6b0d350 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 15:21:54 +0900 Subject: [PATCH 2403/3394] Translate "CVE-2021-32066: A StartTLS stripping vulnerability in Net::IMAP" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md) to ja. --- ...21-07-07-starttls-stripping-in-net-imap.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md diff --git a/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md new file mode 100644 index 0000000000..6d2f0d0343 --- /dev/null +++ b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md @@ -0,0 +1,34 @@ +--- +layout: news_post +title: "CVE-2021-32066: Net::IMAP 内の StartTLS ストリッピングの脆弱性について" +author: "shugo" +translator: "jinroq" +date: 2021-07-07 09:00:00 +0000 +tags: security +lang: ja +--- + +Net::IMAP 内の StartTLS ストリッピングに脆弱性が発見されました。 +この脆弱性は [CVE-2021-32066](https://nvd.nist.gov/vuln/detail/CVE-2021-32066) として登録されています。 +Ruby をアップグレードすることを強く推奨します。 + +net-imap は Ruby 3.0.1 の デフォルト gem ですが、パッケージ化の問題があるため、Ruby 自体をアップグレードしてください。 + +## 詳細 + +Net::IMAP は、StartTLS が不明な応答で失敗した場合に例外を発生させません。これにより、中間者攻撃者がクライアントとレジストリ間のネットワークの場所を利用して StartTLS コマンドをブロックできる可能性があります。つまり、中間者攻撃者が TLS 保護をバイパスできる可能性があります。 +これは「StartTLS ストリッピング攻撃」とも呼ばれています。 + +## 影響を受けるバージョン + +* Ruby 2.6 系列: 2.6.7 およびそれ以前のバージョン +* Ruby 2.7 系列: 2.7.3 およびそれ以前のバージョン +* Ruby 3.0 系列: 3.0.1 およびそれ以前のバージョン + +## クレジット + +この脆弱性情報は、[Alexandr Savca](https://hackerone.com/chinarulezzz) 氏によって報告されました。 + +## 更新履歴 + +* 2021-07-07 18:00:00 (JST) 初版 From 0e5e25f8e1e46d121cc14b0936a835696d9db50f Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 16:04:13 +0900 Subject: [PATCH 2404/3394] Translate "CVE-2021-28965: XML round-trip vulnerability in REXML" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md) to ja. --- ...p-vulnerability-in-rexml-cve-2021-28965.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md diff --git a/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md new file mode 100644 index 0000000000..65589d9ebe --- /dev/null +++ b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md @@ -0,0 +1,47 @@ +--- +layout: news_post +title: "CVE-2021-28965: REXML 内の XML ラウンドトリップの脆弱性について" +author: "mame" +translator: "jinroq" +date: 2021-04-05 12:00:00 +0000 +tags: security +lang: ja +--- + +Ruby にバンドルされている REXML gem 内の XML ラウンドトリップに脆弱性が発見されました。 +この脆弱性は [CVE-2021-28965](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28965) として登録されています。 +REXML gem をアップグレードすることを強く推奨します。 + +## 詳細 + +加工された XML ドキュメントをパーシングおよびシリアル化する場合、REXML gem(Ruby にバンドルされているものを含む)は、元のドキュメントとは構造が異なる誤った XML ドキュメントを生成する可能性があります。 +この問題の影響はコンテキストによって大きく異なりますが、REXML を使用している一部のプログラムでは脆弱性が生じる可能性があります。 + +REXML gem をバージョン 3.2.5 以降に更新してください。 + +Ruby 2.6 以降を使用している場合: + +* Ruby 2.6.7、2.7.3、もしくは 3.0.1 を使ってください +* または `gem update rexml` で更新することもできます。bundler を使用している場合は、`Gemfile` に `gem "rexml", ">= 3.2.5"` を追加してください + +Ruby 2.5.8 以前を使用している場合: + +* Ruby 2.5.9 を使ってください +* Ruby 2.5.8 以前では `gem update rexml` を実行できません +* Ruby 2.5 系列は現在 EOL であるため、Ruby を 2.6.7 以降に可能な限り早く更新することを検討してください + +## 影響を受けるバージョン + +* Ruby​​ 2.5.8 以前(このバージョンでは `gem update rexml` を実行できません。) +* Ruby​​ 2.6.6 以前 +* Ruby​​ 2.7.2 以前 +* Ruby​​ 3.0.0 +* REXML gem 3.2.4 以前 + +## クレジット + +この脆弱性情報は [Juho Nurminen](https://hackerone.com/jupenur) 氏によって報告されました。 + +## 更新履歴 + +* 2021-04-05 21:00:00 (JST) 初版 From 70f0285ff7ba3b5708f431ef92dab669f939d023 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 16:52:26 +0900 Subject: [PATCH 2405/3394] Translate "CVE-2021-28966: Path traversal in Tempfile on Windows" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md) to ja. --- ...ath-traversal-on-windows-cve-2021-28966.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ja/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md diff --git a/ja/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md b/ja/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md new file mode 100644 index 0000000000..95321df7ee --- /dev/null +++ b/ja/news/_posts/2021-04-05-tempfile-path-traversal-on-windows-cve-2021-28966.md @@ -0,0 +1,36 @@ +--- +layout: news_post +title: "CVE-2021-28966: Windows 版 Tempfile 内のパストラバーサルについて" +author: "mame" +translator: "jinroq" +date: 2021-04-05 12:00:00 +0000 +tags: security +lang: ja +--- + +Windows 版 Ruby にバンドルされている tmpdir ライブラリには、意図しないディレクトリを作成してしまう脆弱性が発見されました。 +また、Windows 版 Ruby にバンドルされている tempfile ライブラリは、内部で tmpdir を使用しているため同様の脆弱性があります。 +この脆弱性は [CVE-2021-28966](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28966) として登録されています。 + +## 詳細 + +tmpdir ライブラリで導入された `Dir.mktmpdir` メソッドは、第一引数に作成するディレクトリ名のプレフィックスとサフィックスを受け取ることができます。 +プレフィックスには相対ディレクトリ指定子 `"..\\"` を含めることができるため、このメソッドは任意のディレクトリを対象にすることができます。 +したがって、スクリプトが外部入力をプレフィックスとして受け取り、対象のディレクトリに不適切なアクセス許可がある、もしくは、ruby プロセスに不適切な権限がある場合に、攻撃者は任意のディレクトリに対してディレクトリやファイルを作成することができます。 + +同じ脆弱性が [CVE-2018-6914](https://www.ruby-lang.org/en/news/2018/03/28/unintentional-file-and-directory-creation-with-directory-traversal-cve-2018-6914/) として登録されていますが、Windows 版の対応が不十分でした。 + +影響を受けるバージョンの Ruby を利用している全ユーザーは、すぐにアップグレードする必要があります。 + +## 影響を受けるバージョン + +* Ruby 2.7.2 以前 +* Ruby 3.0.0 + +## クレジット + +この脆弱性情報は [Bugdiscloseguys](https://hackerone.com/bugdiscloseguys) 氏によって報告されました。 + +## 更新履歴 + +* 2021-04-05 21:00:00 (JST) 初版 From a6169206b4d5b1cad122b3225396e07ccc1ce542 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Fri, 26 Nov 2021 18:23:23 +0900 Subject: [PATCH 2406/3394] Translate "CVE-2020-25613: Potential HTTP Request Smuggling Vulnerability in WEBrick" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md) to ja. --- ...9-http-request-smuggling-cve-2020-25613.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ja/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md diff --git a/ja/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md b/ja/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md new file mode 100644 index 0000000000..bc0fdc11fe --- /dev/null +++ b/ja/news/_posts/2020-09-29-http-request-smuggling-cve-2020-25613.md @@ -0,0 +1,38 @@ +--- +layout: news_post +title: "CVE-2020-25613: WEBrick 内の潜在的な HTTP リクエストスマグリングの脆弱性について " +author: "mame" +translator: "jinroq" +date: 2020-09-29 06:30:00 +0000 +tags: security +lang: ja +--- + +WEBrick 内で潜在的な HTTP リクエストスマグリングの脆弱性が発見されました。 +この脆弱性は [CVE-2020-25613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-25613) として登録されています。 +webrick gem をアップグレードすることを強く推奨します。 + +## 詳細 + +WEBrick は、無効な Transfer-Encoding ヘッダーに対して寛容すぎました。 +これは WEBrick と一部の HTTP プロキシサーバー間で一貫性のない解釈が発生し、攻撃者が HTTP リクエストを”スマグリング(smuggle)”する可能性があります。 +詳細は [CWE-444](https://cwe.mitre.org/data/definitions/444.html) を参照してください。 + +webric gem を 1.6.1 以降に更新してください。 +`gem update webrick` を実行すれば更新できます。 +bundler を使用している場合は、`Gemfile` に `gem "webrick", ">= 1.6.1"` を追加してください。 + +## 影響を受けるバージョン + +* webrick gem 1.6.0 以前 +* Ruby 2.7.1 以前のバージョンでバンドルされた webrick +* Ruby 2.6.6 以前のバージョンでバンドルされた webrick +* Ruby 2.5.8 以前のバージョンでバンドルされた webrick + +## クレジット + +この脆弱性情報は [piao](https://hackerone.com/piao) 氏によって報告されました。 + +## 更新履歴 + +* 2020-09-29 15:30:00 (JST) 初版 From 0771b94d4a43f2caf6afe0d6b2d6cd8632afb1b4 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 27 Nov 2021 18:50:14 +0900 Subject: [PATCH 2407/3394] Translate "Dispute of Vulnerability CVE-2014-2734" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md) to ja. --- ...-dispute-of-vulnerability-cve-2014-2734.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 ja/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md diff --git a/ja/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md b/ja/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md new file mode 100644 index 0000000000..4fab485093 --- /dev/null +++ b/ja/news/_posts/2014-05-09-dispute-of-vulnerability-cve-2014-2734.md @@ -0,0 +1,75 @@ +--- +layout: news_post +title: "脆弱性 CVE-2014-2734 の争点について" +author: "emboss" +translator: "jinroq" +date: 2014-05-09 05:33:54 +0000 +tags: security +lang: ja +--- + +[CVE-2014-2734](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2734) として登録されている脆弱性について、「Ruby でも起こりうるのではないか」という報告を受けました。 +結論から書くと、以下に記載する詳細な分析の結果、Ruby に脆弱性があるとは**考えていません**。 + +この脆弱性により、攻撃者は証明書の署名を変更して任意のルート証明書を偽造し、証明書のオリジナルの秘密鍵を攻撃者が選択した秘密鍵に都合よく置き換える可能性があります。 + +## コンセプトの実証 + +以下は CVE-2014-2734 の分析です。オリジナルの PoC を縮小させることができました。これはコンセプトの実証の本質を捉えていると考えられます。 + +{% highlight ruby %} +require 'openssl' + +forge_key = OpenSSL::PKey::RSA.new(2048) +raw_certificate = File.read("arbitrary.cer") +cert = OpenSSL::X509::Certificate.new(raw_certificate) +resigned_cert = cert.sign(spoof, OpenSSL::Digest::SHA1.new) + +resigned_cert.verify(key) #=> true +{% endhighlight %} + +`X509Certificate#verify` が `true` を返してくることに驚くかもしれません。 +オリジナルの証明書には `forge_key` の公開鍵とは異なるオリジナルの公開鍵を指す[サブジェクト公開鍵情報](http://tools.ietf.org/html/rfc5280#section-4.1.2.7)が含まれている場合があります。 +証明書の再署名に使用された公開鍵と秘密鍵のペアは、サブジェクト公開鍵情報で参照されているオリジナルの公開鍵と明らかに一致しなくなりました。 +どうして `#verify` は ` true` を返すのでしょうか? + +### 鍵の検証方法 + +`X509Certificate#verify` は OpenSSL の[`X509_verify`](https://github.com/openssl/openssl/blob/master/crypto/x509/x_all.c#L74) 関数を利用しています(内部的には [`ASN1_item_verify`](https://github.com/openssl/openssl/blob/master/crypto/asn1/a_verify.c#L134) 関数を呼び出しています)。 +これらの関数は、提示された公開鍵を指定して署名の有効性を確立します。 +ところが、指定された鍵が証明書で参照されているサブジェクト公開鍵と実際に一致するかどうかは**検証されません**。 +これは、このシナリオでは「`X509Certificate#verify` の期待する振る舞いは `true` を返すこと」を意味します。 +このチェックを省略しても、総体的に X.509 信頼モデルのセキュリティに大きな影響はありません。 + +RFC 5280 の 4.1.1.3 項は、CA が証明書に含まれる情報の正確さを「証明書の署名を計算すること」で確認すると明記しています。 +上記のサンプルコードはこの原則に違反していますが、セキュリティを脅かすものではありません。 + +## 潜在的なリスク + +2 通り考えられます: + +### ルート証明書の再署名 + +ユーザーとして、私たちは無条件にルート証明書を信頼します。 +有効なな情報が含まれていない場合でも、公的に認められたルート証明書であるというステータスだけで、それらを元の状態に保つことができます。 +たとえば、OpenSSL 自体は同様の理由からデフォルトで自己署名ルート証明書の署名をチェックしません。 + +参考: [X509_V_FLAG_CHECK_SS_SIGNATURE documentation](https://www.openssl.org/docs/crypto/X509_VERIFY_PARAM_set_flags.html) + +再署名されたルート証明書は事実上の「自己署名」証明書になります(ただし、サブジェクト公開鍵情報は正しくありません)。 +これは正常な自己署名ルート証明書より危険ではありません。 +事実、署名がなければ、有効なルート証明書と完全に一致する可能性のある自己署名ルート証明書は誰でも作成できます。 +私たちは所有するだけでルート証明書を信頼するため、クライアントの「このルート証明書は信頼する」という積極的な同意がない限り、詐欺まがいな証明書に意味はありません。 + +### 中間証明書またはリーフ証明書の再署名 + +非ルート証明書の再署名もまた X.509 信頼モデルのセキュリティを脅かすものではありません。 +通常はこのような種類の証明書をあらかじめ所有していない限り、[パス検証手続き](http://tools.ietf.org/html/rfc5280#section-6)中にこのような偽装は検出されます。 +ここで、非ルート証明書の署名は、発行する証明書の公開鍵を使用して検証されます。 +証明書チェーンのある時点で、偽造は最終的に無効な証明書署名値という形で検出されます。 + +## まとめ + +結論として、`X509Certificate#verify` は期待どおりに動作すると考えています。 +私たち以外の誰かも自力で[同じ結論](https://github.com/adrienthebo/cve-2014-2734/)に行き着いたため、CVE-2014-2734 に異議を唱え、その取り消しを求めました。 +[オリジナルのコンセプトの実証](https://gist.github.com/emboss/91696b56cd227c8a0c13)は、コメントを含め、完全な分析結果として閲覧することができます。 From 45ecaadb25d8ea1460c51471750c22f227ea99f5 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Mon, 29 Nov 2021 00:05:49 +0900 Subject: [PATCH 2408/3394] Translate "OpenSSL Severe Vulnerability in TLS Heartbeat Extension (CVE-2014-0160)" (ja) Translate [https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2014-04-10-severe-openssl-vulnerability.md](https://github.com/ruby/www.ruby-lang.org/blob/master/en/news/_posts/2014-04-10-severe-openssl-vulnerability.md) to ja. --- ...2014-04-10-severe-openssl-vulnerability.md | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ja/news/_posts/2014-04-10-severe-openssl-vulnerability.md diff --git a/ja/news/_posts/2014-04-10-severe-openssl-vulnerability.md b/ja/news/_posts/2014-04-10-severe-openssl-vulnerability.md new file mode 100644 index 0000000000..98c992bfe7 --- /dev/null +++ b/ja/news/_posts/2014-04-10-severe-openssl-vulnerability.md @@ -0,0 +1,59 @@ +--- +layout: news_post +title: "OpenSSL の TLS ハートビート拡張による重大な脆弱性について(CVE-2014-0160)" +author: "hone and zzak" +translator: "jinroq" +date: 2014-04-10 01:04:27 +0000 +tags: security +lang: ja +--- + +OpenSSL の TLS/DTLS(トランスポート層セキュアプロトコル)ハートビート拡張(`RFC6520`)の実装で重大な脆弱性が発見されました。 +この脆弱性は [CVE-2014-0160](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160) として登録されています。 + +サーバーからクライアントへ、およびクライアントからサーバーへのメモリの内容を利己的に開示される可能性があります。 +攻撃者は、SSL 暗号化に使用される秘密鍵や認証トークンなどを含む機密データをメモリから遠隔操作によって取得できます。 + +詳細は [heartbleed.com](http://heartbleed.com) を参照してください. + +## Ruby の影響範囲 + +Ruby は、標準添付ライブラリ OpenSSL の C 拡張機能を介した脆弱な OpenSSL のバージョンに対して静的コンパイルをされると影響を受けます。 + +バージョン 1.0.1 以上 1.0.1f 以下の OpenSSL がこの攻撃に対して脆弱です。 +Ruby にリンクしている OpenSSL ライブラリのバージョンを検証するには、以下を実行してください。 + +{% highlight sh %} +ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"], [Fiddle::TYPE_INT], Fiddle::TYPE_VOIDP).call(0)' +{% endhighlight %} + +Ruby を使って現在インストールされている OpenSSL のバージョンを確認するには、以下を実行してください。 + +{% highlight sh %} +ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' +{% endhighlight %} + +[emboss のスクリプト](https://github.com/emboss/heartbeat)を使ってクライアントソフトウェア、または実行中のサービスが脆弱かどうかを確認できます。 + +## 解決策 + +最新版である OpenSSL バージョン `1.0.1g` もしくはそれ以降にアップグレードする必要があります。そのためには最新の OpenSSL が提供されているかを現在使っている OS パッケージ管理システムで確認する必要があります。 +利用可能なバージョン番号に関係なく、その OpenSSL のバージョンにパッチが適用されているかを確認するために、OS ディストリビューターに相談する必要があるかもしれません。 + +アップグレードがオプションではない場合、ビルド時に `-DOPENSSL_NO_HEARTBEATS` オプションを付け、パッチが適用されている OpenSSL を再コンパイルします。 + +アプグレードされている OpenSSL を使っているなら、脆弱なバージョンの OpenSSL へのリンクがないことを確認している Ruby を再コンパイルすることを推奨します。 + +これは、RVM や ruby-build のような Ruby をビルドするために使うツールを更新することを意味します。 +Ruby を自分でビルドする場合は、コンパイル時にアップグレードされた OpenSSL をインストールしているディレクトリにリンクするよう `--with-openssl-dir` オプションを使用してください。。 + +{% highlight sh %} +$ ./configure --with-openssl-dir=/path/to/openssl +$ make +$ make install +{% endhighlight %} + +OpenSSL と Ruby をアップグレードした後、脆弱なバージョンを使っている全てのプログラムを再起動することが重要です。 + +多くの OS ディストリビューションは、この攻撃に脆弱であるライブラリに対し、パッチを適用したバージョンと再構築されたパッケージをすでに提供しています(もしくは間もなく提供する予定です)。 +安全性を確保するために、OS ディストリビューターを監視することが重要です。 From 1951efd3308b9371d282d0c300e855a61fbe2177 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 4 Dec 2021 07:46:18 +0900 Subject: [PATCH 2409/3394] Revised in the review. --- ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md index 6d2f0d0343..ca45ac42cd 100644 --- a/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md +++ b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md @@ -12,7 +12,7 @@ Net::IMAP 内の StartTLS ストリッピングに脆弱性が発見されまし この脆弱性は [CVE-2021-32066](https://nvd.nist.gov/vuln/detail/CVE-2021-32066) として登録されています。 Ruby をアップグレードすることを強く推奨します。 -net-imap は Ruby 3.0.1 の デフォルト gem ですが、パッケージ化の問題があるため、Ruby 自体をアップグレードしてください。 +net-imap は Ruby 3.0.1 の デフォルト gem ですが、パッケージ化に問題があるため、Ruby 自体をアップグレードしてください。 ## 詳細 From 39180f8bf65f45aa3bdd132bdbeed34f7a14a73d Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 4 Dec 2021 08:08:16 +0900 Subject: [PATCH 2410/3394] Revised in the review. --- ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md index ca45ac42cd..0a54c65239 100644 --- a/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md +++ b/ja/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md @@ -16,7 +16,7 @@ net-imap は Ruby 3.0.1 の デフォルト gem ですが、パッケージ化 ## 詳細 -Net::IMAP は、StartTLS が不明な応答で失敗した場合に例外を発生させません。これにより、中間者攻撃者がクライアントとレジストリ間のネットワークの場所を利用して StartTLS コマンドをブロックできる可能性があります。つまり、中間者攻撃者が TLS 保護をバイパスできる可能性があります。 +Net::IMAP は、StartTLS が不明な応答で失敗した場合に例外を発生させません。これにより、中間者攻撃者がクライアントとレジストリ間のネットワーク位置を利用して StartTLS コマンドをブロックし、結果として、中間者攻撃者が TLS 保護をバイパスできる可能性があります。 これは「StartTLS ストリッピング攻撃」とも呼ばれています。 ## 影響を受けるバージョン From c9dea54abfe645b9203e4b20003e082a95015e8b Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Sat, 4 Dec 2021 21:36:05 +0900 Subject: [PATCH 2411/3394] Polished sentences. --- ...-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md index 65589d9ebe..db1112833a 100644 --- a/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md +++ b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "CVE-2021-28965: REXML 内の XML ラウンドトリップの脆弱性について" +title: "CVE-2021-28965: REXML 内の XML ラウンドトリップ脆弱性について" author: "mame" translator: "jinroq" date: 2021-04-05 12:00:00 +0000 @@ -8,13 +8,13 @@ tags: security lang: ja --- -Ruby にバンドルされている REXML gem 内の XML ラウンドトリップに脆弱性が発見されました。 +Ruby にバンドルされている REXML gem 内の XML ラウンドトリップ脆弱性が発見されました。 この脆弱性は [CVE-2021-28965](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28965) として登録されています。 REXML gem をアップグレードすることを強く推奨します。 ## 詳細 -加工された XML ドキュメントをパーシングおよびシリアル化する場合、REXML gem(Ruby にバンドルされているものを含む)は、元のドキュメントとは構造が異なる誤った XML ドキュメントを生成する可能性があります。 +特定の加工が施された XML ドキュメントをパーシングおよびシリアル化する場合、REXML gem(Ruby にバンドルされているものを含む)は、元のドキュメントとは構造が異なる誤った XML ドキュメントを生成する可能性があります。 この問題の影響はコンテキストによって大きく異なりますが、REXML を使用している一部のプログラムでは脆弱性が生じる可能性があります。 REXML gem をバージョン 3.2.5 以降に更新してください。 From 178e4af80f26aabe7cc3edf365dc395994338616 Mon Sep 17 00:00:00 2001 From: jinroq <2787780+jinroq@users.noreply.github.com> Date: Mon, 6 Dec 2021 12:07:14 +0900 Subject: [PATCH 2412/3394] Revised points made in reviews. Revised the points made in [this comment](https://github.com/ruby/www.ruby-lang.org/pull/2747). --- ...4-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md index db1112833a..a30f112f91 100644 --- a/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md +++ b/ja/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md @@ -8,7 +8,7 @@ tags: security lang: ja --- -Ruby にバンドルされている REXML gem 内の XML ラウンドトリップ脆弱性が発見されました。 +Ruby にバンドルされている REXML gem に XML ラウンドトリップ脆弱性が発見されました。 この脆弱性は [CVE-2021-28965](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28965) として登録されています。 REXML gem をアップグレードすることを強く推奨します。 From 93192c190415158183f702a6fcad0838dc975568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Mon, 6 Dec 2021 14:35:10 -0500 Subject: [PATCH 2413/3394] Translation of CVE-2021-41817 to spanish (#2758) * Translation of CVE-2021-41817 to spanish * No blank line at end * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa * Update es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md Co-authored-by: Gustavo Villa Co-authored-by: Gustavo Villa --- ...p-vulnerability-in-rexml-cve-2021-28965.md | 2 +- ...arsing-method-regexp-dos-cve-2021-41817.md | 57 +++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md diff --git a/es/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md b/es/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md index fcc342219d..325205277b 100644 --- a/es/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md +++ b/es/news/_posts/2021-04-05-xml-round-trip-vulnerability-in-rexml-cve-2021-28965.md @@ -41,7 +41,7 @@ posterior tan pronto como sea posible. ## Versiones afectadas -* Ruby 2.5.8 o anterior (NO podrá usar `gem upgrade rexml` +* Ruby 2.5.8 o anterior (NO podrá usar `gem update rexml` con estas versiones.) * Ruby 2.6.6 o anterior * Ruby 2.7.2 o anterior diff --git a/es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md b/es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md new file mode 100644 index 0000000000..8f1bacc61e --- /dev/null +++ b/es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md @@ -0,0 +1,57 @@ +--- +layout: news_post +title: "CVE-2021-41817: Vulnerabilidad de denegación de servicio por Expresiones Reguales en los métodos para reconocer fechas" +author: "mame" +translator: vtamara +date: 2021-11-15 08:00:00 +0000 +tags: security +lang: es +--- + +Hemos publicado la gema `date` con versiones 3.2.1, 3.1.2, 3.0.2 y 2.0.1 +que incluyen una corrección de seguridad a una vulnerabilidad de denegación +de servicio por expresiones regulares (ReDoS) en los métodos para reconocer +fechas. +Un atacante podría explotar esta vulnerabilidad para generar +un ataque de denegación de servicio efectivo. + +A esta vulnerabilidad se le ha asignado el identificador CVE +[CVE-2021-41817](https://nvd.nist.gov/vuln/detail/CVE-2021-41817). + +## Detalles + +Los métodos para reconocer fechas incluyendo `Date.parse` usan +expresiones regulares internamente, algunas de las cuales son vulnerables +a denegación de servicio por expresiones regulares. +Las aplicaciones y librerías que emplean tales métodos con entradas +no confiables pueden verse afectadas. + +La corrección limita el tamaño de la entrada a 128 bytes de manera +predeterminada en lugar de cambiar las expresiones regulares. +Esto es porque la gema Date usa muchas expresiones regulares y es posible que aún haya +vulnerabilidades no descubiertas en algunas. Por compatibilidad, se +permite eliminar la limitación pasando explícitamente la palabra +reservada `limit` en `nil`, como en `Date.parse(str, limit: nil)`, +pero tenga en cuenta que el reconocimiento puede tardar un largo tiempo. + +Por favor actualice la gema date a una de las versiones 3.2.1, 3.1.2, 3.0.2, +2.0.1 o posterior. Puede usar `gem update date` para actualizarla. +Si usa bundler, por favor añada `gem "date", ">= 3.2.1"` a su `Gemfile`. +De forma alternativa, puede actualizar Ruby a 3.0.3, 2.7.5, 2.6.9 o posterior. + +## Versiones afectadas + +* gema date 2.0.0 y anteriores (distribuidas con la serie Ruby 2.6 antes de Ruby 2.6.9) +* gema date 3.0.1 y anteriores (distribuidas con la serie Ruby 2.7 antes de Ruby 2.7.5) +* gema date 3.1.1 y anteriores (distribuida con la serie Ruby 3.0 antes de Ruby 3.0.3) +* gema date gem 3.2.0 y anteriores + +## Créditos + +Agradecemos a [svalkanov](https://github.com/SValkanov/) por descubrir +el problema. + +## Historia + +* Publicado originalmente en inglés el 2021-11-15 08:00:00 (UTC) +* Mención sobre nuevas versiones de Ruby el 2021-11-24 13:20:00 (UTC) From 75c9ef329eb90cd5411df8e7fa9f3da49a32f1de Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 4 Dec 2021 20:23:33 +0700 Subject: [PATCH 2414/3394] Translate CVE-2021-32066: A StartTLS stripping vulnerability in Net::IMAP (id) --- ...21-07-07-starttls-stripping-in-net-imap.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 id/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md diff --git a/id/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md b/id/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md new file mode 100644 index 0000000000..0e83033da3 --- /dev/null +++ b/id/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md @@ -0,0 +1,40 @@ +--- +layout: news_post +title: "CVE-2021-32066: Kerentanan StartTLS stripping pada Net::IMAP" +author: "shugo" +translator: "meisyal" +date: 2021-07-07 09:00:00 +0000 +tags: security +lang: id +--- + +Sebuah kerentanan StartTLS *stripping* telah ditemukan pada Net::IMAP. +Kerentanan ini telah ditetapkan dengan penanda CVE +[CVE-2021-32066](https://nvd.nist.gov/vuln/detail/CVE-2021-32066). +Kami sangat merekomendasikan untuk memperbarui Ruby. + +net-imap adalah sebuah *default gem* pada Ruby 3.0.1, tetapi *gem* tersebut +memiliki masalah pengemasan. Sehingga, mohon perbarui Ruby. + +## Detail + +Net::IMAP tidak akan mengeluarkan sebuah *exception* jika StartTLS gagal +dengan sebuah respons yang tidak dikenal, yang mana mungkin memperbolehkan +penyerang *man-in-the-middle* untuk melewati perlindungan TLS dengan +memanfaatkan posisi jaringan antara *client* dan *registry* untuk mengeblok +perintah StartTLS, alias "StartTLS stripping attack." + +## Versi Terimbas + +* Rangkaian Ruby 2.6: 2.6.7 dan sebelumnya +* Rangkaian Ruby 2.7: 2.7.3 dan sebelumnya +* Rangkaian Ruby 3.0: 3.0.1 dan sebelumnya + +## Rujukan + +Terima kasih kepada [Alexandr Savca](https://hackerone.com/chinarulezzz) yang +telah melaporkan kerentanan ini. + +## Riwayat + +* Semula dipublikasikan pada 2021-07-07 09:00:00 UTC From 6a7c5e36a74e64d4b689bb89908be5fa68f1a19a Mon Sep 17 00:00:00 2001 From: billaul Date: Sun, 19 Dec 2021 17:22:33 +0100 Subject: [PATCH 2415/3394] Update index.md --- fr/community/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fr/community/index.md b/fr/community/index.md index 97898265cd..984296a32d 100644 --- a/fr/community/index.md +++ b/fr/community/index.md @@ -25,6 +25,12 @@ Quelques liens à visiter: disponibles. Si vous avez des questions sur Ruby, les poser sur une de ces listes est un moyen efficace pour obtenir rapidement des réponses. +[Server Discord Ruby (lien d'invitation)][ruby-discord] +: Le serveur Discord Ruby est un endroit où vous pouvez discuter avec + d'autres rubyistes, obtenir de l'aide pour vos questions sur Ruby ou + aider les autres. Discord est un bon point d'entrée pour les nouveaux + développeurs et il est facile à rejoindre. + [IRC (#ruby)](https://web.libera.chat/#ruby) : Le canal IRC anglophone #ruby est un endroit fantastique pour discuter en temps réel avec d’autres rubyistes. @@ -53,5 +59,6 @@ Informations générales [ruby-central]: http://rubycentral.org/ +[ruby-discord]: https://ruby-discord.com/ [ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/ [rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/ From 840bad163a6756708734b5d7626e037c83fc95ff Mon Sep 17 00:00:00 2001 From: Andrias Meisyal Date: Sat, 18 Dec 2021 20:23:19 +0700 Subject: [PATCH 2416/3394] Translate Ruby 2.6.8 released news (id) --- .../_posts/2021-07-07-ruby-2-6-8-released.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 id/news/_posts/2021-07-07-ruby-2-6-8-released.md diff --git a/id/news/_posts/2021-07-07-ruby-2-6-8-released.md b/id/news/_posts/2021-07-07-ruby-2-6-8-released.md new file mode 100644 index 0000000000..0b922bfdcc --- /dev/null +++ b/id/news/_posts/2021-07-07-ruby-2-6-8-released.md @@ -0,0 +1,64 @@ +--- +layout: news_post +title: "Ruby 2.6.8 Dirilis" +author: "usa" +translator: "meisyal" +date: 2021-07-07 09:00:00 +0000 +lang: id +--- + +Ruby 2.6.8 telah dirilis. + +Rilis ini memuat perbaikan keamanan. +Mohon cek topik-topik di bawah ini untuk lebih detail. + +* [CVE-2021-31810: Kerentanan respons FTP PASV yang dipercaya pada Net::FTP]({%link id/news/_posts/2021-07-07-trusting-pasv-responses-in-net-ftp.md %}) +* [CVE-2021-32066: Kerentanan StartTLS stripping pada Net::IMAP]({%link id/news/_posts/2021-07-07-starttls-stripping-in-net-imap.md %}) +* [CVE-2021-31799: Sebuah kerentanan command injection pada RDoc]({%link id/news/_posts/2021-05-02-os-command-injection-in-rdoc.md %}) + +Kami biasanya tidak memperbaiki Ruby 2.6, kecuali perbaikan keamanan. Tetapi, +rilis ini memuat beberapa perbaikan *regressed bug* dan *build problem*. +Lihat [commit logs](https://github.com/ruby/ruby/compare/v2_6_7...v2_6_8) +untuk detail. + +Ruby 2.6 saat ini berada pada fase perawatan keamanan hingga akhir Maret 2022. +Setelah bulan tersebut, perawatan Ruby 2.6 akan berakhir. +Kami merekomendasikan Anda untuk mulai merencanakan migrasi ke Ruby versi +terbaru, seperti 3.0 atau 2.7. + +## Unduh + +{% assign release = site.data.releases | where: "version", "2.6.8" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Komentar Rilis + +Banyak *committer*, pengembang, dan pengguna yang telah menyediakan laporan +*bug* membantu kami untuk membuat rilis ini. Terima kasih atas kontribusinya. From f1e7ad610a7aa5a5e48b4894a6c8b9b205b5afbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Wed, 22 Dec 2021 15:57:40 -0500 Subject: [PATCH 2417/3394] Translation of CVE 2021 41816 to spanish (#2760) * Translation of CVE 2021 41816 to spanish * lang es --- ...errun-in-cgi-escape_html-cve-2021-41816.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md diff --git a/es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md b/es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md new file mode 100644 index 0000000000..6a64284388 --- /dev/null +++ b/es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md @@ -0,0 +1,46 @@ +--- +layout: news_post +title: "CVE-2021-41816: Desbordamiento de búfer en CGI.escape_html" +author: "mame" +translator: vtamara +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: es +--- + +Una vulnerabilidad de desbordamiento de búfer fue descubierta en +CGI.escape_html. +A esta vulnerabilidad se le ha asignado el identificador CVE +[CVE-2021-41816](https://nvd.nist.gov/vuln/detail/CVE-2021-41816). +Recomendamos enfáticamente actualizar Ruby. + +## Detalles + +Una vulnerabilidad de seguridad que causa desbordamientos de búfer cuando +el usuario pasa una cadenas muy grande (> 700MB) a `CGI.escape_html` en +una plataforma donde el tipo `long` emplee 4 bytes, tipicamente, Windows. + +Por favor actualice la gema cgi a la versión 0.3.1, 0.2,1, y 0.1,1 o posterior. +Puede usar `gem update cgi` para actualizarla. Si está usando bundler, +por favor añada `gem "cgi", ">= 0.3.1"` a su archivo `Gemfile`. +Alternativamente, por favor actualice Ruby a 2.7.5 o a 3.0.3. + +Este problema fue introducido desde Ruby 2.7, así que las versiones de cgi +incorporadas en Ruby 2.6 no es vulnerable. + +## Versiones afectadas + +* Gema cgi 0.1.0 o anterior (que se distribuyó con la serie Ruby 2.7 antes de + Ruby 2.7.5) +* Gema cgi 0.2.0 o anterior (que se distribuyó con la serie Ruby 3.0 antes de + Ruby 3.0.3) +* Gema cgi 0.3.0 o anterior + +## Créditos + +Agradecimientos a [chamal](https://hackerone.com/chamal) por descubrir este +problema. + +## Historia + +* Publicado originalmente el 2021-11-24 12:00:00 (UTC) From b923ddb8c6558223d1f691749d21985022132c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Thu, 23 Dec 2021 09:38:46 -0500 Subject: [PATCH 2418/3394] Translation of CVE 2021-41819 to spanish (#2763) --- ...fing-in-cgi-cookie-parse-cve-2021-41819.md | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md diff --git a/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md b/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md new file mode 100644 index 0000000000..2648f13314 --- /dev/null +++ b/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md @@ -0,0 +1,59 @@ +--- +layout: news_post +title: "CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse" +author: "mame" +translator: vtamara +date: 2021-11-24 12:00:00 +0000 +tags: security +lang: es +--- + +Se descubrió una vulnerabilidad de suplantación de identidad de prefijos de +galletas (cookies) en CGI::Cookie.parse. +A esta vulnerabilidad se el ha asignado el identificador +CVE [CVE-2021-41819](https://nvd.nist.gov/vuln/detail/CVE-2021-41819). +Recomendamos con énfasis actualizar Ruby. + +## Detalles + +La antigua versión de `CGI::Cookie.parse` aplicaba decodificación de URL a los +nombres de galletas. +Un atacante podría explotar esta vulnerabilidad para suplantar prefijos de +seguridad en los nombres de las galletas, que podría permitirle engañar +a una aplicación vulnerable. + +Con este arreglo, `CGI::Cookie.parse` ya no decodifica los nombres +de las galletas. +Note que esto es una incompatibilidad si los nombres de galletas que +está usando incluyendo carácteres no alfanuméricos que no están +codificados como URL. + +Este es el mismo incidente [CVE-2020-8184](https://nvd.nist.gov/vuln/detail/CVE-2020-8184). + +Si está usando Ruby 2.7 o 3.0: + +* Por favor actualice la gema cgi a la versión 0.3.1, 0.2,1, y 0.1,1 + o posterior. Puede usar `gem update cgi` para actualizarla. Si usa + bundler por favor agregue `gem "cgi", ">= 0.3.1"` a su `Gemfile`. +* De manera alternativa, por favor actualice Ruby a 2.7.5 o 3.0.3. + +Si usa Ruby 2.6: + +* Por favor actualice Ruby a 2.6.9. *No puede usar `gem update cgi` con Ruby 2.6 + o anteriores.* + +## Versiones afectadas + +* ruby 2.6.8 o anteriores (*No* puede usar `gem update cgi` para esta versión.) +* Gema cgi 0.1.0 o anteriores (que son versiones incorporadas en la serie Ruby 2.7 antes de Ruby 2.7.5) +* Gema cgi 0.2.0 o anteriores (que son versiones incorporadas en la serie Ruby 3.0 antes de Ruby 3.0.3) +* Gema cgi 0.3.0 o anteriores + +## Créditos + +Agradecemos a [ooooooo_q](https://hackerone.com/ooooooo_q) por descubrir +este problema. + +## Historia + +* Publicado originalmente el 2021-11-24 12:00:00 (UTC) From 0df598db6ec35d2f8c9070e448110a354a78952a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Thu, 23 Dec 2021 11:53:56 -0500 Subject: [PATCH 2419/3394] Translation of release of Ruby 2.6.9, 2.7.5 and 3.0.3 to spanish (#2764) --- ...fing-in-cgi-cookie-parse-cve-2021-41819.md | 2 +- .../_posts/2021-11-24-ruby-2-6-9-released.md | 63 +++++++++++++++++++ .../_posts/2021-11-24-ruby-2-7-5-released.md | 63 +++++++++++++++++++ .../_posts/2021-11-24-ruby-3-0-3-released.md | 60 ++++++++++++++++++ 4 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 es/news/_posts/2021-11-24-ruby-2-6-9-released.md create mode 100644 es/news/_posts/2021-11-24-ruby-2-7-5-released.md create mode 100644 es/news/_posts/2021-11-24-ruby-3-0-3-released.md diff --git a/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md b/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md index 2648f13314..664dbe5b00 100644 --- a/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md +++ b/es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md @@ -1,6 +1,6 @@ --- layout: news_post -title: "CVE-2021-41819: Cookie Prefix Spoofing in CGI::Cookie.parse" +title: "CVE-2021-41819: Suplantación de identidad del prefijo de galletas en CGI::Cookie.parse" author: "mame" translator: vtamara date: 2021-11-24 12:00:00 +0000 diff --git a/es/news/_posts/2021-11-24-ruby-2-6-9-released.md b/es/news/_posts/2021-11-24-ruby-2-6-9-released.md new file mode 100644 index 0000000000..62f48cbae2 --- /dev/null +++ b/es/news/_posts/2021-11-24-ruby-2-6-9-released.md @@ -0,0 +1,63 @@ +--- +layout: news_post +title: "Publicado Ruby 2.6.9" +author: "usa" +translator: vtamara +date: 2021-11-24 12:00:00 +0000 +lang: es +--- + +Ruby 2.6.9 ha sido publicado. +CVE-2021-41819: Suplantación de identidad del prefijo de galletas en CGI::Cookie.parse +Esta versión incluye correcciones de seguridad. +Por favor revise los temas siguientes para ver detalles. +Please check the topics below for details. + +* [CVE-2021-41817: Vulnerabilidad de denegación de servicio por Expresiones Reguales en los métodos para reconocer fechas]({%link es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41819: Suplantación de identidad del prefijo de galletas en CGI::Cookie.parse]({%link es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +Ver detalles en la [bitácora de cambios](https://github.com/ruby/ruby/compare/v2_6_8...v2_6_9). + +Ruby 2.6 ahora está en la fase de mantenimiento de seguridad, hasta el final +de Marzo de 2022. +Tras esa fecha, cesará el mantenimiento a Ruby 2.6. +Le recomendamos empezar a planear la migración a una versińo más +reciente de ruby, tal como 3.0 o 2.7. + +## Descargas + +{% assign release = site.data.releases | where: "version", "2.6.9" | first %} + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Comentario de la versión + +Muchos contribuidores, desarrolladores y usuarios proveyeron reportes +de fallas que ayudaron a completar esta versión. +Gracias por sus contribuciones. diff --git a/es/news/_posts/2021-11-24-ruby-2-7-5-released.md b/es/news/_posts/2021-11-24-ruby-2-7-5-released.md new file mode 100644 index 0000000000..641d91f64f --- /dev/null +++ b/es/news/_posts/2021-11-24-ruby-2-7-5-released.md @@ -0,0 +1,63 @@ +--- +layout: news_post +title: "Publicado Ruby 2.7.5" +author: "usa" +translator: vtamara +date: 2021-11-24 12:00:00 +0000 +lang: es +--- + +Ruby 2.7.5 ha sido publicado. + +Esta versión incluye correcciones de seguridad. +Por favor revise los temas siguientes para ver detalles. + +* [CVE-2021-41817: Vulnerabilidad de denegación de servicio por Expresiones Reguales en los métodos para reconocer fechas]({%link es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41819: Suplantación de identidad del prefijo de galletas en CGI::Cookie.parse]({%link es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) +* [CVE-2021-41816: Desbordamiento de búfer en CGI.escape_html]({%link es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) + +Ver detalles en la +[bitácora de cambios](https://github.com/ruby/ruby/compare/v2_7_4...v2_7_5). + + +## Descargas + +{% assign release = site.data.releases | where: "version", "2.7.5" | first %} + + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Comentario de la versión + +Muchos contribuidores, desarrolladores y usuarios proveyeron reportes +de fallas que nos ayudaron a completar esta versión. +Gracias por sus contribuciones. + +El mantenimiento de Ruby 2.7, incluida esta versión, se basa en el "Acuerdo +para una versión estable de Ruby" de la Asociación Ruby. diff --git a/es/news/_posts/2021-11-24-ruby-3-0-3-released.md b/es/news/_posts/2021-11-24-ruby-3-0-3-released.md new file mode 100644 index 0000000000..1836129518 --- /dev/null +++ b/es/news/_posts/2021-11-24-ruby-3-0-3-released.md @@ -0,0 +1,60 @@ +--- +layout: news_post +title: "Publicación de Ruby 3.0.3" +author: "nagachika" +translator: vtamara +date: 2021-11-24 12:00:00 +0000 +lang: es +--- + +Ruby 3.0.3 ha sido publicado. + +Esta versión incluye correcciones de seguridad. +Por favor revise los temas siguientes para ver detalles. + +* [CVE-2021-41817: Vulnerabilidad de denegación de servicio por Expresiones Reguales en los métodos para reconocer fechas]({%link es/news/_posts/2021-11-15-date-parsing-method-regexp-dos-cve-2021-41817.md %}) +* [CVE-2021-41816: Desbordamiento de búfer en CGI.escape_html]({%link es/news/_posts/2021-11-24-buffer-overrun-in-cgi-escape_html-cve-2021-41816.md %}) +* [CVE-2021-41819: Suplantación de identidad del prefijo de galletas en CGI::Cookie.parse]({%link es/news/_posts/2021-11-24-cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819.md %}) + +Ver detalles en la +[bitácora de cambios](https://github.com/ruby/ruby/compare/v2_7_4...v2_7_5). + + +## Descargas + +{% assign release = site.data.releases | where: "version", "3.0.3" | first %} + + +* <{{ release.url.bz2 }}> + + SIZE: {{ release.size.bz2 }} + SHA1: {{ release.sha1.bz2 }} + SHA256: {{ release.sha256.bz2 }} + SHA512: {{ release.sha512.bz2 }} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Comentario de la versión + +Muchos contribuidores, desarrolladores y usuarios proveyeron reportes +de fallas que nos ayudaron a completar esta versión. +Gracias por sus contribuciones. From af3e0d344a11738ea684d0c2cf5e662f9f934228 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Sat, 25 Dec 2021 19:59:44 +0900 Subject: [PATCH 2420/3394] Ruby 3.1.0 Released (#2765) --- _data/branches.yml | 4 +- _data/downloads.yml | 2 +- _data/releases.yml | 24 ++ .../_posts/2021-12-25-ruby-3-1-0-released.md | 259 ++++++++++++++++++ .../_posts/2021-12-25-ruby-3-1-0-released.md | 256 +++++++++++++++++ 5 files changed, 542 insertions(+), 3 deletions(-) create mode 100644 en/news/_posts/2021-12-25-ruby-3-1-0-released.md create mode 100644 ja/news/_posts/2021-12-25-ruby-3-1-0-released.md diff --git a/_data/branches.yml b/_data/branches.yml index ebd2220b93..a4054fb534 100644 --- a/_data/branches.yml +++ b/_data/branches.yml @@ -9,8 +9,8 @@ # eol_date: date of EOL (YYYY-MM-DD) - name: 3.1 - status: preview - date: + status: normal maintenance + date: 2021-12-25 eol_date: - name: 3.0 diff --git a/_data/downloads.yml b/_data/downloads.yml index 54a2601a06..10644898d1 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -4,10 +4,10 @@ # optional preview: - - 3.1.0-preview1 stable: + - 3.1.0 - 3.0.3 - 2.7.5 diff --git a/_data/releases.yml b/_data/releases.yml index 82ff598065..a7a6341109 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -21,6 +21,30 @@ # 3.1 series +- version: 3.1.0 + date: 2021-12-25 + post: /en/news/2021/12/25/ruby-3-1-0-released/ + url: + gz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz + zip: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.zip + xz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.xz + size: + gz: 19204319 + zip: 23207824 + xz: 14051880 + sha1: + gz: 3945f8043286975cfc016d288abcb334574796d9 + zip: 88963d8244bb122668c1fc8dfa3a8a5289c87146 + xz: 3d5a9cae293763787185ccc04f05aecfb6790703 + sha256: + gz: 8dc75f2f7b5552a3a10abc22ffbf1bf85909326d715647dcdf5ce878c349a81d + zip: 8a051fdd5ba43bd072c3179bbc65c581974c06142b97aa049fe04ec6d5fc8447 + xz: 8594c076e1b06a896143d3a70163ddc12d81ca55c906ee5ee215587c2df52382 + sha512: + gz: ede15d99afb3087412a45038ad9266af67edc953fae08356a64235706766d171715bc927b045e1b07d0736cdf83f1891944b6861dad39f4519482135493cc93c + zip: f52ea893e158d79074ab7f551778df2189c184bc7b931e27ad0e7600ceab743d88d8b07ba3ff400b65c7866aa62734b72efe89216d5c4106391b40476f0d30ac + xz: 0ef0c19b6ae5af9878d8783a7b072e7f86c6d0e747866365564891c94452f334c901419bba80b6361c803c031ffa6b98d237eb4c6e017f8e6fe652cc336572de + - version: 3.1.0-preview1 date: 2021-11-09 post: /en/news/2021/11/09/ruby-3-1-0-preview1-released/ diff --git a/en/news/_posts/2021-12-25-ruby-3-1-0-released.md b/en/news/_posts/2021-12-25-ruby-3-1-0-released.md new file mode 100644 index 0000000000..caf363cc42 --- /dev/null +++ b/en/news/_posts/2021-12-25-ruby-3-1-0-released.md @@ -0,0 +1,259 @@ +--- +layout: news_post +title: "Ruby 3.1.0 Released" +author: "naruse" +translator: +date: 2021-12-25 00:00:00 +0000 +lang: en +--- + +{% assign release = site.data.releases | where: "version", "3.1.0" | first %} + +We are pleased to announce the release of Ruby {{ release.version }}. + + +## YJIT: New experimental in-process JIT compiler + + +Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify. + +Since [Ruby 2.6 introduced MJIT in 2018](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/), its performance greatly improved, and finally [we achieved Ruby3x3 last year](https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/). But even though Optcarrot has shown impressive speedups, the JIT hasn't benefited real world business applications. + +Recently Shopify contributed many Ruby improvements to speed up their Rails application. YJIT is an important contribution, and aims to improve the performance of Rails applications. + +Though MJIT is a method-based JIT compiler and uses an external C compiler, YJIT uses Basic Block Versioning and includes JIT compiler inside it. With Lazy Basic Block Versioning (LBBV) it first compiles the beginning of a method, and incrementally compiles the rest when the type of arguments and variables are dynamically determined. See [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) for a detailed introduction. + +With this technology, YJIT achieves both fast warmup time and performance improvements on most real-world software, up to 22% on railsbench, 39% on liquid-render. + +YJIT is still an experimental feature, and as such, it is disabled by default. If you want to use this, specify the `--yjit` command-line option to enable YJIT. It is also limited to Unix-like x86-64 platforms for now. + +* https://bugs.ruby-lang.org/issues/18229 +* https://shopify.engineering/yjit-just-in-time-compiler-cruby +* https://www.youtube.com/watch?v=PBVLf3yfMs8 + +## debug gem: A new debugger + +A completely rewritten debugger [debug.gem](https://github.com/ruby/debug) is bundled. debug.gem has the following features: + +* Improve the debugging performance (it does not slow down the application even with the debugger) +* Support remote debugging +* Support rich debugging frontend (VSCode and Chrome browser are supported now) +* Support multi-process/multi-thread debugging +* Colorful REPL +* And other useful features like recod & replay feature, tracing feature and so on. + + + +Ruby had bundled lib/debug.rb, but it was not well maintained and it had issues about performance and features. debug.gem replaced lib/debug.rb completely. + +## error_highlight: Fine-grained error location in backtrace + +A built-in gem, error_highlight, has been introduced. It includes fine-grained error location in backtrace: + +``` +$ ruby test.rb +test.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +Currently, only `NameError` is supported. + +This gem is enabled by default. You can disable it by using a command-line option `--disable-error_highlight`. See [the repository](https://github.com/ruby/error_highlight) in detail. + +## IRB Autocomplete and Document Display + +The IRB now has an autocomplete feature, where you can just type in the code, and the completion candidates dialog will appear. You can use Tab and Shift+Tab to move up and down. + +If documents are installed when you select a completion candidate, the documentation dialog will appear next to the completion candidates dialog, showing part of the content. You can read the full document by pressing Alt+d. + + + + +## Other Notable New Features + +### Language + +* Values in Hash literals and keyword arguments can be omitted. [Feature #14579] + * `{x:, y:}` is a syntax sugar of `{x: x, y: y}`. + * `foo(x:, y:)` is a syntax sugar of `foo(x: x, y: y)`. + +* Pin operator in pattern matching now takes an expression. [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + +* Parentheses can be omitted in one-line pattern matching. [Feature #16182] + +```ruby +[0, 1] => _, x +{y: 2} => y: +x #=> 1 +y #=> 2 +``` + +### RBS + +RBS is a language to describe the structure of Ruby programs. See [the repository](https://github.com/ruby/rbs) for details. + +Updates since Ruby 3.0.0: + +* Generic type parameters can be bounded. ([PR](https://github.com/ruby/rbs/pull/844)) +* Generic type aliases are supported. ([PR](https://github.com/ruby/rbs/pull/823)) +* `rbs collection` has been introduced to manage gems' RBSs. ([doc](https://github.com/ruby/rbs/blob/master/docs/collection.md)) +* Many signatures for built-in and standard libraries have been added/updated. +* It includes many bug fixes and performance improvements too. + +See [the CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) for more information. + +### TypeProf + +TypeProf is a static type analyzer for Ruby. It generates a prototype of RBS from non-type-annotated Ruby code. See [the document](https://github.com/ruby/typeprof/blob/master/doc/doc.md) for detail. + +The main updates since Ruby 3.0.0 is an experimental IDE support called "TypeProf for IDE". + +![Demo of TypeProf for IDE](https://cache.ruby-lang.org/pub/media/ruby310_typeprof_ide_demo.png) + +The vscode extension shows a guessed (or explicitly written in a RBS file) method signature above each method definition, draws a red underline under the code that may cause a name error or type error, and completes method names (i.e., shows method candidates). See [the document](https://github.com/ruby/typeprof/blob/master/doc/ide.md) in detail. + +Also, the release includes many bug fixes and performance improvements. + +## Performance improvements + +* MJIT + * For workloads like Rails, the default `--jit-max-cache` is changed from 100 to 10000. + The JIT compiler no longer skips compilation of methods longer than 1000 instructions. + * To support Zeitwerk of Rails, JIT-ed code is no longer cancelled + when a TracePoint for class events is enabled. + +## Other notable changes since 3.0 + +* One-line pattern matching, e.g., `ary => [x, y, z]`, is no longer experimental. +* Multiple assignment evaluation order has been changed slightly. [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443) + * `foo[0], bar[0] = baz, qux` was evaluated in order `baz`, `qux`, `foo`, and then `bar` in Ruby 3.0. In Ruby 3.1, it is evaluated in order `foo`, `bar`, `baz`, and then `qux`. +* Variable Width Allocation: Strings (experimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) + +* Psych 4.0 changes `Psych.load` as `safe_load` by the default. + You may need to use Psych 3.3.2 for migrating to this behavior. + [[Bug #17866]](https://bugs.ruby-lang.org/issues/17866) + +### Standard libraries updates + +* The following default gem are updated. + * RubyGems 3.3.3 + * base64 0.1.1 + * benchmark 0.2.0 + * bigdecimal 3.1.1 + * bundler 2.3.3 + * cgi 0.3.1 + * csv 3.2.2 + * date 3.2.2 + * did_you_mean 1.6.1 + * digest 3.1.0 + * drb 2.1.0 + * erb 2.2.3 + * error_highlight 0.3.0 + * etc 1.3.0 + * fcntl 1.0.1 + * fiddle 1.1.0 + * fileutils 1.6.0 + * find 0.1.1 + * io-console 0.5.9 + * io-wait 0.2.1 + * ipaddr 1.2.3 + * irb 1.4.1 + * json 2.6.1 + * logger 1.5.0 + * net-http 0.2.0 + * net-protocol 0.1.2 + * nkf 0.1.1 + * open-uri 0.2.0 + * openssl 3.0.0 + * optparse 0.2.0 + * ostruct 0.5.2 + * pathname 0.2.0 + * pp 0.3.0 + * prettyprint 0.1.1 + * psych 4.0.3 + * racc 1.6.0 + * rdoc 6.4.0 + * readline 0.0.3 + * readline-ext 0.1.4 + * reline 0.3.0 + * resolv 0.2.1 + * rinda 0.1.1 + * ruby2_keywords 0.0.5 + * securerandom 0.1.1 + * set 1.0.2 + * stringio 3.0.1 + * strscan 3.0.1 + * tempfile 0.1.2 + * time 0.2.0 + * timeout 0.2.0 + * tmpdir 0.1.2 + * un 0.2.0 + * uri 0.11.0 + * yaml 0.2.0 + * zlib 2.1.1 +* The following bundled gems are updated. + * minitest 5.15.0 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.3 + * rexml 3.2.5 + * rbs 2.0.0 + * typeprof 0.21.1 +* The following default gems are now bundled gems. You need to add the following libraries to `Gemfile` under the bundler environment. + * net-ftp 0.1.3 + * net-imap 0.2.2 + * net-pop 0.1.1 + * net-smtp 0.3.1 + * matrix 0.4.2 + * prime 0.1.2 + * debug 1.4.0 + +See [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) +or [commit logs](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}) +for more details. + +With those changes, [{{ release.stats.files_changed }} files changed, {{ release.stats.insertions }} insertions(+), {{ release.stats.deletions }} deletions(-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket) +since Ruby 3.0.0! + +Merry Christmas, Happy Holidays, and enjoy programming with Ruby 3.1! + +## Download + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## What is Ruby + +Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993, +and is now developed as Open Source. It runs on multiple platforms +and is used all over the world especially for web development. diff --git a/ja/news/_posts/2021-12-25-ruby-3-1-0-released.md b/ja/news/_posts/2021-12-25-ruby-3-1-0-released.md new file mode 100644 index 0000000000..b8f5a29bfa --- /dev/null +++ b/ja/news/_posts/2021-12-25-ruby-3-1-0-released.md @@ -0,0 +1,256 @@ +--- +layout: news_post +title: "Ruby 3.1.0 リリース" +author: "naruse" +translator: +date: 2021-12-25 00:00:00 +0000 +lang: ja +--- + +Ruby 3.1系初のリリースである、Ruby 3.1.0 が公開されました。 + +{% assign release = site.data.releases | where: "version", "3.1.0" | first %} + + +## YJIT: New experimental in-process JIT compiler + +Ruby 3.1では、Shopifyが開発した新しいプロセス内JITコンパイラであるYJITをマージしました。 + +[2018年のRuby 2.6でMJITをマージ](https://www.ruby-lang.org/ja/news/2018/12/25/ruby-2-6-0-released/)して以来、そのパフォーマンスは年々改善され、去年には[Ruby3x3を無事達成](https://www.ruby-lang.org/ja/news/2020/12/25/ruby-3-0-0-released/)しました。比較的大規模なOptcarrotベンチマークでは輝かしい高速化を達成したMJITですが、一方で現実の業務アプリケーションの性能はこれまで改善出来ていませんでした。 + +近年Shopifyは彼らのRailsアプリケーションを高速化するため、Rubyに対して多くの貢献をしてきました。YJITはその中でも重要な貢献であり、Railsアプリケーションをさらに高速化するために開発されました。 + +MJITがメソッドベースのJITコンパイラであり、外部のCコンパイラを利用しているのに対し、YJITではBasic Block Versioningという技術を用いた独自のJITコンパイラをRuby内部に持っています。YJITの用いているLazy Basic Block Versioning (LBBC)では、まずメソッドの冒頭のみをコンパイルし、実行時に実際に値が渡されて引数や変数の値が明らかになってから残りをコンパイルするという手法を用いることで、動的プログラミング言語においても効率のよいJITを実現しています。詳細は [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) を参照ください。 + +これらの技術によって、YJITでは素早い起動と高速な実行を多くの実世界のアプリケーションに対して実現しており、railsbenchでは最大22%、liquied-renderでは39%の高速化を達成しています。 + +YJITはまだ実験的機能なため、デフォルトでは無効化されています。試してみたい場合には `--yjit` コマンドラインオプションを指定することでYJITを有効化出来ます。現在YJITはx86-64上のUnix系プラットフォームでのみ実行出来ます。 + +* https://bugs.ruby-lang.org/issues/18229 +* https://shopify.engineering/yjit-just-in-time-compiler-cruby +* https://www.youtube.com/watch?v=PBVLf3yfMs8 + +## debug gem: 新しいデバッガ + +完全に0から書き直したデバッガである [debug.gem](https://github.com/ruby/debug) が同梱されました。次のような特徴があります。 + +* デバッグ時の速度低下を極力生じないよう改善 +* リモートデバッグのサポート +* リッチなデバッガフロントエンドに対応(現在 VSCode と Chrome ブラウザに対応) +* マルチプロセス、マルチスレッドプログラムのデバッグに対応 +* カラフルな REPL +* そのほか、Record & Replay 機能やトレース機能など、様々な便利機能 + + + +Rubyにはこれまでも lib/debug.rb が同梱されていましたが、あまりメンテナンスされておらず、性能や機能に問題がありました。debug.gem はこれを完全に置き換えます。 + +## error_highlight: バックトレース中の詳細なエラー位置表示 + +error_highlightという組み込みgemが導入されました。これにより、バックトレース中でエラーが発生した詳細な位置が表示されます。 + +``` +$ ruby test.rb +test.rb:1:in `
': undefined method `time' for 1:Integer (NoMethodError) + +1.time {} + ^^^^^ +Did you mean? times +``` + +現在のところ、位置が表示されるのは`NameError`のみです。 + +このgemはデフォルトで有効になっています。`--disable-error_highlight`コマンドラインオプションを指定することで無効化できます。詳しくは[ruby/error_highlightリポジトリ](https://github.com/ruby/error_highlight)を見てください。 + +## IRB のオートコンプリートとドキュメント表示 + +IRB にオートコンプリート機能が実装され、コードを入力するだけで補完候補ダイアログが表示されるようになりました。Tab と Shift+Tab で上下に移動できます。 + +また、補完候補を選択している時に、ドキュメントがインストールされている場合、補完候補ダイアログの横にドキュメントダイアログが表示され、内容が一部表示されます。Alt+d を押すことでドキュメント全文を読むことができます。 + + + +## その他の主要な新機能 + +### 言語機能 + +* ハッシュリテラルやキーワード引数の値が省略可能になりました。 [Feature #14579] + * `{x:, y:}` は、`{x: x, y: y}` の糖衣構文です。 + * `foo(x:, y:)` は、`foo(x: x, y: y)` の糖衣構文です。 + +* パターンマッチ中のピン演算子に任意の式を書けるようになりました。 [Feature #17411] + +```ruby +Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a +#=> [[3, 5], [5, 7], [11, 13]] +``` + +* 一行パターンマッチで括弧が省略できるようになりました. [Feature #16182] + +```ruby +[0, 1] => _, x +{y: 2} => y: +x #=> 1 +y #=> 2 +``` + + +### RBS + +[RBS](https://github.com/ruby/rbs)はRubyプログラムの型を定義するための言語です。 + +3.0.0からは、次の様なアップデートがありました。 + +* ジェネリクスの型パラメータに制約を与えることができるようになりました。 ([PR](https://github.com/ruby/rbs/pull/844)) +* ジェネリックな型エイリアスが定義できようになりました。 ([PR](https://github.com/ruby/rbs/pull/823)) +* gemのRBSを管理するための`rbs collection`コマンドが導入されました。 ([doc](https://github.com/ruby/rbs/blob/master/docs/collection.md)) +* いろいろな組み込みクラスの型定義が追加、更新されました。 +* 多数のバグ修正と性能の改善が含まれています。 + +詳しくは[CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)を確認してください。 + +### TypeProf + +TypeProfはRubyの静的型解析器です。型注釈のないRubyコードから、RBSのプロトタイプを生成します。詳しくは[ドキュメント](https://github.com/ruby/typeprof/blob/master/doc/doc.md)をご参照ください. + +Ruby 3.0.0からの主なアップデートは、"TypeProf for IDE"という実験的なIDEサポートです。 + +![Demo of TypeProf for IDE](https://cache.ruby-lang.org/pub/media/ruby310_typeprof_ide_demo.png) + +このVSCode拡張は、推定された(またはRBSファイルに手で明記された)メソッドのシグネチャを、各メソッド定義の上に表示します。 +また、NameErrorやTypeErrorを起こしうるコードを赤い下線で示します。 +さらに、メソッド名の補完(メソッド名の候補の表示)を行います。 +詳しくは[ドキュメント](https://github.com/ruby/typeprof/blob/master/doc/ide.md)をご参照ください。 + +また、数多くのバグ修正やパフォーマンス向上がなされています。 + +## パフォーマンスの改善 + +* MJIT + * For workloads like Rails, the default `--jit-max-cache` is changed from 100 to 10000. + The JIT compiler no longer skips compilation of methods longer than 1000 instructions. + * To support Zeitwerk of Rails, JIT-ed code is no longer cancelled + when a TracePoint for class events is enabled. + + +## その他の注目すべき 3.0 からの変更点 + +* 一行パターンマッチ(たとえば `ary => [x, y, z]`)が実験的機能ではなくなりました。 + +* 多重代入の評価順序が若干変更されました。[[Bug #4443]](https://bugs.ruby-lang.org/issues/4443) + * `foo[0], bar[0] = baz, qux` は、Ruby 3.0 では `baz`, `qux`, `foo`, `bar` という順序で評価されていましたが、Ruby 3.1 では `foo`, `bar`, `baz`, `qux` の順で表kされます。 + +* 可変幅アロケーション(Variable Width Allocation)が実装されました。現在は試験的にStringが対応しています。 [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239) + +* Psych 4.0 では `Psych.load` が `safe_load` を利用するように変更されました。この挙動が影響ある場合は、従来の挙動である `unsafe_load` を利用する Psych 3.3.2 を移行パスとして利用できます。[[Bug #17866]](https://bugs.ruby-lang.org/issues/17866) + +## 標準添付ライブラリのアップデート + +* 以下の default gems のバージョンがアップデートされました。 + * RubyGems 3.3.3 + * base64 0.1.1 + * benchmark 0.2.0 + * bigdecimal 3.1.1 + * bundler 2.3.3 + * cgi 0.3.1 + * csv 3.2.2 + * date 3.2.2 + * did_you_mean 1.6.1 + * digest 3.1.0 + * drb 2.1.0 + * erb 2.2.3 + * error_highlight 0.3.0 + * etc 1.3.0 + * fcntl 1.0.1 + * fiddle 1.1.0 + * fileutils 1.6.0 + * find 0.1.1 + * io-console 0.5.9 + * io-wait 0.2.1 + * ipaddr 1.2.3 + * irb 1.4.1 + * json 2.6.1 + * logger 1.5.0 + * net-http 0.2.0 + * net-protocol 0.1.2 + * nkf 0.1.1 + * open-uri 0.2.0 + * openssl 3.0.0 + * optparse 0.2.0 + * ostruct 0.5.2 + * pathname 0.2.0 + * pp 0.3.0 + * prettyprint 0.1.1 + * psych 4.0.3 + * racc 1.6.0 + * rdoc 6.4.0 + * readline 0.0.3 + * readline-ext 0.1.4 + * reline 0.3.0 + * resolv 0.2.1 + * rinda 0.1.1 + * ruby2_keywords 0.0.5 + * securerandom 0.1.1 + * set 1.0.2 + * stringio 3.0.1 + * strscan 3.0.1 + * tempfile 0.1.2 + * time 0.2.0 + * timeout 0.2.0 + * tmpdir 0.1.2 + * un 0.2.0 + * uri 0.11.0 + * yaml 0.2.0 + * zlib 2.1.1 +* 以下の bundled gems のバージョンがアップデートされました。 + * minitest 5.15.0 + * power_assert 2.0.1 + * rake 13.0.6 + * test-unit 3.5.3 + * rexml 3.2.5 + * rbs 2.0.0 + * typeprof 0.21.1 +* 以下のライブラリが新たに bundled gems になりました。Bundler から利用する場合は Gemfile に明示的に指定してください。 + * net-ftp 0.1.3 + * net-imap 0.2.2 + * net-pop 0.1.1 + * net-smtp 0.3.1 + * matrix 0.4.2 + * prime 0.1.2 + * debug 1.4.0 + + +その他詳細については、[NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md) ファイルまたは[コミットログ](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }})を参照してください。 + +なお、こうした変更により、Ruby 3.0.0 以降では [{{ release.stats.files_changed }} 個のファイルに変更が加えられ、{{ release.stats.insertions }} 行の追加と {{ release.stats.deletions }} 行の削除が行われました](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket) ! + +メリークリスマス、様々な機能が追加された Ruby 3.1 をぜひお楽しみ下さい! + +## ダウンロード + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Ruby とは + +Rubyはまつもとゆきひろ (Matz) によって1993年に開発が始められ、今もオープンソースソフトウェアとして開発が続けられています。Rubyは様々なプラットフォームで動き、世界中で、特にWebアプリケーション開発のために使われています。 From 9d266cfb613f62b4adb37cf857aca5e93a96171b Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Sat, 25 Dec 2021 20:41:25 +0900 Subject: [PATCH 2421/3394] Ruby 3 1 0 released 2 (#2766) * fix videos * Add stats to _data/releases.yml --- _data/releases.yml | 5 +++++ en/news/_posts/2021-12-25-ruby-3-1-0-released.md | 5 ++--- ja/news/_posts/2021-12-25-ruby-3-1-0-released.md | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/_data/releases.yml b/_data/releases.yml index a7a6341109..d84d0c9226 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -24,6 +24,11 @@ - version: 3.1.0 date: 2021-12-25 post: /en/news/2021/12/25/ruby-3-1-0-released/ + tag: ruby_3_1_0 + stats: + files_changed: 3123 + insertions: 551754 + deletions: 99153 url: gz: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz zip: https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.zip diff --git a/en/news/_posts/2021-12-25-ruby-3-1-0-released.md b/en/news/_posts/2021-12-25-ruby-3-1-0-released.md index caf363cc42..9e80c9e092 100644 --- a/en/news/_posts/2021-12-25-ruby-3-1-0-released.md +++ b/en/news/_posts/2021-12-25-ruby-3-1-0-released.md @@ -71,11 +71,10 @@ The IRB now has an autocomplete feature, where you can just type in the code, an If documents are installed when you select a completion candidate, the documentation dialog will appear next to the completion candidates dialog, showing part of the content. You can read the full document by pressing Alt+d. -