Class: GroupDocs::DataSource
- Inherits:
-
Api::Entity
- Object
- Api::Entity
- GroupDocs::DataSource
- Defined in:
- lib/groupdocs/datasource.rb
Defined Under Namespace
Classes: Field
Instance Attribute Summary collapse
-
#created_on ⇒ Time
Converts timestamp which is return by API server to Time object.
- #descr ⇒ Object
- #fields ⇒ Object
- #id ⇒ Object
-
#modified_on ⇒ Time
Converts timestamp which is return by API server to Time object.
- #questionnaire_id ⇒ Object
Class Method Summary collapse
-
.get!(id, options = {}, access = {}) ⇒ GroupDocs::DataSource?
Returns datasource by given identifier.
Instance Method Summary collapse
-
#add!(access = {}) ⇒ Object
Adds datasource.
-
#add_datasource!(job, file_id, datasource, access = {}) ⇒ Object
Add job document datasource.
-
#add_datasource_fields!(job, file_id, datasource, access = {}) ⇒ Object
Add job document datasource fields.
-
#add_field(field) ⇒ Object
Adds field to datasource.
-
#remove!(access = {}) ⇒ Object
Removes datasource.
-
#update!(access = {}) ⇒ Object
Updates datasource.
-
#update_fields!(access = {}) ⇒ Object
Updates datasource.
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
#created_on ⇒ Time
Converts timestamp which is return by API server to Time object.
38 39 40 |
# File 'lib/groupdocs/datasource.rb', line 38 def created_on @created_on end |
#descr ⇒ Object
34 35 36 |
# File 'lib/groupdocs/datasource.rb', line 34 def descr @descr end |
#fields ⇒ Object
42 43 44 |
# File 'lib/groupdocs/datasource.rb', line 42 def fields @fields end |
#id ⇒ Object
32 33 34 |
# File 'lib/groupdocs/datasource.rb', line 32 def id @id end |
#modified_on ⇒ Time
Converts timestamp which is return by API server to Time object.
40 41 42 |
# File 'lib/groupdocs/datasource.rb', line 40 def modified_on @modified_on end |
#questionnaire_id ⇒ Object
36 37 38 |
# File 'lib/groupdocs/datasource.rb', line 36 def questionnaire_id @questionnaire_id end |
Class Method Details
.get!(id, options = {}, access = {}) ⇒ GroupDocs::DataSource?
Returns datasource by given identifier.
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/groupdocs/datasource.rb', line 17 def self.get!(id, = {}, access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = "/merge/{{client_id}}/datasources/#{id}" end api.add_params() json = api.execute! DataSource.new(json[:datasource]) rescue RestClient::ResourceNotFound nil end |
Instance Method Details
#add!(access = {}) ⇒ Object
Adds datasource.
109 110 111 112 113 114 115 116 117 118 |
# File 'lib/groupdocs/datasource.rb', line 109 def add!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = '/merge/{{client_id}}/datasources' request[:request_body] = to_hash end.execute! self.id = json[:datasource_id] end |
#add_datasource!(job, file_id, datasource, access = {}) ⇒ Object
Add job document datasource.
file = GroupDocs::Storage::File.new(guid => “(file guid)”).to_document field = GroupDocs::DataSource::Field.new(:name => “test”) datasource = GroupDocs::DataSource.new datasource.add_field(field).add!() job = GroupDocs::Job.create!() file_id = job.add_document!(file) datasource = add_datasourse!(job, file_id, datasource)
202 203 204 205 206 207 208 209 210 211 |
# File 'lib/groupdocs/datasource.rb', line 202 def add_datasource!(job, file_id, datasource, access = {}) datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError, "Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}" Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/jobs/#{job.id}/files/#{file_id}/datasources/#{datasource.id}" end.execute! end |
#add_datasource_fields!(job, file_id, datasource, access = {}) ⇒ Object
Add job document datasource fields.
file = GroupDocs::Storage::File.new(guid => “(file guid)”).to_document field = GroupDocs::DataSource::Field.new(:name => “test”) datasource = GroupDocs::DataSource.new datasource.add_field(field) job = GroupDocs::Job.create!() file_id = job.add_document!(file) datasource = add_datasourse!(job, file_id, datasource)
235 236 237 238 239 240 241 242 243 244 |
# File 'lib/groupdocs/datasource.rb', line 235 def add_datasource_fields!(job, file_id, datasource, access = {}) datasource.is_a?(GroupDocs::DataSource) or raise ArgumentError, "Datasource should be GroupDocs::DataSource object, received: #{datasource.inspect}" Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/jobs/#{job.id}/files/#{file_id}/datasources" request[:request_body] = datasource.fields end.execute! end |
#add_field(field) ⇒ Object
Adds field to datasource.
88 89 90 91 92 93 94 |
# File 'lib/groupdocs/datasource.rb', line 88 def add_field(field) field.is_a?(GroupDocs::DataSource::Field) or raise ArgumentError, "Field should be GroupDocs::DataSource::Field object, received: #{field.inspect}" @fields ||= Array.new @fields << field end |
#remove!(access = {}) ⇒ Object
Removes datasource.
171 172 173 174 175 176 177 178 179 180 |
# File 'lib/groupdocs/datasource.rb', line 171 def remove!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/merge/{{client_id}}/datasources/#{id}" end.execute! # TODO: fix this in API - http://scotland.groupdocs.com/jira/browse/CORE-387 rescue RestClient::BadRequest nil end |
#update!(access = {}) ⇒ Object
Updates datasource.
133 134 135 136 137 138 139 140 |
# File 'lib/groupdocs/datasource.rb', line 133 def update!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/datasources/#{id}" request[:request_body] = to_hash end.execute! end |
#update_fields!(access = {}) ⇒ Object
Updates datasource.
155 156 157 158 159 160 161 162 |
# File 'lib/groupdocs/datasource.rb', line 155 def update_fields!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/merge/{{client_id}}/datasources/#{id}/fields" request[:request_body] = to_hash end.execute! end |