From 0f92b7326155ca4cd80391d083136f4cda53f1b0 Mon Sep 17 00:00:00 2001 From: Reg Braithwaite Date: Tue, 30 Oct 2012 14:41:39 -0400 Subject: [PATCH] fix linx --- README.md | 26 +++++++++++++------------- doc/block_anaphora.md | 4 ++-- doc/call_by_name.md | 4 ++-- doc/extension_methods.md | 4 ++-- doc/into.md | 4 ++-- doc/returning.md | 6 +++--- doc/string_to_block.md | 4 ++-- rewrite_rails.gemspec | 2 +- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index f340d56..9c52b24 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ The RewriteRails Plug-In ======================== -The [RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master) plug-in adds syntactic abstractions like [Andand](http://github.com/raganwald/rewrite_rails/tree/master/doc/andand.textile "") and [String to Block](http://github.com/raganwald/rewrite_rails/tree/master/doc/string_to_block.md#readme "") to Rails projects [without monkey-patching](http://avdi.org/devblog/2008/02/23/why-monkeypatching-is-destroying-ruby/ "Monkeypatching is Destroying Ruby"). All of the power and convenience, none of the compatibility woes and head-aches. +The [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master) plug-in adds syntactic abstractions like [Andand](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/andand.textile "") and [String to Block](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/string_to_block.md#readme "") to Rails projects [without monkey-patching](http://avdi.org/devblog/2008/02/23/why-monkeypatching-is-destroying-ruby/ "Monkeypatching is Destroying Ruby"). All of the power and convenience, none of the compatibility woes and head-aches. Status --- ![Abandoned Detroit Building](http://4.bp.blogspot.com/_KpwLRD2yHOc/SbV08STzgwI/AAAAAAAACOc/KLzn19-KAvM/s400/crumbling_dome_2.jpg) -RewriteRails is not in active development at this time. RewriteRails evolved from [Rewrite](http://github.com/raganwald/rewrite). Rewrite asked the question "Can syntactic meta-programming work in Ruby?" The answer was "Yes." RewriteRails asked the question "Can syntactic meta-programming be convenient enough to be useful in an actual production Rails project?" The answer was "Yes, but..." +RewriteRails is not in active development at this time. RewriteRails evolved from [Rewrite](http://github.com/raganwald-deprecated/rewrite). Rewrite asked the question "Can syntactic meta-programming work in Ruby?" The answer was "Yes." RewriteRails asked the question "Can syntactic meta-programming be convenient enough to be useful in an actual production Rails project?" The answer was "Yes, but..." For more information, read [A Difficult Distraction](https://github.com/raganwald/homoiconic/blob/master/2010/02/difficult_distraction.md#readme) and [Why I Write Concept Software](https://github.com/raganwald/homoiconic/blob/master/2010/09/concept.md#readme). Also, [Forgotten Detroit][fg] has more interesting pictures like this. @@ -28,21 +28,21 @@ Q & A **What language features does RewriteRails support?** -* [Andand](http://github.com/raganwald/rewrite_rails/tree/master/doc/andand.textile) is a lightweight Maybe Monad. The RewriteRails version provides shortcut execution semantics. -* [Into](http://github.com/raganwald/rewrite_rails/tree/master/doc/into.md#readme) is a Thrush Combinator. -* [String to Block](http://github.com/raganwald/rewrite_rails/tree/master/doc/string_to_block.md#readme) provides a really lightweight syntax for writing pure functional blocks. -* [Call by Name](http://github.com/raganwald/rewrite_rails/tree/master/doc/call_by_name.md#readme) is a really easy way to fake your own macros without needing to fool around with syntax trees. -* [Extension Methods](http://github.com/raganwald/rewrite_rails/tree/master/doc/extension_methods.md#readme) lets you extend classes with your own methods without global monkey-patches. -* [Returning](http://github.com/raganwald/rewrite_rails/tree/master/doc/returning.md#readme) improves Rails' Kestrel Combinator by handling re-assignment. -* [Block Anaphora](http://github.com/raganwald/rewrite_rails/tree/master/doc/block_anaphora.md#readme) provides support for Groovy's `it` and Common Lisp's Anaphora. +* [Andand](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/andand.textile) is a lightweight Maybe Monad. The RewriteRails version provides shortcut execution semantics. +* [Into](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/into.md#readme) is a Thrush Combinator. +* [String to Block](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/string_to_block.md#readme) provides a really lightweight syntax for writing pure functional blocks. +* [Call by Name](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/call_by_name.md#readme) is a really easy way to fake your own macros without needing to fool around with syntax trees. +* [Extension Methods](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/extension_methods.md#readme) lets you extend classes with your own methods without global monkey-patches. +* [Returning](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/returning.md#readme) improves Rails' Kestrel Combinator by handling re-assignment. +* [Block Anaphora](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/block_anaphora.md#readme) provides support for Groovy's `it` and Common Lisp's Anaphora. **Do we really have to go to all the trouble of rewriting code to support these features?** -Some of rewriters--such as [Into](http://github.com/raganwald/rewrite_rails/tree/master/doc/into.md#readme) and [Extension Methods](http://github.com/raganwald/rewrite_rails/tree/master/doc/extension_methods.md#readme)--could have been implemented by opening core classes and monkey-patching, but implementing them as rewriters means that you have higher performance and [fewer conflicts with existing code](http://blog.lawrencepit.com/2009/01/11/try-as-you-might/ "Try() as you might"). +Some of rewriters--such as [Into](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/into.md#readme) and [Extension Methods](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/extension_methods.md#readme)--could have been implemented by opening core classes and monkey-patching, but implementing them as rewriters means that you have higher performance and [fewer conflicts with existing code](http://blog.lawrencepit.com/2009/01/11/try-as-you-might/ "Try() as you might"). -Some of the rewriters--such as [Andand](http://github.com/raganwald/rewrite_rails/tree/master/doc/andand.textile) and [String to Block](http://github.com/raganwald/rewrite_rails/tree/master/doc/string_to_block.md#readme "doc/string_to_block.md")--have better semantics when implemented using rewriting instead of opening classes. +Some of the rewriters--such as [Andand](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/andand.textile) and [String to Block](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/string_to_block.md#readme "doc/string_to_block.md")--have better semantics when implemented using rewriting instead of opening classes. -And some of the rewriters--such as [Call by Name](http://github.com/raganwald/rewrite_rails/tree/master/doc/call_by_name.md#readme) and [Block Anaphora](http://github.com/raganwald/rewrite_rails/tree/master/doc/block_anaphora.md#readme "doc/block_anaphora.md")--simply cannot be implemented without rewriting code. +And some of the rewriters--such as [Call by Name](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/call_by_name.md#readme) and [Block Anaphora](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/block_anaphora.md#readme "doc/block_anaphora.md")--simply cannot be implemented without rewriting code. **How does it work?** @@ -107,7 +107,7 @@ Second, it's better for you *today*. If someone else goes wild with monkey-patch **Sounds great! Are there any issues I should know about before jumping in with both feet?** -[Yes](http://github.com/raganwald/rewrite_rails/tree/master/doc/issues.md#readme "Issues"). +[Yes](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/doc/issues.md#readme "Issues"). **How does this differ from the old rewrite gem?** diff --git a/doc/block_anaphora.md b/doc/block_anaphora.md index 9ef7014..29e978f 100644 --- a/doc/block_anaphora.md +++ b/doc/block_anaphora.md @@ -1,7 +1,7 @@ Block Anaphora === -The [RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master) plugin supports Block Anaphora: When writing a block that takes just one parameter, you can use either `it` or `its` as a parameter without actually declaring the parameter using `{ |it| ... }`. This is a win whenever the purpose of the block and the parameter is obvious, for example: +The [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master) plugin supports Block Anaphora: When writing a block that takes just one parameter, you can use either `it` or `its` as a parameter without actually declaring the parameter using `{ |it| ... }`. This is a win whenever the purpose of the block and the parameter is obvious, for example: Person.all(...).map { its.first_name } @@ -33,4 +33,4 @@ The post [Anaphora in Ruby](http://github.com/raganwald/homoiconic/blob/master/2 --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/doc/call_by_name.md b/doc/call_by_name.md index 0c7e471..d838e33 100644 --- a/doc/call_by_name.md +++ b/doc/call_by_name.md @@ -1,7 +1,7 @@ Call by Name === -[RewriteRails](http://github.com/raganwald/rewrite_rails "raganwald's rewrite_rails at master - GitHub") supports creation of things that look like Kernel methods with [Call by Name](http://en.wikipedia.org/wiki/Call-by-value "Evaluation strategy - Wikipedia, the free encyclopedia") semantics. It works like this. First, you write an instance method in the `RewriteRails::CallByName` module: +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails "raganwald's rewrite_rails at master - GitHub") supports creation of things that look like Kernel methods with [Call by Name](http://en.wikipedia.org/wiki/Call-by-value "Evaluation strategy - Wikipedia, the free encyclopedia") semantics. It works like this. First, you write an instance method in the `RewriteRails::CallByName` module: RewriteRails::CallByName.class_eval do def try_these(*expressions) @@ -137,4 +137,4 @@ My answer: *You use them as if they were instance methods defined in Kernel, so --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/doc/extension_methods.md b/doc/extension_methods.md index 0fc4f0f..6321ced 100644 --- a/doc/extension_methods.md +++ b/doc/extension_methods.md @@ -3,7 +3,7 @@ Extension Methods > An **extension method** is a new language feature of C# starting with the 3.0 specification, as well as Visual Basic.NET starting with 9.0 and Oxygene with 2.0. Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. For client code written in C# and Visual Basic, there is no apparent difference between calling an extension method and the methods that are actually defined in a type. --[Wikipedia](http://en.wikipedia.org/wiki/Extension_method "Extension Methods") -With [RewriteRails](http://github.com/raganwald/rewrite_rails "raganwald's rewrite_rails"), you can now write Extension Methods for your Ruby on Rails projects. Just like in C#, you can "add" methods to existing classes or module (like Enumerable) without modifying the original class or module. The benefit is that your changes *never* [conflict with other code](http://github.com/raganwald/homoiconic/blob/master/2009-04-08/sick.md#readme "I'm Sick of this Shit"). The headaches of opening core classes simply go away. +With [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails "raganwald's rewrite_rails"), you can now write Extension Methods for your Ruby on Rails projects. Just like in C#, you can "add" methods to existing classes or module (like Enumerable) without modifying the original class or module. The benefit is that your changes *never* [conflict with other code](http://github.com/raganwald/homoiconic/blob/master/2009-04-08/sick.md#readme "I'm Sick of this Shit"). The headaches of opening core classes simply go away. **How to Write an Extension Method** @@ -226,4 +226,4 @@ Don't forget that like extension methods defined in `RewriteRails::ExtensionMeth --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/doc/into.md b/doc/into.md index b0b8be3..604e639 100644 --- a/doc/into.md +++ b/doc/into.md @@ -26,7 +26,7 @@ But we are not interested in theory. `#into` may be equivalent to what we can ac Rewriting `#into` --- -In [RewriteRails](http://github.com/raganwald/rewrite_rails "raganwald's rewrite_rails at master - GitHub"), `#into` is implemented with local assignment. So our example above: +In [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails "raganwald's rewrite_rails at master - GitHub"), `#into` is implemented with local assignment. So our example above: (1..100).select(&:odd?).inject(&:+).into { |x| x * x } @@ -55,4 +55,4 @@ The monkey-patching version also works with things that can be converted to proc --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/doc/returning.md b/doc/returning.md index ffe8c0d..596c62c 100644 --- a/doc/returning.md +++ b/doc/returning.md @@ -1,7 +1,7 @@ Returning === -The [RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master) plug-in now includes its own version of #returning that overrides the #returning shipping with ActiveSupport :-o +The [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master) plug-in now includes its own version of #returning that overrides the #returning shipping with ActiveSupport :-o When RewriteRails is processing source code, it turns code like this: @@ -36,9 +36,9 @@ Like all processors in RewriteRails, #returning is only rewritten in `.rr` files **More** -* [returning.rb](http://github.com/raganwald/rewrite_rails/tree/master/lib/rewrite_rails/returning.rb "") +* [returning.rb](http://github.com/raganwald-deprecated/rewrite_rails/tree/master/lib/rewrite_rails/returning.rb "") * [Rewriting Returning in Rails](http://github.com/raganwald/homoiconic/blob/master/2009-08-29/returning.md#readme "") --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/doc/string_to_block.md b/doc/string_to_block.md index 9a67f8b..aeae818 100644 --- a/doc/string_to_block.md +++ b/doc/string_to_block.md @@ -96,7 +96,7 @@ When should we use all these tricks? How does *String to Block* differ from `String#to_proc`? --- -First, [RewriteRails](http://github.com/raganwald/rewrite_rails "raganwald's rewrite_rails at master - GitHub") preprocesses your Ruby code before the file is read. Therefore, you only pay the cost of converting a String to a Block once, not every time the code is evaluated. This is a very big performance optimization. Second, *String to Block* only works with literal strings. It isn't possible to construct a string at run time and then convert it to a block with `&`. +First, [RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails "raganwald's rewrite_rails at master - GitHub") preprocesses your Ruby code before the file is read. Therefore, you only pay the cost of converting a String to a Block once, not every time the code is evaluated. This is a very big performance optimization. Second, *String to Block* only works with literal strings. It isn't possible to construct a string at run time and then convert it to a block with `&`. Third (and this is a subtle point), `String#to_proc` worked by using `eval` in the global environment, therefore the procs it produced were not closures in the ordinary sense of the word. For example, with `String#to_proc`: @@ -116,4 +116,4 @@ This works because RewriteRails doesn't construct a string and ask Ruby to `eval --- -[RewriteRails](http://github.com/raganwald/rewrite_rails/tree/master#readme) \ No newline at end of file +[RewriteRails](http://github.com/raganwald-deprecated/rewrite_rails/tree/master#readme) \ No newline at end of file diff --git a/rewrite_rails.gemspec b/rewrite_rails.gemspec index af63b95..4c8bcaf 100644 --- a/rewrite_rails.gemspec +++ b/rewrite_rails.gemspec @@ -4,7 +4,7 @@ Gem::Specification.new do |s| s.date = "2009-01-06" s.summary = "Code rewriting for Ruby on Rails projects" s.email = "reg@braythwayt.com" - s.homepage = "hhttp://github.com/raganwald/rewrite_rails/tree/master" + s.homepage = "hhttp://github.com/raganwald-deprecated/rewrite_rails/tree/master" s.description = " Code rewriting for Ruby on Rails projects." s.has_rdoc = false s.authors = ["Reg Braithwaite"]