Commit 09766fbe1a27cb31f04f3a50098a4bbc5ecf0127

Authored by Daniela Feitosa
2 parents 7840737a 7bb97e2d

Merge branch 'merge-requests/63'

vendor/plugins/active_record_validations_delete/init.rb
... ... @@ -1,9 +0,0 @@
1   -# monkey patch to remove a single error from the errors collection
2   -# http://dev.rubyonrails.org/ticket/8137
3   -
4   -ActiveRecord::Errors.module_eval do
5   - # remove a single error from the errors collection by key
6   - def delete(key)
7   - @errors.delete(key.to_s)
8   - end
9   -end
vendor/plugins/attachment_fu_validates_attachment/init.rb
... ... @@ -1,34 +0,0 @@
1   -# friendlier attachment validations by Tim Lucas
2   -# ref.: http://toolmantim.com/article/2007/12/3/rollin_your_own_attachment_fu_messages_evil_twin_stylee
3   -
4   -Technoweenie::AttachmentFu::InstanceMethods.module_eval do
5   - protected
6   - def attachment_valid?
7   - if self.filename.nil?
8   - errors.add :empty, attachment_validation_options[:empty]
9   - return
10   - end
11   - [:content_type, :size].each do |option|
12   - if attachment_validation_options[option] && attachment_options[option] && !attachment_options[option].include?(self.send(option))
13   - errors.add option, attachment_validation_options[option]
14   - end
15   - end
16   - end
17   -end
18   -
19   -Technoweenie::AttachmentFu::ClassMethods.module_eval do
20   - # Options:
21   - # * <tt>:empty</tt> - Base error message when no file is uploaded. Default is "No file uploaded"
22   - # * <tt>:content_type</tt> - Base error message when the uploaded file is not a valid content type.
23   - # * <tt>:size</tt> - Base error message when the uploaded file is not a valid size.
24   - #
25   - # Example:
26   - # validates_attachment :content_type => "The file you uploaded was not a JPEG, PNG or GIF",
27   - # :size => "The image you uploaded was larger than the maximum size of 10MB"
28   - def validates_attachment(options={})
29   - options[:empty] ||= "No file uploaded"
30   - class_inheritable_accessor :attachment_validation_options
31   - self.attachment_validation_options = options
32   - validate :attachment_valid?
33   - end
34   -end
vendor/plugins/monkey_patches/active_record_validations_delete/init.rb 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +# monkey patch to remove a single error from the errors collection
  2 +# http://dev.rubyonrails.org/ticket/8137
  3 +
  4 +ActiveRecord::Errors.module_eval do
  5 + # remove a single error from the errors collection by key
  6 + def delete(key)
  7 + @errors.delete(key.to_s)
  8 + end
  9 +end
... ...
vendor/plugins/monkey_patches/attachment_fu_validates_attachment/init.rb 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +# friendlier attachment validations by Tim Lucas
  2 +# ref.: http://toolmantim.com/article/2007/12/3/rollin_your_own_attachment_fu_messages_evil_twin_stylee
  3 +
  4 +Technoweenie::AttachmentFu::InstanceMethods.module_eval do
  5 + protected
  6 + def attachment_valid?
  7 + if self.filename.nil?
  8 + errors.add :empty, attachment_validation_options[:empty]
  9 + return
  10 + end
  11 + [:content_type, :size].each do |option|
  12 + if attachment_validation_options[option] && attachment_options[option] && !attachment_options[option].include?(self.send(option))
  13 + errors.add option, attachment_validation_options[option]
  14 + end
  15 + end
  16 + end
  17 +end
  18 +
  19 +Technoweenie::AttachmentFu::ClassMethods.module_eval do
  20 + # Options:
  21 + # * <tt>:empty</tt> - Base error message when no file is uploaded. Default is "No file uploaded"
  22 + # * <tt>:content_type</tt> - Base error message when the uploaded file is not a valid content type.
  23 + # * <tt>:size</tt> - Base error message when the uploaded file is not a valid size.
  24 + #
  25 + # Example:
  26 + # validates_attachment :content_type => "The file you uploaded was not a JPEG, PNG or GIF",
  27 + # :size => "The image you uploaded was larger than the maximum size of 10MB"
  28 + def validates_attachment(options={})
  29 + options[:empty] ||= "No file uploaded"
  30 + class_inheritable_accessor :attachment_validation_options
  31 + self.attachment_validation_options = options
  32 + validate :attachment_valid?
  33 + end
  34 +end
... ...
vendor/plugins/monkey_patches/schema_dumper_sort_indexes/init.rb 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +# based on https://rails.lighthouseapp.com/projects/8994/tickets/1266-order-add_index-statements-in-schemarb
  2 +# only needed for rails < 2.2
  3 +if Rails::VERSION::STRING < "2.2.0"
  4 + class ActiveRecord::SchemaDumper
  5 + def indexes(table, stream)
  6 + if (indexes = @connection.indexes(table)).any?
  7 +
  8 + add_index_statements = indexes.map do |index|
  9 + statment_parts = [ ('add_index ' + index.table.inspect) ]
  10 + statment_parts << index.columns.inspect
  11 + statment_parts << (':name => ' + index.name.inspect)
  12 + statment_parts << ':unique => true' if index.unique
  13 +
  14 + ' ' + statment_parts.join(', ')
  15 + end
  16 +
  17 + stream.puts add_index_statements.sort.join("\n")
  18 + stream.puts
  19 + end
  20 + end
  21 + end
  22 +end
... ...
vendor/plugins/monkey_patches/touch/init.rb 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +if ActiveRecord::Base.instance_methods.include?("touch") && Class.const_defined?('TOUCH_LOADED')
  2 + puts "W: ActiveRecord already provides a touch method, which means you must be using rails 2.3.3 or later."
  3 + puts "W: In this case the touch plugin could probably be removed"
  4 +end
  5 +TOUCH_LOADED = true
  6 +
  7 +module Touch
  8 + def touch
  9 + update_attribute(:updated_at, Time.now)
  10 + end
  11 +end
  12 +
  13 +ActiveRecord::Base.send(:include, Touch)
... ...
vendor/plugins/monkey_patches/white_list_sanitizer_unescape_before_reescape/init.rb 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +# monkey patch to fix WhiteListSanitizer bug
  2 +# http://apidock.com/rails/HTML/WhiteListSanitizer/process_attributes_for
  3 +#
  4 +# this was solved in rails 2.2.1, then remove this patch when upgrade to it
  5 +
  6 +HTML::WhiteListSanitizer.module_eval do
  7 +
  8 + def sanitize_with_filter_fixes(*args, &block)
  9 + text = sanitize_without_filter_fixes(*args, &block)
  10 + if text
  11 + final_text = text.gsub(/&lt;!/, '<!')
  12 + final_text = final_text.gsub(/<!--.*\[if IE\]-->(.*)<!--\[endif\]-->/, '<!–-[if IE]>\1<![endif]-–>') #FIX for itheora comments
  13 +
  14 + final_text = final_text.gsub(/&amp;quot;/, '&quot;') #FIX problems with archive.org
  15 + final_text
  16 + end
  17 + end
  18 + alias_method_chain :sanitize, :filter_fixes
  19 +
  20 + # unescape before reescape to avoid:
  21 + # & -> &amp; -> &amp;amp; -> &amp;amp;amp; -> &amp;amp;amp;amp; -> etc
  22 + protected
  23 + def process_attributes_for(node, options)
  24 + return unless node.attributes
  25 + node.attributes.keys.each do |attr_name|
  26 + value = node.attributes[attr_name].to_s
  27 +
  28 + if !options[:attributes].include?(attr_name) || contains_bad_protocols?(attr_name, value)
  29 + node.attributes.delete(attr_name)
  30 + else
  31 + node.attributes[attr_name] = attr_name == 'style' ? sanitize_css(value) : CGI::escapeHTML(value.gsub('&amp;', '&'))
  32 + end
  33 + end
  34 + end
  35 +end
... ...
vendor/plugins/monkey_patches/will_paginate_check_finder_sql/init.rb 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +# monkey patch to fix WillPaginate bug
  2 +# this was solved in will_paginate 3.x.pre, then remove this patch when upgrade to it
  3 +#
  4 +# http://sod.lighthouseapp.com/projects/17958/tickets/120-paginate-association-with-finder_sql-raises-typeerror
  5 +require 'will_paginate'
  6 +
  7 +WillPaginate::Finder::ClassMethods.module_eval do
  8 + def paginate_with_finder_sql(*args)
  9 + if respond_to?(:proxy_reflection) && !proxy_reflection.options[:finder_sql].nil?
  10 + # note: paginate_by_sql ignores the blocks. So don't pass the block
  11 + paginate_by_sql(@finder_sql, args.extract_options!)
  12 + else
  13 + paginate_without_finder_sql(*args)
  14 + end
  15 + end
  16 + # patch to deal with the custom_sql scenario
  17 + alias_method_chain :paginate, :finder_sql
  18 +end
... ...
vendor/plugins/schema_dumper_sort_indexes/init.rb
... ... @@ -1,22 +0,0 @@
1   -# based on https://rails.lighthouseapp.com/projects/8994/tickets/1266-order-add_index-statements-in-schemarb
2   -# only needed for rails < 2.2
3   -if Rails::VERSION::STRING < "2.2.0"
4   - class ActiveRecord::SchemaDumper
5   - def indexes(table, stream)
6   - if (indexes = @connection.indexes(table)).any?
7   -
8   - add_index_statements = indexes.map do |index|
9   - statment_parts = [ ('add_index ' + index.table.inspect) ]
10   - statment_parts << index.columns.inspect
11   - statment_parts << (':name => ' + index.name.inspect)
12   - statment_parts << ':unique => true' if index.unique
13   -
14   - ' ' + statment_parts.join(', ')
15   - end
16   -
17   - stream.puts add_index_statements.sort.join("\n")
18   - stream.puts
19   - end
20   - end
21   - end
22   -end
vendor/plugins/touch/init.rb
... ... @@ -1,13 +0,0 @@
1   -if ActiveRecord::Base.instance_methods.include?("touch") && Class.const_defined?('TOUCH_LOADED')
2   - puts "W: ActiveRecord already provides a touch method, which means you must be using rails 2.3.3 or later."
3   - puts "W: In this case the touch plugin could probably be removed"
4   -end
5   -TOUCH_LOADED = true
6   -
7   -module Touch
8   - def touch
9   - update_attribute(:updated_at, Time.now)
10   - end
11   -end
12   -
13   -ActiveRecord::Base.send(:include, Touch)
vendor/plugins/white_list_sanitizer_unescape_before_reescape/init.rb
... ... @@ -1,35 +0,0 @@
1   -# monkey patch to fix WhiteListSanitizer bug
2   -# http://apidock.com/rails/HTML/WhiteListSanitizer/process_attributes_for
3   -#
4   -# this was solved in rails 2.2.1, then remove this patch when upgrade to it
5   -
6   -HTML::WhiteListSanitizer.module_eval do
7   -
8   - def sanitize_with_filter_fixes(*args, &block)
9   - text = sanitize_without_filter_fixes(*args, &block)
10   - if text
11   - final_text = text.gsub(/&lt;!/, '<!')
12   - final_text = final_text.gsub(/<!--.*\[if IE\]-->(.*)<!--\[endif\]-->/, '<!–-[if IE]>\1<![endif]-–>') #FIX for itheora comments
13   -
14   - final_text = final_text.gsub(/&amp;quot;/, '&quot;') #FIX problems with archive.org
15   - final_text
16   - end
17   - end
18   - alias_method_chain :sanitize, :filter_fixes
19   -
20   - # unescape before reescape to avoid:
21   - # & -> &amp; -> &amp;amp; -> &amp;amp;amp; -> &amp;amp;amp;amp; -> etc
22   - protected
23   - def process_attributes_for(node, options)
24   - return unless node.attributes
25   - node.attributes.keys.each do |attr_name|
26   - value = node.attributes[attr_name].to_s
27   -
28   - if !options[:attributes].include?(attr_name) || contains_bad_protocols?(attr_name, value)
29   - node.attributes.delete(attr_name)
30   - else
31   - node.attributes[attr_name] = attr_name == 'style' ? sanitize_css(value) : CGI::escapeHTML(value.gsub('&amp;', '&'))
32   - end
33   - end
34   - end
35   -end
vendor/plugins/will_paginate_check_finder_sql/init.rb
... ... @@ -1,18 +0,0 @@
1   -# monkey patch to fix WillPaginate bug
2   -# this was solved in will_paginate 3.x.pre, then remove this patch when upgrade to it
3   -#
4   -# http://sod.lighthouseapp.com/projects/17958/tickets/120-paginate-association-with-finder_sql-raises-typeerror
5   -require 'will_paginate'
6   -
7   -WillPaginate::Finder::ClassMethods.module_eval do
8   - def paginate_with_finder_sql(*args)
9   - if respond_to?(:proxy_reflection) && !proxy_reflection.options[:finder_sql].nil?
10   - # note: paginate_by_sql ignores the blocks. So don't pass the block
11   - paginate_by_sql(@finder_sql, args.extract_options!)
12   - else
13   - paginate_without_finder_sql(*args)
14   - end
15   - end
16   - # patch to deal with the custom_sql scenario
17   - alias_method_chain :paginate, :finder_sql
18   -end