Sha256: 3c29909f68bd9a124515d0f40bba5b1b063db8ce8bdf285f88e9653e8a33e2de
Contents?: true
Size: 984 Bytes
Versions: 4
Compression:
Stored size: 984 Bytes
Contents
module Seedbank module DSL def override_task(*args, &block) name, params, deps = Rake.application.resolve_args(args.dup) fq_name = Rake.application.instance_variable_get(:@scope).dup.push(name).join(':') new_name = "#{fq_name}:original" Rake::Task.rename_task(fq_name, new_name) Rake::Task.define_task(*args, &block) end # Creates a task namespaced in @seeds_path def define_seed_task(seed_file) relative_root = seed_file.sub(seeds_root + '/', '') scopes = File.dirname(relative_root).gsub(/^\./, '').split('/').unshift('seed') fq_name = scopes.push(File.basename(seed_file, '.seeds.rb')).join(':') args = { fq_name => 'db:abort_if_pending_migrations' } task = Rake::Task.define_task(args) { load(seed_file) if File.exist?(seed_file) } task.add_description "Loads seeds from #{relative_root}" fq_name end def seeds_root Seedbank.seeds_root end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
seedbank-0.0.4 | lib/seedbank/dsl.rb |
seedbank-0.0.3 | lib/seedbank/dsl.rb |
seedbank-0.0.2 | lib/seedbank/dsl.rb |
seedbank-0.0.1 | lib/seedbank/dsl.rb |