Class: Interaction::QueryCreation

Inherits:
Object
  • Object
show all
Includes:
QueryInteraction
Defined in:
lib/interaction/query_creation.rb

Instance Attribute Summary

Attributes included from QueryInteraction

#errors

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ QueryCreation

Returns a new instance of QueryCreation.



5
6
7
8
9
# File 'lib/interaction/query_creation.rb', line 5

def initialize(params)
  @errors = []
  @params = params
  unpack_params
end

Instance Method Details

#executeObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/interaction/query_creation.rb', line 11

def execute
  @query = Query.new(title: @title, latest_body: @body)
  @query.tag_list = @tags
  @query.set_roles(@roles)
  @query.query_versions.build(
    version: 1,
    body: @body,
    parameters: @parameters,
    user_id: @user.id
  )
  @query.add_result(@result)
  @query.save
  merge_query_errors
  @query
end