Class: Filemaker::Generators::ModelGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/filemaker/model/model_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



11
12
13
14
15
# File 'lib/generators/filemaker/model/model_generator.rb', line 11

def self.source_root
  @source_root ||= File.expand_path(
    File.join(File.dirname(__FILE__), 'templates')
  )
end

Instance Method Details

#create_model_fileObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/filemaker/model/model_generator.rb', line 17

def create_model_file
  server = Filemaker.registry[registry || 'default']
  api = server.db[db][lay]
  @fields = api.view.fields.values.map do |field|
    [field.name, field.data_type]
  end

  @type_mappings = {
    'text' => 'string',
    'number' => 'number',
    'date' => 'date',
    'time' => 'datetime',
    'timestamp' => 'datetime',
    'container' => 'string'
  }

  template(
    'model.rb',
    File.join('app/models', class_path, "#{file_name}.rb")
  )
end