Sha256: 66ef84027b01038d3760fb57d5d5dced46a7763f24e8182af804724972275777
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
require "varvara/version" require 'varvara/engine' RUBY_VERSION >= '2.0.0' ? require('rails') : require('rails/routes') module Varvara begin require 'rails/application/route_inspector' ROUTE_INSPECTOR = Rails::Application::RouteInspector.new rescue LoadError require 'action_dispatch/routing/inspector' ROUTE_INSPECTOR = ActionDispatch::Routing::RoutesInspector.new([]) end def self.format_routes(routes = all_routes) ROUTE_INSPECTOR.send :collect_routes, routes end def self.format_models(models = all_models) models.map {|mod| mod.split('::').last.constantize } end def self.format_controllers(hash = all_controllers) # output -> array with controllers names hash.map {|c| c[:controller]}.uniq.compact.map {|c_name| "#{c_name.capitalize}Controller" unless c_name.split('/').size >= 2}.compact end def format_controller_actions(hash = all_controllers) end private def self.all_routes Rails.application.reload_routes! Rails.application.routes.routes end def self.all_controllers Rails.application.routes.routes.map do |route| {controller: route.defaults[:controller], action: route.defaults[:action]} end end def self.all_models Dir["#{Rails.root}/app/models/**/*.rb"].map do |f| f.chomp('.rb').camelize # works with namespaces e.g. Foo::Bar::MyClass end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
varvara-1.0.0 | lib/varvara.rb |