12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/generators/sql_view/view/view_generator.rb', line 12
def create_everything
create_file "app/sql_views/#{file_name}_view.rb", "class \#{class_name}View < SQLView::Model\n\#{top_code}\n\n schema ->\#{schema_code}\n\n extend_model_with do\n # sample how you can extend it, similar to regular AR model\n #\n # include SomeConcern\n #\n # belongs_to :user\n # has_many :posts\n #\n # scope :ordered, -> { order(:created_at) }\n # scope :by_role, ->(role) { where(role: role) }\n end\nend\n"
create_file "db/migrate/#{self.class.next_migration_number("db/migrate")}_create_#{file_name}_view.rb", "class \#{migration_class_name} < \#{activerecord_migration_class}\n def up\n \#{class_name}View.sql_view.up\n end\n\n def down\n \#{class_name}View.sql_view.down\n end\nend\n"
end
|