Class: Localtower::Generators::ServiceObjects::InsertIndexes
- Inherits:
-
Object
- Object
- Localtower::Generators::ServiceObjects::InsertIndexes
- Defined in:
- lib/localtower/generators/service_objects/insert_indexes.rb
Constant Summary collapse
- USING =
[ 'none', 'default', 'gin', 'gist', ].freeze
- UNIQUE =
[ false, true, ]
- ALGO =
[ 'default', 'concurrently', ]
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(attributes) ⇒ InsertIndexes
constructor
A new instance of InsertIndexes.
Constructor Details
#initialize(attributes) ⇒ InsertIndexes
Returns a new instance of InsertIndexes.
22 23 24 |
# File 'lib/localtower/generators/service_objects/insert_indexes.rb', line 22 def initialize(attributes) @attributes = attributes end |
Instance Method Details
#call ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/localtower/generators/service_objects/insert_indexes.rb', line 26 def call attributes.each do |attribute| attribute.each do |attr_key, | line_str_original = File.read(Localtower::Tools.last_migration).match(/((.*)add_index :(.*), :#{attr_key})/)[0] line_str = line_str_original.clone line_str = inser_using(line_str, ) line_str = inser_unique(line_str, ) line_str = inser_algorithm(line_str, ) content = File.read(Localtower::Tools.last_migration).gsub(line_str_original, line_str) content = add_disable_ddl_transaction(content, ) File.write(Localtower::Tools.last_migration, content) end end end |