Class: GroupDocs::Questionnaire
- Inherits:
-
Api::Entity
- Object
- Api::Entity
- GroupDocs::Questionnaire
- Includes:
- Api::Helpers::Status
- Defined in:
- lib/groupdocs/questionnaire.rb
Defined Under Namespace
Classes: Collector, Execution, Page, Question
Instance Attribute Summary collapse
-
#allowed_operations ⇒ Object
Returns the value of attribute allowed_operations.
- #assigned_questions ⇒ Object
- #descr ⇒ Object
- #document_ids ⇒ Object
- #emails ⇒ Object
- #expires ⇒ Object
- #folder ⇒ Object
-
#formats ⇒ Object
added in release 1.5.8.
- #guid ⇒ Object
- #id ⇒ Object
- #modified ⇒ Object
- #name ⇒ Object
- #open_on_completion ⇒ Object
- #output_format ⇒ Object
- #pages ⇒ Object
- #resolved_executions ⇒ Object
-
#status ⇒ Symbol
Converts status to human-readable format.
- #total_questions ⇒ Object
Class Method Summary collapse
-
.all!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire>
Returns an array of all questionnaires.
-
.get!(id, access = {}) ⇒ GroupDocs::Questionnaire?
Returns questionnaire by identifier.
-
.get_by_name!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire>
Added in release 1.5.8.
Instance Method Summary collapse
-
#add_page(page) ⇒ Object
Adds page to questionnaire.
-
#collectors!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire::Collector>
Changed in release 1.5.8.
-
#copy_to_templates!(path, mode, options = {}, access = {}) ⇒ Array
Changed in release 1.5.8.
-
#create!(access = {}) ⇒ Object
Creates questionnaire.
-
#datasources!(access = {}) ⇒ Array<GroupDocs::DataSource>
Returns array of datasources for questionnaire.
-
#delete_collectors_list!(collectors, access = {}) ⇒ Object
Added in release 1.5.8.
-
#delete_datasources_list!(datasources, access = {}) ⇒ Object
Added in release 1.5.8.
-
#delete_executions_list!(executions, access = {}) ⇒ Object
Added in release 1.5.8.
-
#delete_list!(guids, access = {}) ⇒ Object
Added in release 1.5.8.
-
#executions!(access = {}) ⇒ Array<GroupDocs::Questionnaire::Execution>
Returns an array of questionnaire executions.
-
#fields!(access = {}) ⇒ Array<GroupDocs::Document::Field>
Returns an array of document fields for questionnaire.
-
#get_document!(access = {}) ⇒ Object
Added in release 1.5.8.
-
#metadata!(access = {}) ⇒ GroupDocs::Questionnaire
Returns questionnaire metadata.
-
#remove!(access = {}) ⇒ Object
Removes questionnaire.
-
#update!(access = {}) ⇒ Object
Updates questionnaire.
-
#update_metadata!(metadata, access = {}) ⇒ Object
Updates questionnaire metadata.
Methods inherited from Api::Entity
#initialize, #inspect, #to_hash
Methods included from Api::Helpers::Accessor
Constructor Details
This class inherits a constructor from GroupDocs::Api::Entity
Instance Attribute Details
#allowed_operations ⇒ Object
Returns the value of attribute allowed_operations.
103 104 105 |
# File 'lib/groupdocs/questionnaire.rb', line 103 def allowed_operations @allowed_operations end |
#assigned_questions ⇒ Object
80 81 82 |
# File 'lib/groupdocs/questionnaire.rb', line 80 def assigned_questions @assigned_questions end |
#descr ⇒ Object
74 75 76 |
# File 'lib/groupdocs/questionnaire.rb', line 74 def descr @descr end |
#document_ids ⇒ Object
88 89 90 |
# File 'lib/groupdocs/questionnaire.rb', line 88 def document_ids @document_ids end |
#emails ⇒ Object
97 98 99 |
# File 'lib/groupdocs/questionnaire.rb', line 97 def emails @emails end |
#expires ⇒ Object
86 87 88 |
# File 'lib/groupdocs/questionnaire.rb', line 86 def expires @expires end |
#folder ⇒ Object
95 96 97 |
# File 'lib/groupdocs/questionnaire.rb', line 95 def folder @folder end |
#formats ⇒ Object
added in release 1.5.8
93 94 95 |
# File 'lib/groupdocs/questionnaire.rb', line 93 def formats @formats end |
#guid ⇒ Object
68 69 70 |
# File 'lib/groupdocs/questionnaire.rb', line 68 def guid @guid end |
#id ⇒ Object
66 67 68 |
# File 'lib/groupdocs/questionnaire.rb', line 66 def id @id end |
#modified ⇒ Object
84 85 86 |
# File 'lib/groupdocs/questionnaire.rb', line 84 def modified @modified end |
#name ⇒ Object
70 71 72 |
# File 'lib/groupdocs/questionnaire.rb', line 70 def name @name end |
#open_on_completion ⇒ Object
101 102 103 |
# File 'lib/groupdocs/questionnaire.rb', line 101 def open_on_completion @open_on_completion end |
#output_format ⇒ Object
99 100 101 |
# File 'lib/groupdocs/questionnaire.rb', line 99 def output_format @output_format end |
#pages ⇒ Object
76 77 78 |
# File 'lib/groupdocs/questionnaire.rb', line 76 def pages @pages end |
#resolved_executions ⇒ Object
78 79 80 |
# File 'lib/groupdocs/questionnaire.rb', line 78 def resolved_executions @resolved_executions end |
#status ⇒ Symbol
Converts status to human-readable format.
72 73 74 |
# File 'lib/groupdocs/questionnaire.rb', line 72 def status @status end |
#total_questions ⇒ Object
82 83 84 |
# File 'lib/groupdocs/questionnaire.rb', line 82 def total_questions @total_questions end |
Class Method Details
.all!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire>
Returns an array of all questionnaires.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/groupdocs/questionnaire.rb', line 25 def self.all!( = {}, access = {}) if [:status] # TODO find better way to parse status [:status] = new.send(:parse_status, [:status]) end api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = '/merge/{{client_id}}/questionnaires' end api.add_params() json = api.execute! json[:questionnaires].map do |questionnaire| new(questionnaire) end end |
.get!(id, access = {}) ⇒ GroupDocs::Questionnaire?
Returns questionnaire by identifier.
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/groupdocs/questionnaire.rb', line 53 def self.get!(id, access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{id}" end.execute! new(json[:questionnaire]) rescue RestClient::ResourceNotFound nil end |
.get_by_name!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire>
Added in release 1.5.8
Returns an array of questionnaires by name.
419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 |
# File 'lib/groupdocs/questionnaire.rb', line 419 def self.get_by_name!( = {}, access = {}) if [:status] # TODO find better way to parse status [:status] = new.send(:parse_status, [:status]) end api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = '/merge/{{client_id}}/questionnaires/filter' end api.add_params() json = api.execute! json[:questionnaires].map do |questionnaire| new(questionnaire) end end |
Instance Method Details
#add_page(page) ⇒ Object
Adds page to questionnaire.
142 143 144 145 146 147 148 |
# File 'lib/groupdocs/questionnaire.rb', line 142 def add_page(page) page.is_a?(GroupDocs::Questionnaire::Page) or raise ArgumentError, "Page should be GroupDocs::Questionnaire::Page object, received: #{page.inspect}" @pages ||= Array.new @pages << page end |
#collectors!(options = {}, access = {}) ⇒ Array<GroupDocs::Questionnaire::Collector>
Changed in release 1.5.8
Returns an array of questionnaire collectors.
273 274 275 276 277 278 279 280 281 282 283 284 285 286 |
# File 'lib/groupdocs/questionnaire.rb', line 273 def collectors!( = {}, access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{guid}/collectors" end api.add_params() json = api.execute! json[:collectors].map do |collector| collector.merge!(:questionnaire => self) Collector.new(collector) end end |
#copy_to_templates!(path, mode, options = {}, access = {}) ⇒ Array
Changed in release 1.5.8
Copy file to given path.
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 |
# File 'lib/groupdocs/questionnaire.rb', line 368 def copy_to_templates!(path, mode, = {}, access = {}) [:name] ||= name path = prepare_path("#{path}/#{options[:name]}") api = Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:headers] = { :'Groupdocs-Copy' => id } request[:path] = "/merge/{{client_id}}/files/#{path}" end api.add_params(:mode => mode) json = api.execute! json[:templates] end |
#create!(access = {}) ⇒ Object
Creates questionnaire.
@example
questionnaire = GroupDocs::Questionnaire.new() pages = GroupDocs::Questionnaire::Page.new() questions = GroupDocs::Questionnaire::Question.new() answer = GroupDocs::Questionnaire::Question::Answer.new() questions.answers = [answer] conditions = GroupDocs::Questionnaire::Question::Conditions.new() questions.conditions = [conditions] pages.questions = [questions] questionnaire.pages = [pages] questionnaire.create!
171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/groupdocs/questionnaire.rb', line 171 def create!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = '/merge/{{client_id}}/questionnaires' request[:request_body] = to_hash end.execute! self.id = json[:questionnaire_id] self.guid = json[:questionnaire_guid] self.name = json[:adjusted_name] end |
#datasources!(access = {}) ⇒ Array<GroupDocs::DataSource>
Returns array of datasources for questionnaire.
226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/groupdocs/questionnaire.rb', line 226 def datasources!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{id}/datasources" end.execute! json[:datasources].map do |datasource| DataSource.new(datasource) end end |
#delete_collectors_list!(collectors, access = {}) ⇒ Object
Added in release 1.5.8
Removes questionnaire collector.
470 471 472 473 474 475 476 477 |
# File 'lib/groupdocs/questionnaire.rb', line 470 def delete_collectors_list!(collectors, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/questionnaires/collectors/list" request[:request_body] = collectors end.execute! end |
#delete_datasources_list!(datasources, access = {}) ⇒ Object
Added in release 1.5.8
Delete list of datasource fields.
508 509 510 511 512 513 514 515 |
# File 'lib/groupdocs/questionnaire.rb', line 508 def delete_datasources_list!(datasources, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}datasources/list" request[:request_body] = datasources end.execute! end |
#delete_executions_list!(executions, access = {}) ⇒ Object
Added in release 1.5.8
Removes questionnaire execution.
489 490 491 492 493 494 495 496 |
# File 'lib/groupdocs/questionnaire.rb', line 489 def delete_executions_list!(executions, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/questionnaires/executions/list" request[:request_body] = executions end.execute! end |
#delete_list!(guids, access = {}) ⇒ Object
Added in release 1.5.8
Delete list of questionnaires by GUIDs.
449 450 451 452 453 454 455 456 457 458 |
# File 'lib/groupdocs/questionnaire.rb', line 449 def delete_list!(guids, access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/questionnaires/list" request[:request_body] = guids end api.execute! end |
#executions!(access = {}) ⇒ Array<GroupDocs::Questionnaire::Execution>
Returns an array of questionnaire executions.
246 247 248 249 250 251 252 253 254 255 256 |
# File 'lib/groupdocs/questionnaire.rb', line 246 def executions!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{guid}/executions" end.execute! json[:executions].map do |execution| Execution.new(execution) end end |
#fields!(access = {}) ⇒ Array<GroupDocs::Document::Field>
Returns an array of document fields for questionnaire.
340 341 342 343 344 345 346 347 348 349 350 351 352 |
# File 'lib/groupdocs/questionnaire.rb', line 340 def fields!(access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{guid}/fields" end api.add_params(:include_geometry => true) json = api.execute! json[:fields].map do |field| Document::Field.new(field) end end |
#get_document!(access = {}) ⇒ Object
Added in release 1.5.8
Get associated document by questionnaire
394 395 396 397 398 399 400 |
# File 'lib/groupdocs/questionnaire.rb', line 394 def get_document!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{id}/document" end.execute! end |
#metadata!(access = {}) ⇒ GroupDocs::Questionnaire
Returns questionnaire metadata.
296 297 298 299 300 301 302 303 304 |
# File 'lib/groupdocs/questionnaire.rb', line 296 def (access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/#{guid}/metadata" end.execute! Questionnaire.new(json[:questionnaire]) end |
#remove!(access = {}) ⇒ Object
Removes questionnaire.
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/groupdocs/questionnaire.rb', line 207 def remove!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/questionnaires/#{id}" end.execute! # TODO: fix this in API - http://scotland.groupdocs.com/jira/browse/CORE-391 rescue RestClient::BadRequest nil end |
#update!(access = {}) ⇒ Object
Updates questionnaire.
191 192 193 194 195 196 197 198 |
# File 'lib/groupdocs/questionnaire.rb', line 191 def update!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/questionnaires/#{id}" request[:request_body] = to_hash end.execute! end |
#update_metadata!(metadata, access = {}) ⇒ Object
Updates questionnaire metadata.
320 321 322 323 324 325 326 327 328 329 330 |
# File 'lib/groupdocs/questionnaire.rb', line 320 def (, access = {}) .is_a?(GroupDocs::Questionnaire) or raise ArgumentError, "Metadata should be GroupDocs::Questionnaire object, received: #{metadata.inspect}" Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/questionnaires/#{guid}/metadata" request[:request_body] = .to_hash end.execute! end |