diff options
-rw-r--r-- | actionpack/lib/action_view/path_set.rb | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/actionpack/lib/action_view/path_set.rb b/actionpack/lib/action_view/path_set.rb index b84d9431a4..e9773120c7 100644 --- a/actionpack/lib/action_view/path_set.rb +++ b/actionpack/lib/action_view/path_set.rb @@ -6,8 +6,7 @@ module ActionView #:nodoc: attr_reader :paths def initialize(paths = []) - @paths = paths - typecast! + @paths = typecast paths end def initialize_copy(other) @@ -19,10 +18,6 @@ module ActionView #:nodoc: paths.dup end - def +(array) - PathSet.new(paths + array) - end - def include?(item) paths.include? item end @@ -35,19 +30,22 @@ module ActionView #:nodoc: paths.size end + def each(&block) + paths.each(&block) + end + def compact PathSet.new paths.compact end - def each(&block) - paths.each(&block) + def +(array) + PathSet.new(paths + array) end %w(<< concat push insert unshift).each do |method| class_eval <<-METHOD, __FILE__, __LINE__ + 1 def #{method}(*args) - paths.#{method}(*args) - typecast! + paths.#{method}(*typecast(args)) end METHOD end @@ -73,7 +71,7 @@ module ActionView #:nodoc: protected - def typecast! + def typecast(paths) paths.each_with_index do |path, i| path = path.to_s if path.is_a?(Pathname) next unless path.is_a?(String) |