aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/vendor/tmail/compat.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/lib/action_mailer/vendor/tmail/compat.rb')
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail/compat.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/actionmailer/lib/action_mailer/vendor/tmail/compat.rb b/actionmailer/lib/action_mailer/vendor/tmail/compat.rb
new file mode 100644
index 0000000000..9d2aa83798
--- /dev/null
+++ b/actionmailer/lib/action_mailer/vendor/tmail/compat.rb
@@ -0,0 +1,39 @@
+unless Enumerable.method_defined?(:map)
+ module Enumerable
+ alias map collect
+ end
+end
+
+unless Enumerable.method_defined?(:select)
+ module Enumerable
+ alias select find_all
+ end
+end
+
+unless Enumerable.method_defined?(:reject)
+ module Enumerable
+ def reject
+ result = []
+ each do |i|
+ result.push i unless yield(i)
+ end
+ result
+ end
+ end
+end
+
+unless Enumerable.method_defined?(:sort_by)
+ module Enumerable
+ def sort_by
+ map {|i| [yield(i), i] }.sort.map {|val, i| i }
+ end
+ end
+end
+
+unless File.respond_to?(:read)
+ def File.read(fname)
+ File.open(fname) {|f|
+ return f.read
+ }
+ end
+end