module Interaction::QueryInteraction

Attributes

errors[R]

Private Instance Methods

build_roles() click to toggle source
# File lib/interaction/query_interaction.rb, line 23
def build_roles
  roles = [@user.role]
  roles.concat(@params[:roles]) if @params[:roles]
  superior_roles = roles.map { |role| ROLE_HIERARCHY[role] }
  roles.concat(superior_roles).flatten.uniq.delete_if { |x| !x.present? }
end
fetch_result() click to toggle source
# File lib/interaction/query_interaction.rb, line 34
def fetch_result
  Result.find_by_id(@params[:result_id]) if @params[:result_id]
end
merge_query_errors() click to toggle source
# File lib/interaction/query_interaction.rb, line 30
def merge_query_errors
  @errors.concat(@query.errors.full_messages) if @query.errors.any?
end
unpack_params() click to toggle source
# File lib/interaction/query_interaction.rb, line 7
def unpack_params
  @tags = @params[:tags] || []
  @title = @params[:title]
  @user = @params[:user]
  @scheduled_flag = !!@params[:scheduled_flag]
  @email = @params[:email]

  @result = fetch_result
  @roles = build_roles

  return unless @params[:version]
  @parameters = @params[:version][:parameters] || []
  @comment = @params[:version][:comment]
  @body = @params[:version][:body]
end