Sha256: 413b6fc2778d8d04e3ffdb2612a403e14ec46d372eef3c7deeb1ee240f82ddaf

Contents?: true

Size: 939 Bytes

Versions: 67

Compression:

Stored size: 939 Bytes

Contents

$sequence_counter = 0

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

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

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

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
simple-sql-0.5.37 spec/support/003_factories.rb
simple-sql-0.5.36 spec/support/003_factories.rb
simple-sql-0.5.35 spec/support/003_factories.rb
simple-sql-0.5.34 spec/support/003_factories.rb
simple-sql-0.5.33 spec/support/003_factories.rb
simple-sql-0.5.32 spec/support/003_factories.rb
simple-sql-0.5.31 spec/support/003_factories.rb
simple-sql-0.5.30 spec/support/003_factories.rb
simple-sql-0.5.29 spec/support/003_factories.rb
simple-sql-0.5.28 spec/support/003_factories.rb
simple-sql-0.5.27 spec/support/003_factories.rb
simple-sql-0.5.26 spec/support/003_factories.rb
simple-sql-0.5.25 spec/support/003_factories.rb
simple-sql-0.5.24 spec/support/003_factories.rb
simple-sql-0.5.23 spec/support/003_factories.rb
simple-sql-0.5.22 spec/support/003_factories.rb
simple-sql-0.5.21 spec/support/003_factories.rb
simple-sql-0.5.20 spec/support/003_factories.rb
simple-sql-0.5.19 spec/support/003_factories.rb
simple-sql-0.5.18 spec/support/003_factories.rb