From 2f927d26c47e0b28b5d3bc3646d2e003784b4ea7 Mon Sep 17 00:00:00 2001 From: Greg Kostin Date: Mon, 10 Jun 2019 11:57:53 -0400 Subject: [PATCH] fixes (#15) --- app/controllers/lib_ptg_folders_controller.rb | 27 +++----- app/models/lib_ptg_folder.rb | 13 ++++ app/views/identifiers/_form.html.erb | 23 ------- app/views/identifiers/edit.html.erb | 24 ++++--- app/views/identifiers/new.html.erb | 16 +++-- app/views/lib_ptg_folders/_form.html.erb | 4 +- .../_lib_ptg_folder.json.jbuilder | 4 +- app/views/lib_ptg_folders/edit.html.erb | 23 +++++-- app/views/lib_ptg_folders/index.html.erb | 64 ++++++++++--------- app/views/lib_ptg_folders/index.json.jbuilder | 2 + app/views/lib_ptg_folders/new.html.erb | 20 ++++-- app/views/lib_ptg_folders/show.html.erb | 61 +++++++++++------- app/views/lib_ptg_folders/show.json.jbuilder | 2 + config/routes.rb | 2 +- .../20190610144221_create_lib_ptg_folders.rb | 8 +-- db/schema.rb | 12 +++- spec/factories/lib_ptg_folders.rb | 10 +-- spec/models/lib_ptg_folder_spec.rb | 2 + spec/requests/lib_ptg_folders_spec.rb | 2 + 19 files changed, 188 insertions(+), 131 deletions(-) diff --git a/app/controllers/lib_ptg_folders_controller.rb b/app/controllers/lib_ptg_folders_controller.rb index 8321146..acf6ea3 100644 --- a/app/controllers/lib_ptg_folders_controller.rb +++ b/app/controllers/lib_ptg_folders_controller.rb @@ -1,28 +1,22 @@ +# frozen_string_literal: true + class LibPtgFoldersController < ApplicationController - before_action :set_lib_ptg_folder, only: [:show, :edit, :update, :destroy] + before_action :set_lib_ptg_folder, only: %i[show edit update destroy] - # GET /lib_ptg_folders - # GET /lib_ptg_folders.json def index - @lib_ptg_folders = LibPtgFolder.all + @lib_ptg_folders = LibPtgFolder.filter(filtering_params(params)).order(name: :asc).page(params[:page]) end - # GET /lib_ptg_folders/1 - # GET /lib_ptg_folders/1.json def show end - # GET /lib_ptg_folders/new def new @lib_ptg_folder = LibPtgFolder.new end - # GET /lib_ptg_folders/1/edit def edit end - # POST /lib_ptg_folders - # POST /lib_ptg_folders.json def create @lib_ptg_folder = LibPtgFolder.new(lib_ptg_folder_params) @@ -37,8 +31,6 @@ def create end end - # PATCH/PUT /lib_ptg_folders/1 - # PATCH/PUT /lib_ptg_folders/1.json def update respond_to do |format| if @lib_ptg_folder.update(lib_ptg_folder_params) @@ -51,8 +43,6 @@ def update end end - # DELETE /lib_ptg_folders/1 - # DELETE /lib_ptg_folders/1.json def destroy @lib_ptg_folder.destroy respond_to do |format| @@ -62,13 +52,16 @@ def destroy end private - # Use callbacks to share common setup or constraints between actions. + def set_lib_ptg_folder @lib_ptg_folder = LibPtgFolder.find(params[:id]) end - # Never trust parameters from the scary internet, only allow the white list through. def lib_ptg_folder_params - params.require(:lib_ptg_folder).permit(:name, :flavor, :month, :update) + params.require(:lib_ptg_folder).permit(:name, :flavor, :month, :touched) + end + + def filtering_params(params) + params.slice(:name_like) end end diff --git a/app/models/lib_ptg_folder.rb b/app/models/lib_ptg_folder.rb index 5a6f8ad..d427e89 100644 --- a/app/models/lib_ptg_folder.rb +++ b/app/models/lib_ptg_folder.rb @@ -1,2 +1,15 @@ +# frozen_string_literal: true + class LibPtgFolder < ApplicationRecord + include Filterable + + scope :name_like, ->(like) { where("name like ?", "%#{like}%") } + + def update? + true + end + + def destroy? + true + end end diff --git a/app/views/identifiers/_form.html.erb b/app/views/identifiers/_form.html.erb index 556720f..19950b7 100644 --- a/app/views/identifiers/_form.html.erb +++ b/app/views/identifiers/_form.html.erb @@ -18,34 +18,11 @@
<%= form.label :alias %> - <% aliases = @aliases.map { |identifier| [identifier.name, identifier.id] } %> <%= form.select(:uuid, options_for_select(aliases, @alias_id), include_blank: true) %> - - - - <%#= options_from_collection_for_select(Uuid.all, :id, :unpacked) %> -
<%= form.submit %>
<% end %> - - -<%#= simple_form_for(@identifier, url: identifiers_path) do |f| %> - <%#= f.error_notification %> - - - <%#= f.input :name %> - - - - <%#= f.input :uuid, collection: @aliases, label_method: :name, value_method: :id, label: "Alias", selected: @alias_id, include_blank: true %> - - - - <%#= f.button :submit %> - -<%# end %> diff --git a/app/views/identifiers/edit.html.erb b/app/views/identifiers/edit.html.erb index 6a87107..d19880f 100644 --- a/app/views/identifiers/edit.html.erb +++ b/app/views/identifiers/edit.html.erb @@ -1,13 +1,17 @@
-

Editing Identifier

-
- <%= render 'form', identifier: @identifier %> +
+
+

Editing Identifier

+
+

+
+ <%= render 'form', identifier: @identifier %> +
+

+
+ <%= link_to 'Show', identifier_path(@identifier) %> + | + <%= link_to 'Back', identifiers_path %> +
-

-
- <%= link_to 'Show', identifier_path(@identifier) %> - | - <%= link_to 'Back', identifiers_path %> -
-

diff --git a/app/views/identifiers/new.html.erb b/app/views/identifiers/new.html.erb index 482b22c..e6fe7b6 100644 --- a/app/views/identifiers/new.html.erb +++ b/app/views/identifiers/new.html.erb @@ -1,7 +1,15 @@
-

New Identifier

-
- <%= render 'form', identifier: @identifier %> +
+
+

New Identifier

+
+

+
+ <%= render 'form', identifier: @identifier %> +
+

+
+ <%= link_to 'Back', identifiers_path %> +
-
<%= link_to 'Back', identifiers_path %>
diff --git a/app/views/lib_ptg_folders/_form.html.erb b/app/views/lib_ptg_folders/_form.html.erb index 3b8ad52..5943bb8 100644 --- a/app/views/lib_ptg_folders/_form.html.erb +++ b/app/views/lib_ptg_folders/_form.html.erb @@ -27,8 +27,8 @@
- <%= form.label :update %> - <%= form.date_select :update %> + <%= form.label :touched %> + <%= form.date_select :touched %>
diff --git a/app/views/lib_ptg_folders/_lib_ptg_folder.json.jbuilder b/app/views/lib_ptg_folders/_lib_ptg_folder.json.jbuilder index 66f1d6b..630c112 100644 --- a/app/views/lib_ptg_folders/_lib_ptg_folder.json.jbuilder +++ b/app/views/lib_ptg_folders/_lib_ptg_folder.json.jbuilder @@ -1,2 +1,4 @@ -json.extract! lib_ptg_folder, :id, :name, :flavor, :month, :update, :created_at, :updated_at +# frozen_string_literal: true + +json.extract! lib_ptg_folder, :id, :name, :flavor, :month, :touched, :created_at, :updated_at json.url lib_ptg_folder_url(lib_ptg_folder, format: :json) diff --git a/app/views/lib_ptg_folders/edit.html.erb b/app/views/lib_ptg_folders/edit.html.erb index 3f049c2..19415ca 100644 --- a/app/views/lib_ptg_folders/edit.html.erb +++ b/app/views/lib_ptg_folders/edit.html.erb @@ -1,6 +1,17 @@ -

Editing Lib Ptg Folder

- -<%= render 'form', lib_ptg_folder: @lib_ptg_folder %> - -<%= link_to 'Show', @lib_ptg_folder %> | -<%= link_to 'Back', lib_ptg_folders_path %> +
+
+
+

Editing Lib Ptg Folder

+
+

+
+ <%= render 'form', lib_ptg_folder: @lib_ptg_folder %> +
+

+
+ <%= link_to 'Show', @lib_ptg_folder %> + | + <%= link_to 'Back', lib_ptg_folders_path %> +
+
+
diff --git a/app/views/lib_ptg_folders/index.html.erb b/app/views/lib_ptg_folders/index.html.erb index 348990b..42f7935 100644 --- a/app/views/lib_ptg_folders/index.html.erb +++ b/app/views/lib_ptg_folders/index.html.erb @@ -1,33 +1,37 @@

<%= notice %>

- -

Lib Ptg Folders

- - - - - - - - - - - - - +
+
+
+

Lib Ptg Folders

+
+
+
ID
+
Name
+
Flavor
+
Month
+
Touched
+
+ <%= link_to 'New Lib Ptg Folder', new_lib_ptg_folder_path %> +
+
<% @lib_ptg_folders.each do |lib_ptg_folder| %> -
- - - - - - - - +
+
<%= lib_ptg_folder.id %>
+
<%= lib_ptg_folder.name %>
+
<%= lib_ptg_folder.flavor %>
+
<%= lib_ptg_folder.month %>
+
<%= lib_ptg_folder.touched %>
+
+
+
<%= link_to 'Show', lib_ptg_folder %>
+
<%= link_to 'Edit', edit_lib_ptg_folder_path(lib_ptg_folder) %>
+
<%= link_to 'Destroy', lib_ptg_folder, method: :delete, data: { confirm: 'Are you sure?' } %>
+
+
+
<% end %> - -
NameFlavorMonthUpdate
<%= lib_ptg_folder.name %><%= lib_ptg_folder.flavor %><%= lib_ptg_folder.month %><%= lib_ptg_folder.update %><%= link_to 'Show', lib_ptg_folder %><%= link_to 'Edit', edit_lib_ptg_folder_path(lib_ptg_folder) %><%= link_to 'Destroy', lib_ptg_folder, method: :delete, data: { confirm: 'Are you sure?' } %>
- -
- -<%= link_to 'New Lib Ptg Folder', new_lib_ptg_folder_path %> +
+
 <%= paginate @lib_ptg_folders %>
+
+
+
diff --git a/app/views/lib_ptg_folders/index.json.jbuilder b/app/views/lib_ptg_folders/index.json.jbuilder index 1b3c457..cbdbc4c 100644 --- a/app/views/lib_ptg_folders/index.json.jbuilder +++ b/app/views/lib_ptg_folders/index.json.jbuilder @@ -1 +1,3 @@ +# frozen_string_literal: true + json.array! @lib_ptg_folders, partial: "lib_ptg_folders/lib_ptg_folder", as: :lib_ptg_folder diff --git a/app/views/lib_ptg_folders/new.html.erb b/app/views/lib_ptg_folders/new.html.erb index df377d6..992c392 100644 --- a/app/views/lib_ptg_folders/new.html.erb +++ b/app/views/lib_ptg_folders/new.html.erb @@ -1,5 +1,15 @@ -

New Lib Ptg Folder

- -<%= render 'form', lib_ptg_folder: @lib_ptg_folder %> - -<%= link_to 'Back', lib_ptg_folders_path %> +
+
+
+

New Lib Ptg Folder

+
+

+
+ <%= render 'form', lib_ptg_folder: @lib_ptg_folder %> +
+

+
+ <%= link_to 'Back', lib_ptg_folders_path %> +
+
+
diff --git a/app/views/lib_ptg_folders/show.html.erb b/app/views/lib_ptg_folders/show.html.erb index 6bf2419..bf8f620 100644 --- a/app/views/lib_ptg_folders/show.html.erb +++ b/app/views/lib_ptg_folders/show.html.erb @@ -1,24 +1,39 @@

<%= notice %>

- -

- Name: - <%= @lib_ptg_folder.name %> -

- -

- Flavor: - <%= @lib_ptg_folder.flavor %> -

- -

- Month: - <%= @lib_ptg_folder.month %> -

- -

- Update: - <%= @lib_ptg_folder.update %> -

- -<%= link_to 'Edit', edit_lib_ptg_folder_path(@lib_ptg_folder) %> | -<%= link_to 'Back', lib_ptg_folders_path %> +
+
+
+

Lib Ptg Folder

+
+
+
ID
+
<%= @lib_ptg_folder.id %> 
+
+
+
Name
+
<%= @lib_ptg_folder.name %> 
+
+
+
Flavor
+
<%= @lib_ptg_folder.flavor %> 
+
+
+
Month
+
<%= @lib_ptg_folder.month %> 
+
+
+
Touched
+
<%= @lib_ptg_folder.touched %> 
+
+
+
+
+
+ <%= link_to_if @lib_ptg_folder.update?, 'Edit', edit_lib_ptg_folder_path(@lib_ptg_folder) %> + | + <%= link_to 'Back', lib_ptg_folders_path %> +
+
+
+
+
+
diff --git a/app/views/lib_ptg_folders/show.json.jbuilder b/app/views/lib_ptg_folders/show.json.jbuilder index d82cd22..aa0dbdc 100644 --- a/app/views/lib_ptg_folders/show.json.jbuilder +++ b/app/views/lib_ptg_folders/show.json.jbuilder @@ -1 +1,3 @@ +# frozen_string_literal: true + json.partial! "lib_ptg_folders/lib_ptg_folder", lib_ptg_folder: @lib_ptg_folder diff --git a/config/routes.rb b/config/routes.rb index 1a8e58f..f7e733f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,5 +6,5 @@ resources :identifiers resources :uuids - root to: 'identifiers#index' + root to: 'lib_ptg_folders#index' end diff --git a/db/migrate/20190610144221_create_lib_ptg_folders.rb b/db/migrate/20190610144221_create_lib_ptg_folders.rb index ed2c31e..8ae235a 100644 --- a/db/migrate/20190610144221_create_lib_ptg_folders.rb +++ b/db/migrate/20190610144221_create_lib_ptg_folders.rb @@ -1,10 +1,10 @@ class CreateLibPtgFolders < ActiveRecord::Migration[5.2] def change create_table :lib_ptg_folders do |t| - t.string :name - t.string :flavor - t.integer :month - t.date :update + t.string :name, null: false + t.string :flavor, null: false, default: "year" + t.integer :month, null: false, default: 0 + t.date :touched, null: false, default: Time.new(1970, 1, 1) t.timestamps end diff --git a/db/schema.rb b/db/schema.rb index e3f8213..09e9f40 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2019_05_28_165428) do +ActiveRecord::Schema.define(version: 2019_06_10_144221) do create_table "identifiers", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| t.string "name", null: false @@ -19,6 +19,16 @@ t.index ["name"], name: "index_identifiers_on_name" end + create_table "lib_ptg_folders", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| + t.string "name", null: false + t.string "flavor", default: "year", null: false + t.integer "month", default: 0, null: false + t.date "touched", default: "1970-01-01", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["name"], name: "index_lib_ptg_folders_on_name", unique: true + end + create_table "uuid_identifiers", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| t.bigint "uuid_id" t.bigint "identifier_id" diff --git a/spec/factories/lib_ptg_folders.rb b/spec/factories/lib_ptg_folders.rb index eda6e39..7d2b39a 100644 --- a/spec/factories/lib_ptg_folders.rb +++ b/spec/factories/lib_ptg_folders.rb @@ -1,8 +1,10 @@ +# frozen_string_literal: true + FactoryBot.define do factory :lib_ptg_folder do - name { "MyString" } - flavor { "MyString" } - month { 1 } - update { "2019-06-10" } + name { "UMPEBC_1970_1970_01_01" } + flavor { "year" } + month { 0 } + touched { "1970-01-01" } end end diff --git a/spec/models/lib_ptg_folder_spec.rb b/spec/models/lib_ptg_folder_spec.rb index 4e406e9..7e7aa45 100644 --- a/spec/models/lib_ptg_folder_spec.rb +++ b/spec/models/lib_ptg_folder_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' RSpec.describe LibPtgFolder, type: :model do diff --git a/spec/requests/lib_ptg_folders_spec.rb b/spec/requests/lib_ptg_folders_spec.rb index 1dcb96a..f5d9211 100644 --- a/spec/requests/lib_ptg_folders_spec.rb +++ b/spec/requests/lib_ptg_folders_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' RSpec.describe "LibPtgFolders", type: :request do