Class: Rails::Generators::Database

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/generators/database.rb

Direct Known Subclasses

MySQL2, Null, PostgreSQL, SQLite3, Trilogy

Defined Under Namespace

Modules: MariaDB, MySQL Classes: MariaDBMySQL2, MariaDBTrilogy, MySQL2, Null, PostgreSQL, SQLite3, Trilogy

Constant Summary collapse

DATABASES =
%w( mysql trilogy postgresql sqlite3 mariadb-mysql mariadb-trilogy )

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.allObject



84
85
86
87
88
89
90
91
92
# File 'lib/rails/generators/database.rb', line 84

def all
  @all ||= [
    MySQL2.new,
    PostgreSQL.new,
    SQLite3.new,
    MariaDBMySQL2.new,
    MariaDBTrilogy.new
  ]
end

.build(database_name) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
# File 'lib/rails/generators/database.rb', line 72

def build(database_name)
  case database_name
  when "mysql" then MySQL2.new
  when "postgresql" then PostgreSQL.new
  when "trilogy" then Trilogy.new
  when "sqlite3" then SQLite3.new
  when "mariadb-mysql" then MariaDBMySQL2.new
  when "mariadb-trilogy" then MariaDBTrilogy.new
  else Null.new
  end
end

Instance Method Details

#base_packageObject

Raises:

  • (NotImplementedError)


119
120
121
# File 'lib/rails/generators/database.rb', line 119

def base_package
  raise NotImplementedError
end

#build_packageObject

Raises:

  • (NotImplementedError)


123
124
125
# File 'lib/rails/generators/database.rb', line 123

def build_package
  raise NotImplementedError
end

#featureObject



130
131
132
133
134
# File 'lib/rails/generators/database.rb', line 130

def feature
  return unless feature_name

  { feature_name => {} }
end

#feature_nameObject

Raises:

  • (NotImplementedError)


111
112
113
# File 'lib/rails/generators/database.rb', line 111

def feature_name
  raise NotImplementedError
end

#gemObject

Raises:

  • (NotImplementedError)


115
116
117
# File 'lib/rails/generators/database.rb', line 115

def gem
  raise NotImplementedError
end

#hostObject



128
# File 'lib/rails/generators/database.rb', line 128

def host; end

#nameObject

Raises:

  • (NotImplementedError)


95
96
97
# File 'lib/rails/generators/database.rb', line 95

def name
  raise NotImplementedError
end

#portObject

Raises:

  • (NotImplementedError)


107
108
109
# File 'lib/rails/generators/database.rb', line 107

def port
  raise NotImplementedError
end

#serviceObject

Raises:

  • (NotImplementedError)


103
104
105
# File 'lib/rails/generators/database.rb', line 103

def service
  raise NotImplementedError
end

#socketObject



127
# File 'lib/rails/generators/database.rb', line 127

def socket; end

#templateObject

Raises:

  • (NotImplementedError)


99
100
101
# File 'lib/rails/generators/database.rb', line 99

def template
  raise NotImplementedError
end

#volumeObject



136
137
138
139
140
# File 'lib/rails/generators/database.rb', line 136

def volume
  return unless service

  "#{name}-data"
end