Sha256: 62deb3c7bbc9bf0a35a580f1edb67e81fbfac5433b773fa2491613b37234393c
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
module FlexibleAccessibility class Utils @@routes ||= {} def initialize @path = "#{::Rails.root}/app/controllers/" @controllers = {} end def app_controllers app_controllers_recursive(@path) end def app_routes app_routes_as_hash if @@routes.empty? @@routes end private # All controller classes placed in :default scope def app_controllers_recursive(path) (Dir.new(path).entries - ['..', '.']).each do |entry| if File.directory?(path + entry) app_controllers_recursive(path + entry + '/') else parent_directory = File.dirname(path + entry).split(/\//).last container = parent_directory == 'controllers' ? 'default' : parent_directory @controllers[container.to_sym] = [] unless @controllers.has_key? container.to_sym @controllers[container.to_sym] << File.basename(path + entry, '.*') unless File.basename(path + entry, '.*') == 'application_controller' end end @controllers end # Routes from routes.rb def app_routes_as_hash Rails.application.routes.routes.each do |route| controller = route.defaults[:controller] unless controller.nil? key = controller.split('/').map { |p| p.camelize }.join('::') @@routes[key] ||= [] @@routes[key] << route.defaults[:action] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
flexible_accessibility-0.3.3 | lib/flexible_accessibility/utils.rb |