Class: Decidim::BulletinBoard::Graphql::FileAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/decidim/bulletin_board/graphql/file_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_name, _options = {}) ⇒ FileAdapter

Returns a new instance of FileAdapter.



11
12
13
# File 'lib/decidim/bulletin_board/graphql/file_adapter.rb', line 11

def initialize(file_name, _options = {}, &)
  @file_name = file_name
end

Instance Attribute Details

#file_nameObject (readonly)

Returns the value of attribute file_name.



9
10
11
# File 'lib/decidim/bulletin_board/graphql/file_adapter.rb', line 9

def file_name
  @file_name
end

Instance Method Details

#execute(document:, operation_name: nil, variables: {}, context: {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/decidim/bulletin_board/graphql/file_adapter.rb', line 15

def execute(document:, operation_name: nil, variables: {}, context: {})
  body = {}
  body["query"] = document.to_query_string
  body["variables"] = variables if variables.any?
  body["operationName"] = operation_name if operation_name

  CSV.open(file_name, "a+", col_sep: ";") do |csv|
    csv << [JSON.generate(body), context[:headers]["Authorization"]]
  end

  { "data" => { "vote" => {} } }
end