Sha256: d552d804369fdcfb508fd3d028272cf22a5bc91288f6ea0096e21d564ea1b078

Contents?: true

Size: 610 Bytes

Versions: 2

Compression:

Stored size: 610 Bytes

Contents

# frozen_string_literal: true

require 'discourse_dev'
require 'rails'
require 'faker'

module DiscourseDev
  class Record
    DEFAULT_COUNT = 30.freeze

    attr_reader :model, :type, :count

    def initialize(model, count = DEFAULT_COUNT)
      @model = model
      @type = model.to_s
      @count = count
    end

    def create!
      record = model.create!(data)
      yield(record)
      putc "."
    end

    def populate!
      puts "Creating #{count} sample #{type.downcase} records"
      count.times { create! }
      puts
    end

    def self.populate!
      self.new.populate!
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
discourse_dev-0.0.3 lib/discourse_dev/record.rb
discourse_dev-0.0.2 lib/discourse_dev/record.rb