Module: Footnotes::Extensions::Routes
- Defined in:
- lib/rails-footnotes/notes/routes_note.rb
Instance Method Summary collapse
- #__hash_diff(hash_self, other) ⇒ Object
-
#filtered_routes(filter = {}) ⇒ Object
Filter routes according to the filter sent.
Instance Method Details
#__hash_diff(hash_self, other) ⇒ Object
37 38 39 40 41 |
# File 'lib/rails-footnotes/notes/routes_note.rb', line 37 def __hash_diff(hash_self, other) # ActiveSupport::Deprecation.warn "Hash#diff is no longer used inside of Rails, # and is being deprecated with no replacement. If you're using it to compare hashes for the purpose of testing, please use MiniTest's diff instead." hash_self.dup.delete_if { |k, v| other[k] == v }.merge!(other.dup.delete_if { |k, v| hash_self.has_key?(k) }) end |
#filtered_routes(filter = {}) ⇒ Object
Filter routes according to the filter sent
45 46 47 48 49 50 51 52 53 |
# File 'lib/rails-footnotes/notes/routes_note.rb', line 45 def filtered_routes(filter = {}) return [] unless filter.is_a?(Hash) return routes.reject do |r| filter_diff = __hash_diff(filter, r.requirements) route_diff = __hash_diff(r.requirements, filter) (filter_diff == filter) || (filter_diff != route_diff) end end |