Sha256: f888788e373407160ba4a874f09b13348b16442774931285e04368ff2e42e84f

Contents?: true

Size: 1019 Bytes

Versions: 2

Compression:

Stored size: 1019 Bytes

Contents

module StateMachine
  module Integrations #:nodoc:
    module Sequel
      version '2.8.x - 3.13.x' do
        def self.active?
          !defined?(::Sequel::MAJOR) || ::Sequel::MAJOR == 2 || ::Sequel::MAJOR == 3 && ::Sequel::MINOR <= 13
        end
        
        def handle_validation_failure
          lambda do |object, args, yielded, result|
            object.instance_eval do
              raise_on_save_failure ? save_failure(:validation) : result
            end
          end
        end
        
        def handle_save_failure
          lambda do |object|
            object.instance_eval do
              save_failure(:save)
            end
          end
        end
      end
      
      version '2.8.x - 2.11.x' do
        def self.active?
          !defined?(::Sequel::MAJOR) || ::Sequel::MAJOR == 2 && ::Sequel::MINOR <= 11
        end
        
        def load_inflector
        end
        
        def action_hook
          action == :save ? :save : super
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
state_machine-0.10.1 lib/state_machine/integrations/sequel/versions.rb
state_machine-0.10.0 lib/state_machine/integrations/sequel/versions.rb