Class: RailsLens::Schema::Adapters::DatabaseInfo
- Inherits:
-
Object
- Object
- RailsLens::Schema::Adapters::DatabaseInfo
- Defined in:
- lib/rails_lens/schema/adapters/database_info.rb
Instance Attribute Summary collapse
-
#adapter_name ⇒ Object
readonly
Returns the value of attribute adapter_name.
-
#connection ⇒ Object
readonly
Returns the value of attribute connection.
Instance Method Summary collapse
- #generate_annotation ⇒ Object
-
#initialize(connection) ⇒ DatabaseInfo
constructor
A new instance of DatabaseInfo.
Constructor Details
#initialize(connection) ⇒ DatabaseInfo
Returns a new instance of DatabaseInfo.
9 10 11 12 |
# File 'lib/rails_lens/schema/adapters/database_info.rb', line 9 def initialize(connection) @connection = connection @adapter_name = connection.adapter_name end |
Instance Attribute Details
#adapter_name ⇒ Object (readonly)
Returns the value of attribute adapter_name.
7 8 9 |
# File 'lib/rails_lens/schema/adapters/database_info.rb', line 7 def adapter_name @adapter_name end |
#connection ⇒ Object (readonly)
Returns the value of attribute connection.
7 8 9 |
# File 'lib/rails_lens/schema/adapters/database_info.rb', line 7 def connection @connection end |
Instance Method Details
#generate_annotation ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rails_lens/schema/adapters/database_info.rb', line 14 def generate_annotation lines = [] lines << '[database_info]' lines << "adapter = \"#{adapter_name}\"" lines << "database = \"#{database_name}\"" lines << "version = \"#{database_version}\"" enc = database_encoding lines << "encoding = \"#{enc}\"" if enc coll = database_collation lines << "collation = \"#{coll}\"" if coll # Add extensions for PostgreSQL if adapter_name == 'PostgreSQL' && extensions.any? ext_list = extensions.map { |e| "{ name = \"#{e['name']}\", version = \"#{e['version']}\" }" } lines << "extensions = [#{ext_list.join(', ')}]" end # Add schemas for PostgreSQL if adapter_name == 'PostgreSQL' && schemas.any? lines << "schemas = #{TomlFormat.quoted_array(schemas)}" end lines.join("\n") end |