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
|
# File 'lib/discourse_dev/record.rb', line 13
def initialize(model, count = DEFAULT_COUNT)
Faker::Discourse.unique.clear
RateLimiter.disable
@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
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
23
24
25
26
|
# File 'lib/discourse_dev/record.rb', line 23
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
|
#index ⇒ Object
51
52
53
|
# File 'lib/discourse_dev/record.rb', line 51
def index
@index
end
|
#populate! ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/discourse_dev/record.rb', line 28
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
|