summaryrefslogtreecommitdiff
path: root/app/controllers/characters/item_infixes_controller.rb
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-06-16 20:49:59 -0400
committerGitHub <noreply@github.com>2021-06-16 20:49:59 -0400
commit6dfaa7453591910e1373d92d8a09ddf384ebe834 (patch)
treeccec71ec425808ea82a3bfbcd36490f1cdcb666d /app/controllers/characters/item_infixes_controller.rb
parent007896b0057b8aecbf74dddd269b57efe3f6e0e6 (diff)
parent0d6a82102061ff58b7ba34b09c4be9687c21ab2a (diff)
Merge pull request #16 from dtgay/0.1.11
0.1.11
Diffstat (limited to 'app/controllers/characters/item_infixes_controller.rb')
-rw-r--r--app/controllers/characters/item_infixes_controller.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/controllers/characters/item_infixes_controller.rb b/app/controllers/characters/item_infixes_controller.rb
new file mode 100644
index 0000000..0b5f1c5
--- /dev/null
+++ b/app/controllers/characters/item_infixes_controller.rb
@@ -0,0 +1,27 @@
+class Characters::ItemInfixesController < ApplicationController
+ def create
+ # TODO: Can this find-by-id happen automagically?
+ @item_infix = current_char.infix(Item.find(params[:item_id]), Skill.find(params[:skill_id]))
+ if @item_infix
+ flash[:notice] = "Infixed #{@item_infix.item.name}."
+ else
+ flash[:alert] = "Failed to infix item."
+ end
+ redirect_to character_skills_path(current_char)
+ end
+
+ def destroy
+ @item_infix = ItemInfix.find(params[:id])
+ if current_char.remove_infix(@item_infix)
+ flash[:notice] = "Removed #{@item_infix.item.name}."
+ else
+ flash[:alert] = "Failed to remove #{@item_infix.item.name}."
+ end
+ redirect_to character_skills_path(current_char)
+ end
+
+ private
+ def item_infix_params
+ params.require(:item_infix).permit(:item_id, :skill_id)
+ end
+end