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
20
21
22
23
|
# File 'lib/discourse_dev/record.rb', line 13
def initialize(model, count = DEFAULT_COUNT)
@@initialized ||= begin
Faker::Discourse.unique.clear
RateLimiter.disable
true
end
@model = model
@type = model.to_s
@count = count
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
59
60
61
|
# File 'lib/discourse_dev/record.rb', line 59
def self.populate!
self.new.populate!
end
|
.random(model) ⇒ Object
63
64
65
66
|
# File 'lib/discourse_dev/record.rb', line 63
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
25
26
27
28
|
# File 'lib/discourse_dev/record.rb', line 25
def create!
record = model.create!(data)
yield(record) if block_given?
end
|
#current_count ⇒ Object
55
56
57
|
# File 'lib/discourse_dev/record.rb', line 55
def current_count
model.count
end
|
#populate! ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/discourse_dev/record.rb', line 30
def populate!
if current_count >= @count
puts "Already have #{current_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
elsif current_count > 0
@count -= current_count
puts "There are #{current_count} #{type.downcase} records. Creating #{@count} more."
else
puts "Creating #{@count} sample #{type.downcase} records"
end
@count.times do
create!
putc "."
end
puts
end
|