Repository URL to install this package:
|
Version:
1.0.0.pre ▾
|
# Use the default
apply File.expand_path("../rails_template.rb", __FILE__)
# Register Active Admin controllers
%w{ Post User Category }.each do |type|
generate :'active_admin:resource', type
end
scopes = <<-EOF
scope :all, default: true
scope :drafts do |posts|
posts.where(["published_at IS NULL"])
end
scope :scheduled do |posts|
posts.where(["posts.published_at IS NOT NULL AND posts.published_at > ?", Time.now.utc])
end
scope :published do |posts|
posts.where(["posts.published_at IS NOT NULL AND posts.published_at < ?", Time.now.utc])
end
scope :my_posts do |posts|
posts.where(author_id: current_admin_user.id)
end
EOF
inject_into_file 'app/admin/posts.rb', scopes , after: "ActiveAdmin.register Post do\n"
# Setup some default data
append_file "db/seeds.rb", <<-EOF
users = ["Jimi Hendrix", "Jimmy Page", "Yngwie Malmsteen", "Eric Clapton", "Kirk Hammett"].collect do |name|
first, last = name.split(" ")
User.create! first_name: first,
last_name: last,
username: [first,last].join('-').downcase,
age: rand(80)
end
categories = ["Rock", "Pop Rock", "Alt-Country", "Blues", "Dub-Step"].collect do |name|
Category.create! name: name
end
published_at_values = [Time.now.utc - 5.days, Time.now.utc - 1.day, nil, Time.now.utc + 3.days]
1_000.times do |i|
user = users[i % users.size]
cat = categories[i % categories.size]
published_at = published_at_values[i % published_at_values.size]
Post.create title: "Blog Post \#{i}",
body: "Blog post \#{i} is written by \#{user.username} about \#{cat.name}",
category: cat,
published_at: published_at,
author: user,
starred: true
end
EOF
rake 'db:seed'