Class: SequelTools::ActionsManager
- Inherits:
-
Object
- Object
- SequelTools::ActionsManager
- Defined in:
- lib/sequel_tools/actions/up.rb,
lib/sequel_tools/actions/down.rb,
lib/sequel_tools/actions/redo.rb,
lib/sequel_tools/actions/seed.rb,
lib/sequel_tools/actions/reset.rb,
lib/sequel_tools/actions/setup.rb,
lib/sequel_tools/actions/status.rb,
lib/sequel_tools/actions/drop_db.rb,
lib/sequel_tools/actions/migrate.rb,
lib/sequel_tools/actions/version.rb,
lib/sequel_tools/actions_manager.rb,
lib/sequel_tools/actions/rollback.rb,
lib/sequel_tools/actions/create_db.rb,
lib/sequel_tools/actions/schema_dump.rb,
lib/sequel_tools/actions/schema_load.rb,
lib/sequel_tools/actions/new_migration.rb,
lib/sequel_tools/actions/schema_dump_postgres.rb
Defined Under Namespace
Classes: Action
Constant Summary collapse
- URI_BUILDER =
->(config, dbname = config[:dbname]) do c = config uri_parts = [ "#{c[:dbadapter]}://" ] if user = c[:username] uri_parts << user uri_parts << ':' << c[:password] if c[:password] uri_parts << '@' end uri_parts << c[:dbhost] uri_parts << ':' << c[:dbport] if c[:dbport] uri_parts << '/' << dbname uri_parts.join('') end
Instance Attribute Summary collapse
-
#actions ⇒ Object
readonly
Returns the value of attribute actions.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
Instance Method Summary collapse
- #export_as_rake_tasks(rake_context) ⇒ Object
-
#initialize(config) ⇒ ActionsManager
constructor
A new instance of ActionsManager.
- #load_all ⇒ Object
Constructor Details
#initialize(config) ⇒ ActionsManager
Returns a new instance of ActionsManager.
21 22 23 24 |
# File 'lib/sequel_tools/actions_manager.rb', line 21 def initialize(config) @actions = [] @context = { config: config, uri_builder: URI_BUILDER } end |
Instance Attribute Details
#actions ⇒ Object (readonly)
Returns the value of attribute actions.
5 6 7 |
# File 'lib/sequel_tools/actions_manager.rb', line 5 def actions @actions end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
5 6 7 |
# File 'lib/sequel_tools/actions_manager.rb', line 5 def context @context end |
Instance Method Details
#export_as_rake_tasks(rake_context) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/sequel_tools/actions_manager.rb', line 30 def export_as_rake_tasks(rake_context) actions.each do |action| ctx = context rake_context.instance_eval do desc action.description unless action.description.nil? task action.name, action.arg_names do |t, args| action.run args, ctx end end end end |
#load_all ⇒ Object
26 27 28 |
# File 'lib/sequel_tools/actions_manager.rb', line 26 def load_all @actions.concat Action.registered end |