Class: RailsConsoleAi::MemoriesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- RailsConsoleAi::MemoriesController
- Defined in:
- app/controllers/rails_console_ai/memories_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #diff ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 31 def create @memory = Memory.new attrs = memory_params begin @memory.update_with_version!( attrs, edited_by: edited_by_param, change_note: params[:change_note].presence ) redirect_to memory_path(@memory), notice: 'Memory created.' rescue ActiveRecord::RecordInvalid => e flash.now[:alert] = e. render :new end end |
#destroy ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 67 def destroy if @memory.is_a?(RailsConsoleAi::Memory) @memory.destroy redirect_to memories_path, notice: 'Memory deleted. Past versions remain in history.' else redirect_to memories_path, alert: end end |
#diff ⇒ Object
76 77 78 79 80 81 82 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 76 def diff @memory = Memory.find(params[:memory_id]) @from = @memory.versions.find(params[:from]) @to = params[:to].present? ? @memory.versions.find(params[:to]) : nil @to_label = @to ? "Version ##{@to.id}" : 'Current' @to_content = @to ? @to.content : @memory.content end |
#edit ⇒ Object
47 48 49 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 47 def edit redirect_to memories_path, alert: and return unless @memory.is_a?(RailsConsoleAi::Memory) end |
#index ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 7 def index @memories = Tools::MemoryTools.new.load_all_memories @q = params[:q].to_s.strip unless @q.empty? needle = @q.downcase @memories = @memories.select { |m| [m['name'], m['description'], Array(m['tags']).join(' ')].compact.join(' ').downcase.include?(needle) } end @sort = params[:sort].to_s if @sort == 'used' @memories = @memories.sort_by { |m| [-(m['use_count'].to_i), m['name'].to_s.downcase] } end end |
#new ⇒ Object
27 28 29 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 27 def new @memory = Memory.new(content: new_memory_template) end |
#show ⇒ Object
23 24 25 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 23 def show @versions = @memory.versions if @memory.is_a?(RailsConsoleAi::Memory) end |
#update ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/controllers/rails_console_ai/memories_controller.rb', line 51 def update redirect_to memories_path, alert: and return unless @memory.is_a?(RailsConsoleAi::Memory) begin @memory.update_with_version!( memory_params, edited_by: edited_by_param, change_note: params[:change_note].presence ) redirect_to memory_path(@memory), notice: 'Memory updated.' rescue ActiveRecord::RecordInvalid => e flash.now[:alert] = e. render :edit end end |