Class: Surfer::Generate

Inherits:
Object
  • Object
show all
Defined in:
lib/surfer/generator.rb

Constant Summary collapse

CONNECT =
Connection.new
SUPPORT =
Support.new

Instance Method Summary collapse

Instance Method Details

#create(arguments) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/surfer/generator.rb', line 11

def create(arguments) 
	query = SUPPORT.create_table(arguments)
	begin
		@conn = CONNECT.create_connection
		@conn.do("#{query}")
		@conn.commit
		create_model_files(arguments[2])
	rescue DBI::DatabaseError => e
		puts "Error code : #{e.err}"
		puts "Error message : #{e.errstr}"
		@conn.rollback
	else
		puts "Table is created."
		CONNECT.close_connection	
	end
end

#create_controller_files(controller_name) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/surfer/generator.rb', line 39

def create_controller_files (controller_name)
	controller_class=controller_name.capitalize
	if(!File.directory?("app"))
		abort ("Please Switch to your Application Directory")
	end
	FileUtils.cd "app"
	FileUtils.cd "controllers"
	file = File.open("#{controller_name}_controller.rb", "w+")
	file.write "class #{controller_class}sController < Surfer::Controller\n"
	file.write " def index\n"
	file.write " end\n"
	file.write "end"
	file.close()
	FileUtils.chdir "../"
	FileUtils.cd "views"
	if(!File.directory?("#{controller_name}s"))
		FileUtils.mkdir "#{controller_name}s"
		FileUtils.cd "#{controller_name}s"
		file = File.open("index.html.erb", "w+")
		file.write "#{controller_class}sController index Action"
		file.close()
	else
		FileUtils.cd "#{controller_name}s"
		file = File.open("index.html.erb", "w+")
		file.write "#{controller_class}sController index Action"
		file.close()
	end
end

#create_model_files(model_name) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/surfer/generator.rb', line 29

def create_model_files (model_name)
	model_class=model_name.capitalize
	FileUtils.cd "app"
	FileUtils.cd "models"
	file = File.open("#{model_name}.rb", "w+")
	file.write "class #{model_class} < Surfer::Operation\n"
	file.write "end"
	file.close()
end