Sha256: e1376fa2f9a04bb9e10aedf6e69ee7367b2c14cf60675596178671320be74029

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

# encoding: utf-8

# flxtures function shouda support
module Shoulda
  module Context
    module ClassMethods
      def create_or_get_flextures_loader
        @flextures_loader ||= Flextures::Loader.new
      end

      def flextures( *_ )
        flextures_loader = create_or_get_flextures_loader

        context = Shoulda::Context.current_context
        context.setup_blocks<< ->{ flextures_loader.flextures(*_) }
      end

      def flextures_delete( *_ )
        context = Shoulda::Context.current_context

        context.setup_blocks<< -> {
          if _.empty?
            Flextures::init_tables
          else
            Flextures::delete_tables(*_)
          end
        }
      end

      def flextures_set_options( options={} )
        flextures_loader = create_or_get_flextures_loader

        context = Shoulda::Context.current_context
        context.setup_blocks<< -> {
          flextures_loader.set_options(options)
        }
        context.teardown_blocks<< -> {
          flextures_loader.delete_options
        }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
flextures-3.1.3 lib/flextures/testunit_flextures_support.rb
flextures-3.1.2 lib/flextures/testunit_flextures_support.rb
flextures-3.1.1 lib/flextures/testunit_flextures_support.rb
flextures-3.1.0 lib/flextures/testunit_flextures_support.rb