class WebflowSync::Generators::CollectionGenerator

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/webflow_sync/collection_generator.rb, line 27
def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Public Instance Methods

add_migration() click to toggle source
# File lib/generators/webflow_sync/collection_generator.rb, line 13
def add_migration
  migration_template 'migration.rb.erb', "#{migration_path}/add_webflow_item_id_to_#{table_name}.rb",
                     migration_version: migration_version
end
include_item_sync_in_model_file() click to toggle source
# File lib/generators/webflow_sync/collection_generator.rb, line 18
      def include_item_sync_in_model_file
        module_snippet = <<~END_OF_INCLUDE.indent(2)

          include WebflowSync::ItemSync
        END_OF_INCLUDE

        insert_into_file "app/models/#{name.underscore}.rb", module_snippet, after: / < ApplicationRecord$/
      end

Private Instance Methods

migration_path() click to toggle source
# File lib/generators/webflow_sync/collection_generator.rb, line 33
def migration_path
  ActiveRecord::Migrator.migrations_paths.first
end
migration_version() click to toggle source
# File lib/generators/webflow_sync/collection_generator.rb, line 37
def migration_version
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
end