class Ittan::Table
Attributes
content[RW]
fixtures_path[RW]
model_name[RW]
name[RW]
seed_file[RW]
seed_file_path[RW]
Public Class Methods
new(table_sentence)
click to toggle source
# File lib/ittan/table.rb, line 8 def initialize(table_sentence) # divide table_name from column @content = table_sentence.split("do |t|") @name = @content.shift.match(/\"[a-zA-Z_]*\"/)[0].delete("\"") @model_name = @name.classify # input file @fixtures_path = "db/fixtures" @seed_file_path = "#{@fixtures_path}/#{@name}.rb" end
Public Instance Methods
create_fixtures_directory()
click to toggle source
# File lib/ittan/table.rb, line 19 def create_fixtures_directory FileUtils.mkdir_p(@fixtures_path) unless FileTest.exist?(@fixtures_path) end
create_seed_file()
click to toggle source
# File lib/ittan/table.rb, line 23 def create_seed_file return if FileTest.exist?(@seed_file_path) begin File.open(@seed_file_path, "w") do |seed_file| @seed_file = seed_file input_seed_file end puts %Q(\e[32mcreate: #{@seed_file_path}\e[0m) # Create Message rescue SystemCallError, IOError => e puts %Q(\e[31mError: #{e.message}\e[0m) # Error Message end end
Private Instance Methods
input_seed_file()
click to toggle source
# File lib/ittan/table.rb, line 40 def input_seed_file @seed_file.puts "#{@model_name}.seed(\n:id,\n{\n" # file header @content[0].split("\n").each do |column_text| next unless column_text.include?("t.") # skip except column column_instance = Ittan::Column.new(column_text, @seed_file) column_instance.input_dummy_data end @seed_file.puts "},\n)" # file footer end