Sha256: e7a094d1ed558889efd1990f459a434954ce59c7215de7bdb70c8118cd546980
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
require 'route_dog/middleware' require 'route_dog/report' require 'route_dog/railtie' if defined?(Rails) module RouteDog def self.config_file File.join(Rails.root, 'config', 'middlewares_route_dog.yml') end def self.watched_routes_file File.join(Rails.root, 'tmp', 'route_dog_routes.yml') end def self.load_watched_routes YAML.load_file(watched_routes_file) rescue Errno::ENOENT {} end def self.write_watched_routes(routes) File.open(watched_routes_file, "w+") {|file| file.puts(routes.to_yaml) } end def self.delete_watched_routes_file File.delete(watched_routes_file) if File.exists?(watched_routes_file) end # When method.nil? it respond to all methods. def self.route_tested_with_requirements?(controller, action, method) begin available_methods = load_watched_routes[controller.to_s.downcase][action.to_s.downcase] method.nil? ? available_methods.any? : available_methods.include?(method.to_s.downcase) rescue false end end def self.route_tested?(route) requirements = route.requirements route_tested_with_requirements?(requirements[:controller], requirements[:action], route.verb) end def self.constantize_controller_str(controller) controller.split("/").map{|c| c.split("_").map{|cc| cc.capitalize}.join }.join("::").concat("Controller").constantize end def self.action_string_for_route(route) "#{route.requirements[:controller]}##{route.requirements[:action]}" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
route_dog-2.5.1 | lib/route_dog.rb |
route_dog-2.5.0 | lib/route_dog.rb |