Class: Dagraph::Generators::ModelGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/dagraph/model_generator.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(number) ⇒ Object



10
11
12
# File 'lib/generators/dagraph/model_generator.rb', line 10

def self.next_migration_number(number)
  ActiveRecord::Generators::Base.next_migration_number(number)
end

Instance Method Details

#add_dag_line_to_node_modelObject



14
15
16
17
18
# File 'lib/generators/dagraph/model_generator.rb', line 14

def add_dag_line_to_node_model
  inject_into_class "app/models/#{klass.model_name.singular}.rb", klass.to_s do
    "  has_directed_acyclic_graph\n"
  end
end

#create_edge_model_fileObject



19
20
21
22
23
24
# File 'lib/generators/dagraph/model_generator.rb', line 19

def create_edge_model_file
  create_file "app/models/#{dagraph.edges_class_name.underscore}.rb", <<~RUBY
    class #{dagraph.edges_class_name} < ApplicationRecord
    end
  RUBY
end

#create_migration_fileObject



26
27
28
# File 'lib/generators/dagraph/model_generator.rb', line 26

def create_migration_file
  migration_template 'create_edges.rb.erb', "db/migrate/create_#{migration_name}.rb"
end