Class: Thredded::DatabaseSeeder::BaseSeedData

Inherits:
Object
  • Object
show all
Includes:
LogTime
Defined in:
lib/thredded/database_seeder.rb

Direct Known Subclasses

CollectionSeedData, FirstSeedData

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from LogTime

included, #log_time, #print_time_diff

Constructor Details

#initialize(seed_database = DatabaseSeeder.new) ⇒ BaseSeedData

Returns a new instance of BaseSeedData.



248
249
250
# File 'lib/thredded/database_seeder.rb', line 248

def initialize(seed_database = DatabaseSeeder.new)
  @seeder = seed_database
end

Instance Attribute Details

#seederThredded::DatabaseSeeder (readonly)



246
247
248
# File 'lib/thredded/database_seeder.rb', line 246

def seeder
  @seeder
end

Class Method Details

.create(*args) ⇒ Object

Utility method



253
254
255
# File 'lib/thredded/database_seeder.rb', line 253

def self.create(*args)
  new.create(*args)
end

Instance Method Details

#find_or_create(*args) ⇒ Object



259
260
261
262
# File 'lib/thredded/database_seeder.rb', line 259

def find_or_create(*args)
  return @stored if @stored
  @stored = (find || create(*args))
end

#range_of_dates_in_order(up_to: Time.zone.now, count: 1) ⇒ Object



264
265
266
267
# File 'lib/thredded/database_seeder.rb', line 264

def range_of_dates_in_order(up_to: Time.zone.now, count: 1)
  written = up_to
  Array.new(count - 1) { written -= random_duration(10.minutes..6.hours) }.reverse + [up_to]
end