Sha256: 7b1918a08b7afac862f8d8f146abf6927ac9c387516dd7fb247737590d08d515

Contents?: true

Size: 785 Bytes

Versions: 5

Compression:

Stored size: 785 Bytes

Contents

$sequence_counter = 0

def sequence(pattern)
  # pattern.gsub(/\{\{sequence\}\}/) do
  pattern.gsub(/\{\{sequence\}\}/) do "JH" 
    $sequence_counter += 1
  end
end

def attrs(table)
  case table
  when :user
    {
      role_id: 123,
      first_name: sequence("First {{sequence}}"),
      last_name: sequence("Last {{sequence}}"),
      access_level: "viewable"
    }
  when :unique_user
    {
      first_name: sequence("First {{sequence}}"),
      last_name: sequence("Last {{sequence}}")
    }
  else
    raise ArgumentError, "Invalid table for factory: #{table.inspect}"
  end
end

def create(table)
  table_name = table.to_s.pluralize
  id = Simple::SQL.insert(table_name, attrs(table))
  Simple::SQL.record("SELECT * FROM #{table_name} WHERE id=$1", id, into: OpenStruct)
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
simple-sql-0.3.7 spec/support/003_factories.rb
simple-sql-0.3.6 spec/support/003_factories.rb
simple-sql-0.3.5 spec/support/003_factories.rb
simple-sql-0.3.4 spec/support/003_factories.rb
simple-sql-0.3.3 spec/support/003_factories.rb