Sha256: c43847dc164aab56dc1fd00f5b3585dc88ee9c1f0325afef7b3e59717dccb0dc
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
module Goldberg class SiteController < ActiveRecord::Base include Goldberg::Model belongs_to :permission has_many :controller_actions, :order => 'name', :dependent => :destroy validates_presence_of :name, :permission_id validates_uniqueness_of :name def self.classes for path in ActionController::Routing.controller_paths do self.load_class_files(path) end classes = Hash.new ObjectSpace.each_object(Class) do |klass| if klass.respond_to? :controller_path if (klass.to_s != ApplicationController.to_s and klass.ancestors.map{|c|c.to_s}.include?(ApplicationController.to_s)) classes[klass.controller_path] = klass end end end return classes end def self.load_class_files(path) prereqs = [] files = [] dirs = [] for file in Dir.glob("#{path}/*").sort do if file.match /_controller\.rb$/ files << file elsif file.match /\.rb$/ prereqs << file elsif File.directory? file dirs << file end end (prereqs + files).each do |file| begin load file rescue logger.info "Couldn't load file '#{file}' (already loaded?)" end end dirs.each do |dir| self.load_class_files(dir) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
goldberg_generator-0.2.2 | templates/vendor/plugins/goldberg/app/models/goldberg/site_controller.rb |