Class: View::ViewGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/view/view_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.start(args, config) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/view/view_generator.rb', line 5

def self.start(args, config)
  begin
    modelClass = eval(args[0].camelize)
    
    accessible_attributes = modelClass.accessible_attributes.to_a
    accessible_attributes.delete_if(&:empty?)
    accessible_attributes = modelClass.new.attributes.keys - modelClass.protected_attributes.to_a if accessible_attributes.blank?
    accessible_attributes.each do |attribute|
      if attribute != "created_at" && attribute != "updated_at"
        attributes_string = attribute.to_s + ":" + modelClass.columns_hash[attribute].type.to_s # + " "
        args << attributes_string
      end
    end
  rescue
  ensure
    super
  end
end

Instance Method Details

#check_if_model_existsObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/view/view_generator.rb', line 24

def check_if_model_exists
  begin
    modelClass = eval(name.camelize)
    raise if modelClass.table_exists? == false
  rescue NameError
    puts "No such model: " + name.camelize
    puts "Try writing your model name in singular"
    raise $!
  rescue
    puts "Table " + name + " doesn't exist."
    puts "Try running 'rake db:migrate'"
    raise $!
  end
end