class ActiveRecord::Generators::ProxiedGenerator

Public Instance Methods

copy_proxy_migration() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 14
def copy_proxy_migration
  migration_template "migration.rb", "#{migration_path}/proxied_create_#{table_name}.rb", migration_version: migration_version
end
generate_model() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 18
def generate_model
  invoke "active_record:model", [name], migration: false unless model_exists? && behavior == :invoke
end
inject_proxied_content() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 22
def inject_proxied_content
  content       =   model_contents

  class_path    =   if namespaced?
    class_name.to_s.split("::")
  else
    [class_name]
  end

  indent_depth  =   class_path.size - 1
  content       =   content.split("\n").map { |line| "  " * indent_depth + line } .join("\n") << "\n"

  inject_into_class(model_path, class_path.last, content) if model_exists?
end
migration_version() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 52
def migration_version
  if should_version_migration?
    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end
model_contents() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 37
      def model_contents
<<RUBY
  include ::Proxied::Sql::ProxyMethods
RUBY
      end
postgresql?() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 47
def postgresql?
  config = ActiveRecord::Base.configurations[Rails.env]
  config && config['adapter'] == 'postgresql'
end
primary_key_string() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 62
def primary_key_string
  key_string = options[:primary_key_type]
  ", id: :#{key_string}" if key_string
end
primary_key_type() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 58
def primary_key_type
  primary_key_string if should_version_migration?
end
should_version_migration?() click to toggle source
# File lib/generators/active_record/proxied_generator.rb, line 43
def should_version_migration?
  !(Rails.version.to_s =~ /^(5|6)/i).nil?
end