Hey guys, We''ve been talking about the multi-byte patch and I think it''s time to get feedback from you guys on a possible way forward. We can include ActiveSupport::Multibyte with rails 1.2, and update all of the relevant helpers to use the String#chars proxy. This will mean that none of the action view helpers will mangle multibyte strings. Similarly, if any Strings are being mangled in ActiveRecord or anywhere else, we''ll accept patches to fix them. But any iconv conversions in actionpack, or database encoding changes will be left to plugin authors. Perhaps by the time that rails 2.0 comes around these plugins will have gained critical mass and best-practises will have emerged, letting us add them to the core. Similarly, encodings other than utf-8 can be provided by plugins. Comments? -- Cheers Koz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
If Rails is going this direction, I think this is the right way to approach it. Can''t David just get the world to conform to using English? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 10/2/06, MacProBob <bobtheslob@gmail.com> wrote:> > If Rails is going this direction, I think this is the right way to > approach it. > > Can''t David just get the world to conform to using English? >He''s king of the internet, not the world. -- Rick Olson http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On Oct 2, 2006, at 7:35 PM, Rick Olson wrote:>> >> Can''t David just get the world to conform to using English? > > He''s king of the internet, not the world.Sorry I can never go back to ascii again, I need my smiley faces, skulls and wheelchair glyphs! Manfred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 2 Oct 2006, at 19:31 , MacProBob wrote:> Can''t David just get the world to conform to using English?Even English is a lot nicer with proper punctuation, math symbols, 44 different star symbols and let''s not forget Skull and Crossbones: ☠ Kind regards, Thijs -- Fingertips - http://www.fngtps.com Phone: +31 (0)6 24204845 Skype: tvandervossen MSN Messenger: thijs@fngtps.com iChat/AOL: t.vandervossen@mac.com Jabber IM: thijs@jabber.org
> Even English is a lot nicer with proper punctuation, math symbols, 44 > different star symbols and let's not forget Skull and Crossbones: ☠Yeah, there's no way I'm building apps without the Skull and Crossbones. Ok, no one seemed to object to our plan, it's now 'the plan'. I'll merge ActiveSupport:Multibyte this evening some time. After that we'll take individual patches for all the cases in the other components which mangle multibyte strings. To make it easier to merge each of those patches should: * Address one helper / bug * Contain unit tests * have a keyword of multibytebug Then I'll make an effort to review and merge them quickly. Also, get the word out that this is the last chance to object or provide feedback on our multi byte plan. -- Cheers Koz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 10/2/06, Michael Koziarski <michael@koziarski.com> wrote:> Ok, no one seemed to object to our plan, it''s now ''the plan''. I''ll > merge ActiveSupport:Multibyte this evening some time. After that > we''ll take individual patches for all the cases in the other > components which mangle multibyte strings. > > To make it easier to merge each of those patches should: > > * Address one helper / bug > * Contain unit tests > * have a keyword of multibytebugI assume you would not be opposed to a patch that checks for JRuby and defers unicode processing to our built-in support, right? It wouldn''t cause any additional overhead for MRI, but could make unicode string processing quite a bit faster under JRuby. I''m not sure what such a patch would look like, but I wanted to know that it wouldn''t be rejected offhand if we came up with something. -- Contribute to RubySpec! @ www.headius.com/rubyspec Charles Oliver Nutter @ headius.blogspot.com Ruby User @ ruby.mn --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 03/10/2006, at 9:08 AM, Charles O Nutter wrote:> I assume you would not be opposed to a patch that checks for JRuby and > defers unicode processing to our built-in support, right? It wouldn''t > cause any additional overhead for MRI, but could make unicode string > processing quite a bit faster under JRuby.Might this be better done as a plugin or similar? -- tim lucas --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
> I''m not sure what such a patch would look like, but I wanted to know > that it wouldn''t be rejected offhand if we came up with something.Sure, assuming it''s elegant and low/no overhead, I can''t see anything wrong with that. -- Cheers Koz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 10/2/06, Tim Lucas <t.lucas@toolmantim.com> wrote:> > Might this be better done as a plugin or similar?Assuming it''s possible to do in a plugin, that is. Ideally, though, I don''t want JRubyists to be penalized because Ruby can''t support unicode natively, which is what the requirement to install an additional plugin basically amounts to. If we can provide the Chars implementation through native means, all it would require is calling JRuby''s built-in code rather than deferring to the pure Ruby version, and everything else should remain the same. All hypothetical at the moment, but we''ll hopefully get something concrete out soon. -- Contribute to RubySpec! @ www.headius.com/rubyspec Charles Oliver Nutter @ headius.blogspot.com Ruby User @ ruby.mn --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On Oct 3, 2006, at 2:44 AM, Charles O Nutter wrote:> > If we can provide the Chars implementation through native means, all > it would require is calling JRuby''s built-in code rather than > deferring to the pure Ruby version, and everything else should remain > the same.The chars accessor is added to the string in a core_ext. You can easily replace the chars method on String for JRuby support. class String def chars; self; end end The biggest problem with this is that you will not be able to use the normalization routines. Another solution would be to register a new backend handler with ActiveSupport::Multibyte which goes something like this: ActiveSupport::Multibyte::Chars.handler = MyHandler Although registering the JRuby string methods as a handler would impose some method calling overhead. Manfred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 10/3/06, Manfred Stienstra <manfred@gmail.com> wrote:> The chars accessor is added to the string in a core_ext. You can > easily replace the chars method on String for JRuby support. > > class String > def chars; self; end > end > > The biggest problem with this is that you will not be able to use the > normalization routines. Another solution would be to register a new > backend handler with ActiveSupport::Multibyte which goes something > like this: > > ActiveSupport::Multibyte::Chars.handler = MyHandler > > Although registering the JRuby string methods as a handler would > impose some method calling overhead.I''d be willing to bet a pure-Java implementation of the handler methods would more than make up for the overhead. Thanks for the tips! -- Contribute to RubySpec! @ www.headius.com/rubyspec Charles Oliver Nutter @ headius.blogspot.com Ruby User @ ruby.mn --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 3-okt-2006, at 1:08, Charles O Nutter wrote:> I''m not sure what such a patch would look like, but I wanted to know > that it wouldn''t be rejected offhand if we came up with somethingYou will be on the safe side of things if you implement it as a Handler form Multibyte, you can do it later when the codebases are merged. -- Julian ''Julik'' Tarkhanov please send all personal mail to me at julik.nl --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
> If we can provide the Chars implementation through native means, all > it would require is calling JRuby''s built-in code rather than > deferring to the pure Ruby version, and everything else should remain > the same. > > All hypothetical at the moment, but we''ll hopefully get something > concrete out soon.We need to make this work as an extension that''s part of running JRuby. We can''t have JRuby specific conditionals in Rails proper. That''s just opening the gates to hell. Let''s definitely figure out how to use Ruby''s dynamic nature to make this work. Even changing the code to make it easier to overwrite, ala the handler suggestion. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 10/3/06, DHH <david.heinemeier@gmail.com> wrote:> We need to make this work as an extension that''s part of running JRuby. > We can''t have JRuby specific conditionals in Rails proper. That''s just > opening the gates to hell. Let''s definitely figure out how to use > Ruby''s dynamic nature to make this work. Even changing the code to make > it easier to overwrite, ala the handler suggestion.I agree, and I never meant that it should "if jruby do something". That would accomplish nothing for other implementations as they begin to build out their own support for Unicode...including MRI. It would be more along the lines of checking for an existing String#chars implementation or an existing Handler (something less unpleasant than a factory pattern, hopefully) and deferring to that implementation instead. I''m just looking for a way for JRuby''s Unicode capabilities to be fully leveraged by Rails without requiring plugins or hacks. I think the suggestions on this list can be made to work with what we have in JRuby. In fact, I''ll try to come up with a Chars-compatible interface today, to see how easily it maps to Java''s String. -- Contribute to RubySpec! @ www.headius.com/rubyspec Charles Oliver Nutter @ headius.blogspot.com Ruby User @ ruby.mn --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 3-okt-2006, at 17:42, Charles O Nutter wrote:> > I''ll try to come up with a Chars-compatible interface > today, to see how easily it maps to Java''s String.Let me know if you need any help. Manfred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
> Ok, no one seemed to object to our plan, it''s now ''the plan''. I''ll > merge ActiveSupport:Multibyte this evening some time. After that > we''ll take individual patches for all the cases in the other > components which mangle multibyte strings. > > To make it easier to merge each of those patches should: > > * Address one helper / bug > * Contain unit tests > * have a keyword of multibytebug >This has now been applied: http://dev.rubyonrails.org/changeset/5223 Please get working on test cases and bug fixes for the parts of rails which mangle multibyte strings. Thanks to Julian Tarkhanov, Manfred Stienstra & Jan Behrens for their work. -- Cheers Koz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
Michael Koziarski wrote:> > Ok, no one seemed to object to our plan, it''s now ''the plan''. I''ll > > merge ActiveSupport:Multibyte this evening some time. After that > > we''ll take individual patches for all the cases in the other > > components which mangle multibyte strings. > > > This has now been applied: > > http://dev.rubyonrails.org/changeset/5223I''ve created a short movie to show some of the features of the chars accessor. Might be a nice introduction to the world of multibyte safeness in Ruby (: http://www.fngtps.com/2006/10/activesupport-multibyte Thanks, Manfred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
On 4-okt-2006, at 1:47, Michael Koziarski wrote:> This has now been applied: > > http://dev.rubyonrails.org/changeset/5223 > > Please get working on test cases and bug fixes for the parts of rails > which mangle multibyte strings. > > Thanks to Julian Tarkhanov, Manfred Stienstra & Jan Behrens for > their work.We find this totally awesome, thx Michael --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core -~----------~----~----~----~------~----~------~--~---
Hi, I just encountered my first MultiByte problem with Rails <= 1.1 I guess I have been lucky. I am just wondering if ActiveSupport::MultiByte fix this specific case. render_text _("Rename selected %s to `%s'' now.") % [params[:item_type], params[''name'']] the two params[''xx''] contains Japanese strings. and are displayed as %u65D7%u9F13 but since I never had this problem before, I doubt the problem is actually the % operator. while it may be. I think it is important to note this is happening through Ajax. which might be causing the problem as well. Would this work under rails 1.2 with ActiveSupport::MultiByte and is it possible to install ActiveSupport::MultiByte on rails 1.1.6 ? thanks -- http://blog.somekool.net/ Mathieu On 10/2/06, Michael Koziarski <michael@koziarski.com> wrote:> > > Hey guys, > > We''ve been talking about the multi-byte patch and I think it''s time to > get feedback from you guys on a possible way forward. > > We can include ActiveSupport::Multibyte with rails 1.2, and update all > of the relevant helpers to use the String#chars proxy. This will mean > that none of the action view helpers will mangle multibyte strings. > Similarly, if any Strings are being mangled in ActiveRecord or > anywhere else, we''ll accept patches to fix them. > > But any iconv conversions in actionpack, or database encoding changes > will be left to plugin authors. Perhaps by the time that rails 2.0 > comes around these plugins will have gained critical mass and > best-practises will have emerged, letting us add them to the core. > Similarly, encodings other than utf-8 can be provided by plugins. > > Comments? > > -- > Cheers > > Koz > > > >-- gcc -O0 -DRUBY_EXPORT -rdynamic -Wl,-export-dynamic -L. main.o -lruby-static -ldl -lcrypt -lm -o ruby Everyone is trying their hardest to do their job but management has set it up so that it''s impossible. Take the control over your money, track your expenses http://justbudget.com Mathieu --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
On Nov 12, 2006, at 12:37 PM, Mathieu Jobin wrote:> > I just encountered my first MultiByte problem with Rails <= 1.1 > I guess I have been lucky. > I am just wondering if ActiveSupport::MultiByte fix this specific > case.I''m inclined to say no. Multibyte doesn''t magically solve any problems you might have with multibyte encoded strings. It solves problems with encoded strings in most Rails methods that handle string somehow, like view helpers.> render_text _("Rename selected %s to `%s'' now.") % [params > [:item_type], params[''name'']] > > the two params[''xx''] contains Japanese strings. and are displayed as > > %u65D7%u9F13Have you checked what the actual encoding of the strings is before you assign to the string? One good test to is too check if they''re utf-8 by calling String#is_utf8?.> but since I never had this problem before, I doubt the problem is > actually the % operator. while it may be. I think it is important > to note this is happening through Ajax. which might be causing the > problem as well.Most data processing pipelines still aren''t utf-8 by default. You have to make sure that everything is doing the utf-8 dance. So make sure the page where the request is coming from was served with ;charset=utf-8 in the content-type. You might even want to specify the content-type with a meta tag. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> If you''re getting Ajax request from a page beyond your control, you might be out of luck because it''s hard to find out what encoding your getting the string in. If you know what encoding they''re sending you can fix the encoding with iconv.> Would this work under rails 1.2 with ActiveSupport::MultiByte and > is it possible to install ActiveSupport::MultiByte on rails 1.1.6 ?If it doesn''t work in the rails-1.2 pre-release branch, it''s probably not going to change for the release unless it''s a major bug. It is very possible to install ActiveSupport::Multibyte in older versions of Rails. You only get the ActiveSupport::Multibyte namespace with all the operations, not all the code fixes currently in edge. You can find more information about this on: https://fngtps.com/projects/ multibyte_for_rails/wiki/WikiStart --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
ok,... thanks for the info. I guess I am missing the meta-charset in the ajax view. its kind of a weird place to put it but I''ll try anyway. On 11/12/06, Manfred Stienstra <manfred@gmail.com> wrote:> > > On Nov 12, 2006, at 12:37 PM, Mathieu Jobin wrote: > > > > I just encountered my first MultiByte problem with Rails <= 1.1 > > I guess I have been lucky. > > I am just wondering if ActiveSupport::MultiByte fix this specific > > case. > > I''m inclined to say no. Multibyte doesn''t magically solve any > problems you might have with multibyte encoded strings. It solves > problems with encoded strings in most Rails methods that handle > string somehow, like view helpers. > > > render_text _("Rename selected %s to `%s'' now.") % [params > > [:item_type], params[''name'']] > > > > the two params[''xx''] contains Japanese strings. and are displayed as > > > > %u65D7%u9F13 > > Have you checked what the actual encoding of the strings is before > you assign to the string? One good test to is too check if they''re > utf-8 by calling String#is_utf8?. > > > but since I never had this problem before, I doubt the problem is > > actually the % operator. while it may be. I think it is important > > to note this is happening through Ajax. which might be causing the > > problem as well. > > Most data processing pipelines still aren''t utf-8 by default. You > have to make sure that everything is doing the utf-8 dance. So make > sure the page where the request is coming from was served > with ;charset=utf-8 in the content-type. You might even want to > specify the content-type with a meta tag. > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > > If you''re getting Ajax request from a page beyond your control, you > might be out of luck because it''s hard to find out what encoding your > getting the string in. If you know what encoding they''re sending you > can fix the encoding with iconv. > > > Would this work under rails 1.2 with ActiveSupport::MultiByte and > > is it possible to install ActiveSupport::MultiByte on rails 1.1.6 ? > > If it doesn''t work in the rails-1.2 pre-release branch, it''s probably > not going to change for the release unless it''s a major bug. It is > very possible to install ActiveSupport::Multibyte in older versions > of Rails. You only get the ActiveSupport::Multibyte namespace with > all the operations, not all the code fixes currently in edge. You can > find more information about this on: https://fngtps.com/projects/ > multibyte_for_rails/wiki/WikiStart > > > > >-- gcc -O0 -DRUBY_EXPORT -rdynamic -Wl,-export-dynamic -L. main.o -lruby-static -ldl -lcrypt -lm -o ruby Everyone is trying their hardest to do their job but management has set it up so that it''s impossible. Take the control over your money, track your expenses http://justbudget.com Mathieu --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
On Nov 12, 2006, at 3:21 PM, Mathieu Jobin wrote:> ok,... thanks for the info. I guess I am missing the meta-charset > in the ajax view. its kind of a weird place to put it but I''ll try > anyway.The meta shouldn''t make any difference if the page is served with the correct content-type. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---