Class: DiscourseDev::Record
- Inherits:
-
Object
- Object
- DiscourseDev::Record
show all
- Defined in:
- lib/discourse_dev/record.rb
Constant Summary
collapse
- DEFAULT_COUNT =
30.freeze
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(model, count = DEFAULT_COUNT) ⇒ Record
Returns a new instance of Record.
13
14
15
16
17
18
19
|
# File 'lib/discourse_dev/record.rb', line 13
def initialize(model, count = DEFAULT_COUNT)
Faker::Discourse.unique.clear
@model = model
@type = model.to_s
@count = count
@index = nil
end
|
Instance Attribute Details
#model ⇒ Object
Returns the value of attribute model.
11
12
13
|
# File 'lib/discourse_dev/record.rb', line 11
def model
@model
end
|
#type ⇒ Object
Returns the value of attribute type.
11
12
13
|
# File 'lib/discourse_dev/record.rb', line 11
def type
@type
end
|
Class Method Details
.populate! ⇒ Object
57
58
59
|
# File 'lib/discourse_dev/record.rb', line 57
def self.populate!
self.new.populate!
end
|
.random(model) ⇒ Object
61
62
63
64
|
# File 'lib/discourse_dev/record.rb', line 61
def self.random(model)
offset = Faker::Number.between(from: 0, to: model.count - 1)
model.offset(offset).first
end
|
Instance Method Details
#create! {|record| ... } ⇒ Object
21
22
23
24
|
# File 'lib/discourse_dev/record.rb', line 21
def create!
record = model.create!(data)
yield(record) if block_given?
end
|
#current_count ⇒ Object
53
54
55
|
# File 'lib/discourse_dev/record.rb', line 53
def current_count
model.count
end
|
#index ⇒ Object
49
50
51
|
# File 'lib/discourse_dev/record.rb', line 49
def index
@index
end
|
#populate! ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/discourse_dev/record.rb', line 26
def populate!
if current_count >= @count
puts "Already have #{@count}+ #{type.downcase} records."
Rake.application.top_level_tasks.each do |task_name|
Rake::Task[task_name].reenable
end
Rake::Task['dev:repopulate'].invoke
return
end
puts "Creating #{@count} sample #{type.downcase} records"
@count.times do |i|
@index = i
create!
putc "."
end
puts
end
|