Class: Columns::Application
- Inherits:
-
Object
- Object
- Columns::Application
- Defined in:
- lib/columns.rb
Overview
The tool chain.
Instance Method Summary collapse
-
#execute ⇒ Object
Cleans then writes models.
-
#initialize(schema_dir, models_dir) ⇒ Application
constructor
Creates a new Application.
Constructor Details
#initialize(schema_dir, models_dir) ⇒ Application
Creates a new Application.
See Columns.execute for arguments.
Raises SystemExit if it can’t find the ‘schema.rb`.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/columns.rb', line 39 def initialize(schema_dir, models_dir) @models_dir = models_dir schema_path = File.(File.join(schema_dir,'schema.rb')) unless File.exists?(schema_path) puts "COLUMNS ERROR : #{schema_path} doesn't exist!" exit 1 end table = Table.new(File.read(schema_path)) raw_data_objects = [] table.names.each do |name| raw_data_objects << RawData.new(name, table.content_for(name)) end @model_data_objects = raw_data_objects.map do |object| ModelData.new(object) end end |
Instance Method Details
#execute ⇒ Object
Cleans then writes models.
Returns nothing.
62 63 64 65 66 67 68 69 |
# File 'lib/columns.rb', line 62 def execute writer = ModelWriter.new(path: @models_dir) @model_data_objects.each do |object| path = File.(File.join(@models_dir, object.name) + '.rb') ModelCleaner.clean(path) writer.add_info(object) end end |