Skip to content

Instantly share code, notes, and snippets.

@Frank004
Created July 23, 2015 15:15
Show Gist options
  • Save Frank004/b56bdf5707fb5af319f1 to your computer and use it in GitHub Desktop.
Save Frank004/b56bdf5707fb5af319f1 to your computer and use it in GitHub Desktop.
Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (1.0ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 2
=> #<ActiveRecord::Relation [#<Project id: 12>, #<Project id: 7>]>
irb(main):002:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.5ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 2
=> #<ActiveRecord::Relation [#<Project id: 12>, #<Project id: 7>]>
irb(main):003:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.5ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 4
=> #<ActiveRecord::Relation [#<Project id: 4>, #<Project id: 8>, #<Project id: 39>, #<Project id: 1>]>
irb(main):004:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.7ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 2
=> #<ActiveRecord::Relation [#<Project id: 38>, #<Project id: 3>]>
irb(main):005:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.5ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 1
=> #<ActiveRecord::Relation [#<Project id: 3>]>
irb(main):006:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.5ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 2
=> #<ActiveRecord::Relation [#<Project id: 8>, #<Project id: 6>]>
irb(main):007:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (1.1ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 4
=> #<ActiveRecord::Relation [#<Project id: 2>, #<Project id: 38>, #<Project id: 14>, #<Project id: 1>]>
irb(main):008:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.5ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 4
=> #<ActiveRecord::Relation [#<Project id: 12>, #<Project id: 5>, #<Project id: 4>, #<Project id: 11>]>
irb(main):009:0> Project.order("RANDOM()").limit(rand(1..4)).select(:id)
Project Load (0.8ms) SELECT "projects"."id" FROM "projects" ORDER BY RANDOM() LIMIT 3
=> #<ActiveRecord::Relation [#<Project id: 38>, #<Project id: 1>, #<Project id: 39>]>
IFrank$rake db:populate --trace
** Invoke db:populate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:populate
rake aborted!
ActiveRecord::RecordNotFound: Couldn't find Project without an ID
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/relation/finder_methods.rb:433:in `find_with_ids'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/relation/finder_methods.rb:71:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/friendly_id-5.1.0/lib/friendly_id/finder_methods.rb:20:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/querying.rb:3:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/core.rb:131:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/bullet-4.14.7/lib/bullet/active_record42.rb:9:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/friendly_id-5.1.0/lib/friendly_id/finder_methods.rb:20:in `find'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/associations/collection_association.rb:67:in `ids_writer'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/associations/builder/collection_association.rb:76:in `project_ids='
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/attribute_assignment.rb:54:in `public_send'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/attribute_assignment.rb:54:in `_assign_attribute'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/attribute_assignment.rb:41:in `block in assign_attributes'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/attribute_assignment.rb:35:in `each'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/attribute_assignment.rb:35:in `assign_attributes'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/core.rb:557:in `init_attributes'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/core.rb:280:in `initialize'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/inheritance.rb:61:in `new'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/inheritance.rb:61:in `new'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/persistence.rb:50:in `create!'
/Users/IFrank/Documents/HBQuality/hbquality/lib/tasks/populate.rake:52:in `block (3 levels) in <top (required)>'
/Users/IFrank/Documents/HBQuality/hbquality/lib/tasks/populate.rake:40:in `times'
/Users/IFrank/Documents/HBQuality/hbquality/lib/tasks/populate.rake:40:in `block (2 levels) in <top (required)>'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:240:in `call'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:240:in `block in execute'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:235:in `each'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:235:in `execute'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:150:in `invoke_task'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `each'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block in top_level'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:115:in `run_with_threads'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:100:in `top_level'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:78:in `block in run'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:75:in `run'
/Users/IFrank/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/Users/IFrank/.rbenv/versions/2.2.0/bin/rake:23:in `load'
/Users/IFrank/.rbenv/versions/2.2.0/bin/rake:23:in `<main>'
20.times do
@project = Project.create!(
name: FFaker::Company.name,
budget_hours: rand(1000..1400),
company_id: @company.id
)
end
40.times do
@user = User.create!(
email: FFaker::Internet.disposable_email,
username: FFaker::Internet.user_name,
password: 'password',
password_confirmation: 'password',
role: ["super_admin","admin","gerente","administración"].sample,
first_name: FFaker::Name.first_name,
last_name: FFaker::Name.last_name,
banned: FFaker::Boolean.random
)
ServiceUser.create!(
company_id: @company.id,
project_ids: Project.order("RANDOM()").limit(rand(1..4)).select(:id),
user_id: @user.id
)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment