Class: Observ::TracesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Observ::TracesController
- Defined in:
- app/controllers/observ/traces_controller.rb
Instance Method Summary collapse
- #add_to_dataset ⇒ Object
- #add_to_dataset_drawer ⇒ Object
- #annotations_drawer ⇒ Object
- #index ⇒ Object
- #search ⇒ Object
- #show ⇒ Object
- #text_output_drawer ⇒ Object
Instance Method Details
#add_to_dataset ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'app/controllers/observ/traces_controller.rb', line 46 def add_to_dataset @trace = Observ::Trace.find(params[:id]) @dataset = Observ::Dataset.find(params[:dataset_id]) @item = @dataset.items.build( input: @trace.input, expected_output: params[:expected_output].presence || @trace.output, source_trace: @trace, status: :active ) if @item.save redirect_to dataset_path(@dataset, tab: "items"), notice: "Trace added to dataset '#{@dataset.name}' successfully." else @datasets = Observ::Dataset.order(:name) flash.now[:alert] = "Failed to add trace to dataset: #{@item.errors..join(', ')}" render :add_to_dataset_drawer, status: :unprocessable_content end end |
#add_to_dataset_drawer ⇒ Object
41 42 43 44 |
# File 'app/controllers/observ/traces_controller.rb', line 41 def add_to_dataset_drawer @trace = Observ::Trace.find(params[:id]) @datasets = Observ::Dataset.order(:name) end |
#annotations_drawer ⇒ Object
30 31 32 33 34 |
# File 'app/controllers/observ/traces_controller.rb', line 30 def annotations_drawer @trace = Observ::Trace.find(params[:id]) @annotations = @trace.annotations.recent @annotation = @trace.annotations.build end |
#index ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'app/controllers/observ/traces_controller.rb', line 3 def index @traces = Observ::Trace .includes(:observ_session) .order(start_time: :desc) .page(params[:page]) .per(Observ.config.pagination_per_page) apply_filters if params[:filter].present? end |
#search ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/observ/traces_controller.rb', line 20 def search @traces = Observ::Trace .includes(:observ_session) .where("trace_id LIKE ? OR name LIKE ?", "%#{params[:q]}%", "%#{params[:q]}%") .order(start_time: :desc) .limit(50) render :index end |
#show ⇒ Object
13 14 15 16 17 18 |
# File 'app/controllers/observ/traces_controller.rb', line 13 def show @trace = Observ::Trace.includes(:observations).find(params[:id]) @observations = @trace.observations.order(start_time: :asc) @generations = @trace.generations @spans = @trace.spans end |
#text_output_drawer ⇒ Object
36 37 38 39 |
# File 'app/controllers/observ/traces_controller.rb', line 36 def text_output_drawer @trace = Observ::Trace.includes(:observations, :annotations, observ_session: :annotations).find(params[:id]) @formatted_text = Observ::TraceTextFormatter.new(@trace).format end |