Class: Crud::KlassList

Inherits:
Object
  • Object
show all
Defined in:
app/models/crud/klass_list.rb

Instance Method Summary collapse

Constructor Details

#initializeKlassList

Returns a new instance of KlassList.



4
5
6
# File 'app/models/crud/klass_list.rb', line 4

def initialize
  update
end

Instance Method Details

#allObject



26
27
28
# File 'app/models/crud/klass_list.rb', line 26

def all
  $all_klasses
end

#updateObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/crud/klass_list.rb', line 8

def update
  #return if $all_klasses
  all_model_names = []
  ::Crud.model_path.each do |path_element|
    model_files = Dir[ File.join(path_element, '**', '*.rb').to_s ]
    model_names = model_files.map { |item| item.sub(path_element,'').sub(/^\//,'').sub(/\.rb$/,'').camelize.gsub(File::SEPARATOR,'::') }
    all_model_names += model_names
  end

  klasses = create_klasses_from_model_names(all_model_names)
  #Rails.logger.debug "create_klasses_from_model_names()"
  #klasses.each {|klass| Rails.logger.debug "#{klass}"}

  $all_klasses = remove_klasses_without_table(klasses).sort_by {|r| r.name.underscore}
  Rails.logger.debug "$all_klasses"
  $all_klasses.each {|klass| Rails.logger.debug "#{klass} (#{klass.name.underscore})"}
end