class Shaf::Tasks::DbTask
Public Class Methods
new(name, description:, args: [], &block)
click to toggle source
# File lib/shaf/tasks/db_task.rb, line 6 def initialize(name, description:, args: [], &block) @name = name @desc = description @args = args @block = block define_task end
Public Instance Methods
define_task()
click to toggle source
# File lib/shaf/tasks/db_task.rb, line 14 def define_task namespace :db do desc @desc task @name, @args do |t, args| require 'config/database' Sequel.extension :migration instance_exec(t, args, &@block) end end end
extract_version_and_filename(filename)
click to toggle source
# File lib/shaf/tasks/db_task.rb, line 33 def extract_version_and_filename(filename) return [] unless filename filename = filename[:filename] if filename.is_a? Hash match = /(\d*)_(.*).rb/.match(filename) return [] unless match match[1..2] end
last_migration()
click to toggle source
# File lib/shaf/tasks/db_task.rb, line 29 def last_migration DB[:schema_migrations].order(:filename).last end
migrations()
click to toggle source
# File lib/shaf/tasks/db_task.rb, line 25 def migrations @migrations ||= DB[:schema_migrations].all end