Class: AppStructure

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/runways/generators/app_structure_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



8
9
10
# File 'lib/runways/generators/app_structure_generator.rb', line 8

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create_basic_app_structureObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/runways/generators/app_structure_generator.rb', line 12

def create_basic_app_structure
  root_directory = name.to_s
  app_directory = root_directory + "/app"
  models_directory = app_directory + "/models"
  controller_directory = app_directory + "/controllers"
  db_directory = root_directory + "/db"
  migration_directory = db_directory + "/migrate"
  lib_directory = root_directory + "/lib"
  lib_protos_directory = lib_directory + "/protos"
  tasks_directory = lib_directory + "/tasks"
  config_directory = root_directory + "/config"

  create_following_dirs([
    root_directory, app_directory, config_directory,
    lib_directory, lib_protos_directory, tasks_directory,
    models_directory, controller_directory,
    db_directory, migration_directory,
  ])
end

#generate_application_recordObject



49
50
51
52
53
54
# File 'lib/runways/generators/app_structure_generator.rb', line 49

def generate_application_record
  template(
    "templates/application_record.tt",
    "#{name}/app/models/application_record.rb"
  )
end

#generate_db_config_fileObject



77
78
79
# File 'lib/runways/generators/app_structure_generator.rb', line 77

def generate_db_config_file
  template("templates/db_config.tt", "#{name}/config/db_config.rb")
end

#generate_db_rake_fileObject



41
42
43
# File 'lib/runways/generators/app_structure_generator.rb', line 41

def generate_db_rake_file
  template("templates/db_rake.tt", "#{name}/lib/tasks/db.rake")
end

#generate_gemfileObject



37
38
39
# File 'lib/runways/generators/app_structure_generator.rb', line 37

def generate_gemfile
  template("templates/gemfile.tt", "#{name}/Gemfile")
end

#generate_modelsObject



56
57
58
59
60
61
# File 'lib/runways/generators/app_structure_generator.rb', line 56

def generate_models
  template(
    "templates/models.tt",
    "#{name}/app/models.rb"
  )
end

#generate_proto_fileObject



32
33
34
35
# File 'lib/runways/generators/app_structure_generator.rb', line 32

def generate_proto_file
  # generate from template
  template("templates/proto.tt", "#{name}/proto/#{name}.proto")
end

#generate_protofub_fileObject



81
82
83
# File 'lib/runways/generators/app_structure_generator.rb', line 81

def generate_protofub_file
  template("templates/protobuf_rake.tt", "#{name}/lib/tasks/generate_protobuf_files.rake")
end

#generate_rake_fileObject



45
46
47
# File 'lib/runways/generators/app_structure_generator.rb', line 45

def generate_rake_file
  template("templates/rakefile.tt", "#{name}/Rakefile")
end

#generate_server_fileObject



70
71
72
73
74
75
# File 'lib/runways/generators/app_structure_generator.rb', line 70

def generate_server_file
  template(
    "templates/server.tt",
    "#{name}/#{name.underscore}_server.rb"
  )
end

#generate_service_fileObject



63
64
65
66
67
68
# File 'lib/runways/generators/app_structure_generator.rb', line 63

def generate_service_file
  template(
    "templates/service.tt",
    "#{name}/lib/#{name.underscore}_service.rb"
  )
end