Commit a291fb6de048530507c8a2e35aa3bac46097ecd2
1 parent
2f2b7b7e
lazy me generates a whole scaffold for certificates
Showing
14 changed files
with
300 additions
and
0 deletions
app/assets/javascripts/certificates.coffee
0 → 100644
app/assets/stylesheets/certificates.scss
0 → 100644
app/assets/stylesheets/scaffolds.scss
0 → 100644
| 1 | +body { | |
| 2 | + background-color: #fff; | |
| 3 | + color: #333; | |
| 4 | + font-family: verdana, arial, helvetica, sans-serif; | |
| 5 | + font-size: 13px; | |
| 6 | + line-height: 18px; | |
| 7 | +} | |
| 8 | + | |
| 9 | +p, ol, ul, td { | |
| 10 | + font-family: verdana, arial, helvetica, sans-serif; | |
| 11 | + font-size: 13px; | |
| 12 | + line-height: 18px; | |
| 13 | +} | |
| 14 | + | |
| 15 | +pre { | |
| 16 | + background-color: #eee; | |
| 17 | + padding: 10px; | |
| 18 | + font-size: 11px; | |
| 19 | +} | |
| 20 | + | |
| 21 | +a { | |
| 22 | + color: #000; | |
| 23 | + | |
| 24 | + &:visited { | |
| 25 | + color: #666; | |
| 26 | + } | |
| 27 | + | |
| 28 | + &:hover { | |
| 29 | + color: #fff; | |
| 30 | + background-color: #000; | |
| 31 | + } | |
| 32 | +} | |
| 33 | + | |
| 34 | +div { | |
| 35 | + &.field, &.actions { | |
| 36 | + margin-bottom: 10px; | |
| 37 | + } | |
| 38 | +} | |
| 39 | + | |
| 40 | +#notice { | |
| 41 | + color: green; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.field_with_errors { | |
| 45 | + padding: 2px; | |
| 46 | + background-color: red; | |
| 47 | + display: table; | |
| 48 | +} | |
| 49 | + | |
| 50 | +#error_explanation { | |
| 51 | + width: 450px; | |
| 52 | + border: 2px solid red; | |
| 53 | + padding: 7px; | |
| 54 | + padding-bottom: 0; | |
| 55 | + margin-bottom: 20px; | |
| 56 | + background-color: #f0f0f0; | |
| 57 | + | |
| 58 | + h2 { | |
| 59 | + text-align: left; | |
| 60 | + font-weight: bold; | |
| 61 | + padding: 5px 5px 5px 15px; | |
| 62 | + font-size: 12px; | |
| 63 | + margin: -7px; | |
| 64 | + margin-bottom: 0px; | |
| 65 | + background-color: #c00; | |
| 66 | + color: #fff; | |
| 67 | + } | |
| 68 | + | |
| 69 | + ul li { | |
| 70 | + font-size: 12px; | |
| 71 | + list-style: square; | |
| 72 | + } | |
| 73 | +} | ... | ... |
app/controllers/certificates_controller.rb
0 → 100644
| 1 | +class CertificatesController < ApplicationController | |
| 2 | + before_action :set_certificate, only: [:show, :edit, :update, :destroy] | |
| 3 | + | |
| 4 | + # GET /certificates | |
| 5 | + # GET /certificates.json | |
| 6 | + def index | |
| 7 | + @certificates = Certificate.all | |
| 8 | + end | |
| 9 | + | |
| 10 | + # GET /certificates/1 | |
| 11 | + # GET /certificates/1.json | |
| 12 | + def show | |
| 13 | + end | |
| 14 | + | |
| 15 | + # GET /certificates/new | |
| 16 | + def new | |
| 17 | + @certificate = Certificate.new | |
| 18 | + end | |
| 19 | + | |
| 20 | + # GET /certificates/1/edit | |
| 21 | + def edit | |
| 22 | + end | |
| 23 | + | |
| 24 | + # POST /certificates | |
| 25 | + # POST /certificates.json | |
| 26 | + def create | |
| 27 | + @certificate = Certificate.new(certificate_params) | |
| 28 | + | |
| 29 | + respond_to do |format| | |
| 30 | + if @certificate.save | |
| 31 | + format.html { redirect_to @certificate, notice: 'Certificate was successfully created.' } | |
| 32 | + format.json { render :show, status: :created, location: @certificate } | |
| 33 | + else | |
| 34 | + format.html { render :new } | |
| 35 | + format.json { render json: @certificate.errors, status: :unprocessable_entity } | |
| 36 | + end | |
| 37 | + end | |
| 38 | + end | |
| 39 | + | |
| 40 | + # PATCH/PUT /certificates/1 | |
| 41 | + # PATCH/PUT /certificates/1.json | |
| 42 | + def update | |
| 43 | + respond_to do |format| | |
| 44 | + if @certificate.update(certificate_params) | |
| 45 | + format.html { redirect_to @certificate, notice: 'Certificate was successfully updated.' } | |
| 46 | + format.json { render :show, status: :ok, location: @certificate } | |
| 47 | + else | |
| 48 | + format.html { render :edit } | |
| 49 | + format.json { render json: @certificate.errors, status: :unprocessable_entity } | |
| 50 | + end | |
| 51 | + end | |
| 52 | + end | |
| 53 | + | |
| 54 | + # DELETE /certificates/1 | |
| 55 | + # DELETE /certificates/1.json | |
| 56 | + def destroy | |
| 57 | + @certificate.destroy | |
| 58 | + respond_to do |format| | |
| 59 | + format.html { redirect_to certificates_url, notice: 'Certificate was successfully destroyed.' } | |
| 60 | + format.json { head :no_content } | |
| 61 | + end | |
| 62 | + end | |
| 63 | + | |
| 64 | + private | |
| 65 | + # Use callbacks to share common setup or constraints between actions. | |
| 66 | + def set_certificate | |
| 67 | + @certificate = Certificate.find(params[:id]) | |
| 68 | + end | |
| 69 | + | |
| 70 | + # Never trust parameters from the scary internet, only allow the white list through. | |
| 71 | + def certificate_params | |
| 72 | + params.require(:certificate).permit(:key, :cert, :active) | |
| 73 | + end | |
| 74 | +end | ... | ... |
app/helpers/certificates_helper.rb
0 → 100644
app/views/certificates/_form.html.erb
0 → 100644
| 1 | +<%= form_for(@certificate) do |f| %> | |
| 2 | + <% if @certificate.errors.any? %> | |
| 3 | + <div id="error_explanation"> | |
| 4 | + <h2><%= pluralize(@certificate.errors.count, "error") %> prohibited this certificate from being saved:</h2> | |
| 5 | + | |
| 6 | + <ul> | |
| 7 | + <% @certificate.errors.full_messages.each do |message| %> | |
| 8 | + <li><%= message %></li> | |
| 9 | + <% end %> | |
| 10 | + </ul> | |
| 11 | + </div> | |
| 12 | + <% end %> | |
| 13 | + | |
| 14 | + <div class="field"> | |
| 15 | + <%= f.label :key %><br> | |
| 16 | + <%= f.text_area :key %> | |
| 17 | + </div> | |
| 18 | + <div class="field"> | |
| 19 | + <%= f.label :cert %><br> | |
| 20 | + <%= f.text_area :cert %> | |
| 21 | + </div> | |
| 22 | + <div class="field"> | |
| 23 | + <%= f.label :active %><br> | |
| 24 | + <%= f.check_box :active %> | |
| 25 | + </div> | |
| 26 | + <div class="actions"> | |
| 27 | + <%= f.submit %> | |
| 28 | + </div> | |
| 29 | +<% end %> | ... | ... |
app/views/certificates/edit.html.erb
0 → 100644
app/views/certificates/index.html.erb
0 → 100644
| 1 | +<p id="notice"><%= notice %></p> | |
| 2 | + | |
| 3 | +<h1>Listing Certificates</h1> | |
| 4 | + | |
| 5 | +<table> | |
| 6 | + <thead> | |
| 7 | + <tr> | |
| 8 | + <th>Key</th> | |
| 9 | + <th>Cert</th> | |
| 10 | + <th>Active</th> | |
| 11 | + <th colspan="3"></th> | |
| 12 | + </tr> | |
| 13 | + </thead> | |
| 14 | + | |
| 15 | + <tbody> | |
| 16 | + <% @certificates.each do |certificate| %> | |
| 17 | + <tr> | |
| 18 | + <td><%= certificate.key %></td> | |
| 19 | + <td><%= certificate.cert %></td> | |
| 20 | + <td><%= certificate.active %></td> | |
| 21 | + <td><%= link_to 'Show', certificate %></td> | |
| 22 | + <td><%= link_to 'Edit', edit_certificate_path(certificate) %></td> | |
| 23 | + <td><%= link_to 'Destroy', certificate, method: :delete, data: { confirm: 'Are you sure?' } %></td> | |
| 24 | + </tr> | |
| 25 | + <% end %> | |
| 26 | + </tbody> | |
| 27 | +</table> | |
| 28 | + | |
| 29 | +<br> | |
| 30 | + | |
| 31 | +<%= link_to 'New Certificate', new_certificate_path %> | ... | ... |
app/views/certificates/index.json.jbuilder
0 → 100644
app/views/certificates/new.html.erb
0 → 100644
app/views/certificates/show.html.erb
0 → 100644
| 1 | +<p id="notice"><%= notice %></p> | |
| 2 | + | |
| 3 | +<p> | |
| 4 | + <strong>Key:</strong> | |
| 5 | + <%= @certificate.key %> | |
| 6 | +</p> | |
| 7 | + | |
| 8 | +<p> | |
| 9 | + <strong>Cert:</strong> | |
| 10 | + <%= @certificate.cert %> | |
| 11 | +</p> | |
| 12 | + | |
| 13 | +<p> | |
| 14 | + <strong>Active:</strong> | |
| 15 | + <%= @certificate.active %> | |
| 16 | +</p> | |
| 17 | + | |
| 18 | +<%= link_to 'Edit', edit_certificate_path(@certificate) %> | | |
| 19 | +<%= link_to 'Back', certificates_path %> | ... | ... |
app/views/certificates/show.json.jbuilder
0 → 100644
| 1 | +json.extract! @certificate, :id, :key, :cert, :active, :created_at, :updated_at | ... | ... |
| 1 | +require 'test_helper' | |
| 2 | + | |
| 3 | +class CertificatesControllerTest < ActionController::TestCase | |
| 4 | + setup do | |
| 5 | + @certificate = certificates(:one) | |
| 6 | + end | |
| 7 | + | |
| 8 | + test "should get index" do | |
| 9 | + get :index | |
| 10 | + assert_response :success | |
| 11 | + assert_not_nil assigns(:certificates) | |
| 12 | + end | |
| 13 | + | |
| 14 | + test "should get new" do | |
| 15 | + get :new | |
| 16 | + assert_response :success | |
| 17 | + end | |
| 18 | + | |
| 19 | + test "should create certificate" do | |
| 20 | + assert_difference('Certificate.count') do | |
| 21 | + post :create, certificate: { active: @certificate.active, cert: @certificate.cert, key: @certificate.key } | |
| 22 | + end | |
| 23 | + | |
| 24 | + assert_redirected_to certificate_path(assigns(:certificate)) | |
| 25 | + end | |
| 26 | + | |
| 27 | + test "should show certificate" do | |
| 28 | + get :show, id: @certificate | |
| 29 | + assert_response :success | |
| 30 | + end | |
| 31 | + | |
| 32 | + test "should get edit" do | |
| 33 | + get :edit, id: @certificate | |
| 34 | + assert_response :success | |
| 35 | + end | |
| 36 | + | |
| 37 | + test "should update certificate" do | |
| 38 | + patch :update, id: @certificate, certificate: { active: @certificate.active, cert: @certificate.cert, key: @certificate.key } | |
| 39 | + assert_redirected_to certificate_path(assigns(:certificate)) | |
| 40 | + end | |
| 41 | + | |
| 42 | + test "should destroy certificate" do | |
| 43 | + assert_difference('Certificate.count', -1) do | |
| 44 | + delete :destroy, id: @certificate | |
| 45 | + end | |
| 46 | + | |
| 47 | + assert_redirected_to certificates_path | |
| 48 | + end | |
| 49 | +end | ... | ... |
Please
register
or
login
to post a comment