Class: Frontline::Models
- Inherits:
-
E
- Object
- E
- Frontline::Models
- Defined in:
- lib/frontline/controllers/models.rb
Instance Method Summary collapse
-
#delete_migration(model) ⇒ Object
return a command that will delete the given migration of given model.
-
#delete_model ⇒ Object
return a command that will delete the given model.
-
#last_run ⇒ Object
boot effective application and get last track for given migration.
- #migration_layout(model) ⇒ Object
-
#post_migration(model) ⇒ Object
return a command that will generate a new migration for given model.
-
#post_model ⇒ Object
return a command that will generate a new model.
-
#post_run_datamapper_task(task, model = nil) ⇒ Object
run given DataMapper migrate task and stream result to browser.
-
#post_run_migrations ⇒ Object
run given migration or outstanding ones if no migrations given.
Instance Method Details
#delete_migration(model) ⇒ Object
return a command that will delete the given migration of given model. ‘@name` variable are set by the triggered hooks(see frontline/app.rb for hooks)
34 35 36 |
# File 'lib/frontline/controllers/models.rb', line 34 def delete_migration model 'delete:migration:yes %s' % @name end |
#delete_model ⇒ Object
return a command that will delete the given model. ‘@name` variable are set by the triggered hooks(see frontline/app.rb for hooks)
22 23 24 |
# File 'lib/frontline/controllers/models.rb', line 22 def delete_model 'delete:model:yes %s' % @name end |
#last_run ⇒ Object
boot effective application and get last track for given migration
86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/frontline/controllers/models.rb', line 86 def last_run Dir.chdir dst_path.root do migrator = Enginery::Migrator.new(dst_path.root) migrator.boot_app if track = migrator.last_run(params[:file]) '%s on %s' % [track.first.upcase, track.last] else 'Never' end end end |
#migration_layout(model) ⇒ Object
98 99 100 101 |
# File 'lib/frontline/controllers/models.rb', line 98 def migration_layout model model = models[model] || halt(400, '"%s" model does not exists' % escape_html(model)) render_p model: model end |
#post_migration(model) ⇒ Object
return a command that will generate a new migration for given model. ‘@name` and `@setups` variables are set by the triggered hooks(see frontline/app.rb for hooks)
28 29 30 |
# File 'lib/frontline/controllers/models.rb', line 28 def post_migration model 'm %s model:%s %s' % [@name, model, @setups] end |
#post_model ⇒ Object
return a command that will generate a new model. ‘@name` and `@setups` variables are set by the triggered hooks(see frontline/app.rb for hooks)
16 17 18 |
# File 'lib/frontline/controllers/models.rb', line 16 def post_model 'generate:model %s %s' % [@name, @setups] end |
#post_run_datamapper_task(task, model = nil) ⇒ Object
run given DataMapper migrate task and stream result to browser. see ‘Helpers#pty_stream` for running/streaming details.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/frontline/controllers/models.rb', line 65 def post_run_datamapper_task task, model = nil %w[auto_migrate auto_upgrade].include?(task) || halt(400, 'Unknown DataMapper task "%s"' % escape_html(task)) @uuid = params.delete('uuid') cmd = 'rake dm:' + task model && cmd << ':' << model stream do pty_stream 'modal', 'show' passed, failure_id = pty_spawn(cmd) if passed pty_stream 'modal', 'hide' else pty_stream 'failures', failure_id end end end |
#post_run_migrations ⇒ Object
run given migration or outstanding ones if no migrations given. see ‘Helpers#pty_stream` for running/streaming details.
it requires :vector param to be set to “up” or “down”. by default it will skip already performed migrations if :force_run is set, it will run migrations regardless performed state. if :force_run NOT set, :force_yes option should be set to true to avoid any confirmation prompts generated by Enginery.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/frontline/controllers/models.rb', line 46 def post_run_migrations @uuid = params[:uuid] vector = params[:vector] extra = params[:force_run] ? ':f' : (params[:force_yes] ? ':y' : '') migrations = (params[:migrations]||[])*' ' cmd = 'bundle exec enginery m:%s%s %s' % [vector, extra, migrations] stream do pty_stream 'modal', 'show' passed, failure_id = pty_spawn(cmd) if passed pty_stream 'modal', 'hide' else pty_stream 'failures', failure_id end end end |