module GreyscaleRails::Patchable

Public Instance Methods

apply_patch() click to toggle source
# File lib/greyscale_rails/patchable.rb, line 9
def apply_patch
  revision = params[:revision]

  if revision.present?

    definition = patch_driver.load! revision
    
    patch = Hana::Patch.new( definition[:patch] )

    GreyscaleRecord::Base.data_store.apply_patch patch

    Rails.logger.debug "Aplying patch: #{patch.inspect}"
  end
rescue => e
  Rails.logger.error "Failed to apply patch #{revision}: #{e}"

  GreyscaleRecord::Base.data_store.remove_patch
end
patch_driver() click to toggle source
# File lib/greyscale_rails/patchable.rb, line 34
def patch_driver
  GreyscaleRails.patch_driver
end
remove_patch() click to toggle source
# File lib/greyscale_rails/patchable.rb, line 28
def remove_patch
  GreyscaleRecord::Base.data_store.remove_patch
end