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