Sha256: 06eb942b1bd1864d27b9bc2fd251a239c86669dd87e548802a23142a8bd8dbcd

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require "pry"
require "sequel"
require "sequel_mapper"
require_relative "../spec/support/sequel_test_support"

module ExampleRunnerSupport
  def example_eval_concat(code_strings)
    example_eval(code_strings.join("\n"))
  end

  def example_eval(code_string)
    example_module.module_eval(code_string)
  rescue Object => e
    binding.pry if ENV["DEBUG"]
    raise e
  end

  def example_exec(&block)
    example_exec.module_eval(&block)
  end

  def example_module
    @example_module ||= Module.new
  end

  def normalise_inspection_string(string)
    string
      .strip
      .gsub(/[\n\s]+/, " ")
      .gsub(/\:[0-9a-f]{12}/, ":<<object id removed>>")
  end

  def parse_schema_table(string)
    string.each_line.drop(2).map { |line|
      name, type = line.split("|").map(&:strip)
      {
        name: name,
        type: type,
      }
    }
  end
end

module DatabaseSupport
  def create_table(name, schema)
    SequelMapper::SequelTestSupport.create_tables(
      name => schema,
    )
  end
end

Before do
  SequelMapper::SequelTestSupport.drop_tables
end

World(ExampleRunnerSupport)
World(DatabaseSupport)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sequel_mapper-0.0.3 features/env.rb