class CodeigniterScaffold::Command::Scaffold
Constants
- ARGS_ARE_NEEDED
- ARGS_WRONG
Attributes
attributes[RW]
model[RW]
Public Instance Methods
run(args)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 10 def run(args) begin return Kernel.puts(ARGS_ARE_NEEDED) unless valid?(args) parse(args) create("controller.php","application/controllers/#{@model.capitalize}.php") create("model.php","application/models/#{@model.capitalize}_model.php") create("migration.sql","application/migrations/create_#{@model.downcase}.sql") mkdir ("application/views/#{@model.downcase}") create("view_create.php","application/views/#{@model.downcase}/create.php") create("view_index.php","application/views/#{@model.downcase}/index.php") rescue return Kernel.puts(ARGS_WRONG) end end
Protected Instance Methods
parse(args)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 33 def parse(args) @model = args.shift.capitalize @attributes = Array.new args.each {|a| @attributes << Attribute.new(a) } end
valid?(args)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 27 def valid?(args) return false if not args or args.empty? return false if args.size <= 1 true end
Private Instance Methods
create(template, output)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 40 def create(template, output) parse_to(template, output) puts "File #{output} was successfully created." end
mkdir(directory_name)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 54 def mkdir(directory_name) begin Dir::mkdir(directory_name) rescue # directory exists end end
parse_to(path_to_template, path_to_output)
click to toggle source
# File lib/codeigniter_scaffold/command/scaffold.rb, line 45 def parse_to(path_to_template, path_to_output) resource_dir = File.dirname(__FILE__) + "/../../resources/" @template = File.read(File.join(resource_dir, path_to_template)) template = ERB.new(@template) file = File.new(path_to_output,"w") file.write(template.result(binding)) file.close end