Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save crackcomm/3928782 to your computer and use it in GitHub Desktop.
Save crackcomm/3928782 to your computer and use it in GitHub Desktop.
Create a RailsAdmin custom action
say "Create stub for '#{action_name = name.sub('rails_admin_', '')}' in gem '#{name}'. This may take a while"
run "rm -rf script/ config/ lib/tasks/"
run "rm -rf app/assets app/controllers app/helpers app/mailers app/models"
run "mkdir -p app/views/rails_admin/main"
inside "app/views/rails_admin/main" do
create_file "#{action_name}.html.haml", <<-END
%h2 Custom action loaded and active
%pre @abstract_model.inspect
%pre @object.inspect
END
end
inside "config/locales" do
create_file "#{action_name}.en.yml", <<-END
en:
admin:
actions:
#{action_name}:
title: "#{action_name.titleize}"
menu: "#{action_name.titleize} for %{model_label} '%{object_label}'"
breadcrumb: "#{action_name.titleize}"
link: "#{action_name.titleize}"
bulk_link: "#{action_name.titleize} selected %{model_label_plural}"
done: "#{action_name.titleize}ed"
END
end
inside "lib" do
append_file "#{name}.rb", <<-END
require 'rails_admin/config/actions'
module RailsAdmin
module Config
module Actions
class #{action_name.camelize} < Base
RailsAdmin::Config::Actions.register(self)
register_instance_option :object_level do
true
end
end
end
end
end
END
end
say "RailsAdmin action stub generator is done"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment