Class: Harmonia::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Harmonia::Generators::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/harmonia/install_generator.rb
Class Method Summary collapse
-
.next_migration_number(dirname) ⇒ Object
Required for migration_template to work.
Instance Method Summary collapse
- #copy_application_record_extension ⇒ Object
- #copy_database_connector ⇒ Object
- #copy_sync_model ⇒ Object
- #copy_trophonius_extension ⇒ Object
- #generate_migration ⇒ Object
- #show_readme ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
Required for migration_template to work
59 60 61 |
# File 'lib/generators/harmonia/install_generator.rb', line 59 def self.next_migration_number(dirname) Time.now.utc.strftime("%Y%m%d%H%M%S") end |
Instance Method Details
#copy_application_record_extension ⇒ Object
18 19 20 |
# File 'lib/generators/harmonia/install_generator.rb', line 18 def copy_application_record_extension copy_file "application_record_extension.rb", "app/models/application_record.rb" end |
#copy_database_connector ⇒ Object
10 11 12 |
# File 'lib/generators/harmonia/install_generator.rb', line 10 def copy_database_connector copy_file "database_connector.rb", "app/services/database_connector.rb" end |
#copy_sync_model ⇒ Object
22 23 24 |
# File 'lib/generators/harmonia/install_generator.rb', line 22 def copy_sync_model copy_file "harmonia_sync.rb", "app/models/harmonia/sync.rb" end |
#copy_trophonius_extension ⇒ Object
14 15 16 |
# File 'lib/generators/harmonia/install_generator.rb', line 14 def copy_trophonius_extension copy_file "trophonius_model_extension.rb", "config/initializers/trophonius_model_extension.rb" end |
#generate_migration ⇒ Object
26 27 28 |
# File 'lib/generators/harmonia/install_generator.rb', line 26 def generate_migration migration_template "create_harmonia_syncs.rb", "db/migrate/create_harmonia_syncs.rb" end |
#show_readme ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/generators/harmonia/install_generator.rb', line 30 def show_readme readme_content = <<~README ======================================== Harmonia has been installed! ======================================== Files created: - app/services/database_connector.rb - config/initializers/trophonius_model_extension.rb - app/models/application_record.rb (with to_fm extension) - app/models/harmonia/sync.rb - db/migrate/..._create_harmonia_syncs.rb Next steps: 1. Run migrations: rails db:migrate 2. Update database_connector.rb with your FileMaker database name 3. Add FileMaker credentials to Rails credentials 4. Replace all instances of YourTrophoniusModel with your actual model names 5. Generate syncers: - rails generate harmonia:sync ModelName (FileMaker -> ActiveRecord) - rails generate harmonia:reverse_sync ModelName (ActiveRecord -> FileMaker) README say readme_content, :green if behavior == :invoke end |