class PgRls::Generators::ActiveRecordGenerator
Active Record Generator
Public Instance Methods
check_class_collision()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 14 def check_class_collision; end
convert_file_sub_name()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 88 def convert_file_sub_name return 'pg_rls_convert_tenant' if installation_in_progress? 'pg_rls_convert' end
convert_migration_template_path()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 70 def convert_migration_template_path return 'init_convert_migration.rb.tt' if installation_in_progress? 'convert_migration.rb.tt' end
convert_tenant_migration_file()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 30 def convert_tenant_migration_file return unless migration_exist? migration_template convert_migration_template_path, "#{migration_path}/#{convert_file_sub_name}_#{table_name}.rb", migration_version: migration_version return if installation_in_progress? migration_template 'convert_migration_backport.rb.tt', "#{migration_path}/pg_rls_backport_#{table_name}.rb", migration_version: migration_version end
create_file_sub_name()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 82 def create_file_sub_name return 'pg_rls_create_tenant' if installation_in_progress? 'pg_rls_create' end
create_migration_file()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 16 def create_migration_file; end
create_migration_template_path()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 64 def create_migration_template_path return 'init_migration.rb.tt' if installation_in_progress? 'migration.rb.tt' end
create_model_file()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 44 def create_model_file return if migration_exist? generate_abstract_class if database && !parent template model_template_path, model_file end
create_tenant_migration_file()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 22 def create_tenant_migration_file return if migration_exist? migration_template create_migration_template_path, "#{migration_path}/#{create_file_sub_name}_#{table_name}.rb", migration_version: migration_version end
inject_method_to_model()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 52 def inject_method_to_model return unless installation_in_progress? gsub_file(model_file, /Class #{class_name} < #{parent_class_name.classify}/mi) do |match| "#{match}\n def self.current\n PgRls::Tenant.fetch\n end\n" end end
installation_in_progress?()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 94 def installation_in_progress? shell.base.class.name.include?('Install') end
migration_exist?()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 18 def migration_exist? @migration_exist ||= Dir.glob("#{migration_path}/*create_#{table_name}.rb").present? end
migration_path()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 102 def migration_path db_migrate_path end
migration_version()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 98 def migration_version "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" end
model_file()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 60 def model_file File.join('app/models', class_path, "#{file_name}.rb") end
model_template_path()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 76 def model_template_path return 'init_model.rb.tt' if installation_in_progress? 'model.rb.tt' end
Protected Instance Methods
migration_action()
click to toggle source
# File lib/generators/pg_rls/active_record/active_record_generator.rb, line 108 def migration_action() = 'add' end