Class: GroupDocs::Questionnaire::Collector
- Inherits:
-
Api::Entity
- Object
- Api::Entity
- GroupDocs::Questionnaire::Collector
- Includes:
- Api::Helpers::Status
- Defined in:
- lib/groupdocs/questionnaire/collector.rb
Instance Attribute Summary collapse
- #emails ⇒ Object
- #guid ⇒ Object
- #id ⇒ Object
-
#modified ⇒ Time
Converts timestamp which is return by API server to Time object.
- #questionnaire ⇒ Object
- #questionnaire_id ⇒ Object
- #resolved_executions ⇒ Object
-
#status ⇒ Symbol
Converts status to human-readable format.
-
#type ⇒ Symbol
Converts type to human-readable format.
Class Method Summary collapse
-
.get!(guid, access = {}) ⇒ GroupDocs::Questionnaire::Collector
Returns collector by its guid.
Instance Method Summary collapse
-
#add!(access = {}) ⇒ Object
Adds collector.
-
#add_execution!(execution, access = {}) ⇒ GroupDocs::Questionnaire::Execution
Adds new questionnaire execution.
-
#decorate!(style, access = {}) ⇒ Object
Added in release 1.7.0.
-
#executions!(access = {}) ⇒ Array<GroupDocs::Questionnaire::Execution>
Returns an array of questionnaire collector executions.
-
#fill!(datasource, options = {}, access = {}) ⇒ GroupDocs::Job
Creates new job to merge datasource into questionnaire collector.
-
#get_decorate!(access = {}) ⇒ Object
Added in release 1.7.0.
-
#get_questionnaire!(access = {}) ⇒ Object
Added in release 1.5.8.
-
#initialize(options = {}, &blk) ⇒ Collector
constructor
Creates new GroupDocs::Questionnaire::Collector.
-
#remove!(access = {}) ⇒ Object
Removes collector.
-
#update!(access = {}) ⇒ Object
Updates collector.
Methods inherited from Api::Entity
Methods included from Api::Helpers::Accessor
Constructor Details
#initialize(options = {}, &blk) ⇒ Collector
Creates new GroupDocs::Questionnaire::Collector.
52 53 54 55 56 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 52 def initialize( = {}, &blk) super(, &blk) questionnaire.is_a?(GroupDocs::Questionnaire) or raise ArgumentError, "You have to pass GroupDocs::Questionnaire object: #{questionnaire.inspect}." end |
Instance Attribute Details
#emails ⇒ Object
43 44 45 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 43 def emails @emails end |
#guid ⇒ Object
31 32 33 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 31 def guid @guid end |
#id ⇒ Object
29 30 31 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 29 def id @id end |
#modified ⇒ Time
Converts timestamp which is return by API server to Time object.
45 46 47 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 45 def modified @modified end |
#questionnaire ⇒ Object
33 34 35 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 33 def questionnaire @questionnaire end |
#questionnaire_id ⇒ Object
35 36 37 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 35 def questionnaire_id @questionnaire_id end |
#resolved_executions ⇒ Object
41 42 43 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 41 def resolved_executions @resolved_executions end |
#status ⇒ Symbol
Converts status to human-readable format.
37 38 39 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 37 def status @status end |
#type ⇒ Symbol
Converts type to human-readable format.
39 40 41 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 39 def type @type end |
Class Method Details
.get!(guid, access = {}) ⇒ GroupDocs::Questionnaire::Collector
Returns collector by its guid.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 15 def self.get!(guid, access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}" end.execute! collector = json[:collector] collector.merge!(:questionnaire => Questionnaire.new(:id => collector[:questionnaire_id])) new(collector) end |
Instance Method Details
#add!(access = {}) ⇒ Object
Adds collector.
104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 104 def add!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/questionnaires/#{questionnaire.guid}/collectors" request[:request_body] = to_hash end.execute! self.id = json[:collector_id] self.guid = json[:collector_guid] end |
#add_execution!(execution, access = {}) ⇒ GroupDocs::Questionnaire::Execution
Adds new questionnaire execution.
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 191 def add_execution!(execution, access = {}) execution.is_a?(GroupDocs::Questionnaire::Execution) or raise ArgumentError, "Execution should be GroupDocs::Questionnaire::Execution object, received: #{execution.inspect}" json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions" request[:request_body] = execution.to_hash end.execute! execution.id = json[:execution_id] execution.guid = json[:execution_guid] execution.collector_id = json[:collector_id] execution end |
#decorate!(style, access = {}) ⇒ Object
Added in release 1.7.0
Decorate questionnaire collector
300 301 302 303 304 305 306 307 308 309 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 300 def decorate!(style, access = {}) style.is_a?(GroupDocs::Questionnaire::QuestionnaireCollectorStyle) or raise ArgumentError, "Style should be GroupDocs::Questionnaire::QuestionnaireCollectorStyle object, received: #{style.inspect}" Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/decorate" request[:request_body] = style end.execute! end |
#executions!(access = {}) ⇒ Array<GroupDocs::Questionnaire::Execution>
Returns an array of questionnaire collector executions.
161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 161 def executions!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/executions" end.execute! json[:executions].map do |execution| Questionnaire::Execution.new(execution) end end |
#fill!(datasource, options = {}, access = {}) ⇒ GroupDocs::Job
Creates new job to merge datasource into questionnaire collector.
246 247 248 249 250 251 252 253 254 255 256 257 258 259 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 246 def fill!(datasource, = {}, access = {}) datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError, "Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}" api = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}/datasources/#{datasource.id}" end api.add_params() json = api.execute! Job.new(:id => json[:job_id]) end |
#get_decorate!(access = {}) ⇒ Object
Added in release 1.7.0
Returns questionnaire collector style
326 327 328 329 330 331 332 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 326 def get_decorate!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}/style" end.execute! end |
#get_questionnaire!(access = {}) ⇒ Object
Added in release 1.5.8
Get questionnaire by collector guid
271 272 273 274 275 276 277 278 279 280 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 271 def get_questionnaire!(access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/questionnaires/collector/#{guid}" end json = api.execute! Questionnaire.new(json[:questionnaire]) end |
#remove!(access = {}) ⇒ Object
Removes collector.
145 146 147 148 149 150 151 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 145 def remove!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}" end.execute! end |
#update!(access = {}) ⇒ Object
Updates collector.
129 130 131 132 133 134 135 136 |
# File 'lib/groupdocs/questionnaire/collector.rb', line 129 def update!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/questionnaires/collectors/#{guid}" request[:request_body] = to_hash end.execute! end |