txtextcontrol-reportingcloud 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d69459cfc7d065e32d143d4f0448fc607a858ae5
4
- data.tar.gz: ed780300dadb6a31f12f3785983efb806a3a70eb
3
+ metadata.gz: 412bde96793b7e9aaa7d088d4df465f920939753
4
+ data.tar.gz: 0fdbf408b933dae7ba59d9afa41a70a31c0ee4be
5
5
  SHA512:
6
- metadata.gz: 0ec77b3c5a03931cb1068abcf690cb9156b1f7a62da9ce5770faa65fa3551006114bcbc27cc939aaecf037e93b0cb7ea3ea4bcb96f8ca6939317780765bd3841
7
- data.tar.gz: 4c052c90eb063f0a1700257c7f9a47f44107ff4b656bcd38550907366f6177d36a43d342d269ea317033ad71c89938e5c5a8edfeffccea07d0f426e2e3801b4f
6
+ metadata.gz: c100d89e33189f70b8eeda8dc5e98ffaca27e6fe0df924338fa3b20fa3c677047638f2e6da2931f0ec532af8c308396f49b35f4d96b17c01be0ca6f433247b59
7
+ data.tar.gz: b23785fe5d263f8d5f55816dfa944e48d4efa8a682679f74737f43eabfaabde9c8e47193ae7d5be483e8b7f6f2ccbb49a09b6e4c1751b9388b1bc709e73a400e
data/README.md CHANGED
@@ -8,7 +8,7 @@ This is the official Ruby wrapper for ReportingCloud, which is authored, maintai
8
8
 
9
9
  Before using ReportingCloud, please sign up to the service:
10
10
 
11
- [http://api.reporting.cloud](http://api.reporting.cloud)
11
+ [https://portal.reporting.cloud](https://portal.reporting.cloud)
12
12
 
13
13
  ## Installation
14
14
 
@@ -34,7 +34,7 @@ You can read the [API documentation](https://textcontrol.github.io/txtextcontrol
34
34
 
35
35
  $ yard doc
36
36
 
37
- The resultant set of HTML files will be written to `~/txtextcontrol-reportingcloud/doc`.
37
+ The resultant set of HTML files will be written to `~/txtextcontrol-reportingcloud-ruby/doc`.
38
38
 
39
39
  If you don't have YARD already installed, you can install it with RubyGems with the following command:
40
40
 
@@ -21,7 +21,7 @@ module TXTextControl
21
21
  module ReportingCloud
22
22
 
23
23
  # Default API base url.
24
- DEFAULT_BASE_URI = "http://api.reporting.cloud"
24
+ DEFAULT_BASE_URI = "https://api.reporting.cloud"
25
25
  # Default API version.
26
26
  DEFAULT_VERSION = "v1"
27
27
  # Default http request timeout in seconds.
@@ -16,7 +16,7 @@ module TXTextControl
16
16
 
17
17
  # Represents ReportingCloud account settings.
18
18
  # @attr_reader [String, Symbol] serial_number The serial number that is attached to the
19
- # account. Possible values are :free, :trial and a 13 character long serial number.
19
+ # account. Possible values are +:free+, +:trial+ and a 13 character long serial number.
20
20
  # @attr_reader [Integer] created_documents The number of created documents in the
21
21
  # current month.
22
22
  # @attr_reader [Integer] uploaded_templates The number of uploaded templates to the
@@ -37,7 +37,7 @@ module TXTextControl
37
37
  attr_reader :valid_until
38
38
 
39
39
  # @param [String, Symbol] serial_number The serial number that is attached to the
40
- # account. Possible values are :free, :trial and a 13 character long serial number.
40
+ # account. Possible values are +:free+, +:trial+ and a 13 character long serial number.
41
41
  # @param [Integer] created_documents The number of created documents in the
42
42
  # current month.
43
43
  # @param [Integer] uploaded_templates The number of uploaded templates to the
@@ -25,7 +25,6 @@ module TXTextControl
25
25
  # author.
26
26
  # @author Thorsten Kummerow (@thomerow)
27
27
  class MergeBody
28
- attr_accessor :merge_data
29
28
  attr_accessor :template
30
29
  attr_accessor :merge_settings
31
30
 
@@ -37,14 +36,22 @@ module TXTextControl
37
36
  # merge properties and document properties such as title and
38
37
  # author.
39
38
  def initialize(merge_data, merge_settings = nil, template = nil)
40
- unless merge_data.kind_of?(Array) && !merge_data.empty? && merge_data[0].kind_of?(Hash)
41
- raise ArgumentError, "Merge data must be a non empty array of hashes."
42
- end
43
- @merge_data = merge_data
39
+ self.merge_data = merge_data
44
40
  @template = template
45
41
  @merge_settings = merge_settings
46
42
  end
47
43
 
44
+ def merge_data=(val)
45
+ unless val.kind_of?(Array) && !val.empty? && val[0].kind_of?(Hash)
46
+ raise ArgumentError, "Merge data must be a non empty array of hashes."
47
+ end
48
+ @merge_data = val
49
+ end
50
+
51
+ def merge_data
52
+ @merge_data
53
+ end
54
+
48
55
  # Converts a MergeBody instance to a hash while converting the attribute names
49
56
  # from snake case to camel case.
50
57
  # @return [Hash] A hash representing the MergeBody instance.
@@ -99,11 +99,11 @@ module TXTextControl
99
99
  "removeEmptyImages" => @remove_empty_images,
100
100
  "removeTrailingWhitespace" => @remove_trailing_whitespace,
101
101
  "author" => @author,
102
- "creationDate" => @creation_date.nil? ? nil : creation_date.iso8601,
102
+ "creationDate" => @creation_date.nil? ? nil : @creation_date.iso8601,
103
103
  "creatorApplication" => @creator_application,
104
104
  "documentSubject" => @document_subject,
105
105
  "documentTitle" => @document_title,
106
- "lastModificationDate" => @last_modification_date.nil? ? nil : last_modification_date.iso8601,
106
+ "lastModificationDate" => @last_modification_date.nil? ? nil : @last_modification_date.iso8601,
107
107
  "userPassword" => @user_password
108
108
  }
109
109
  end
@@ -28,11 +28,11 @@ module TXTextControl
28
28
  # The main wrapper class.
29
29
  # @attr username [String] The user name.
30
30
  # @attr password [String] The password.
31
- # @attr base_uri [String] The API base url. Is set to "http://api.reporting.cloud"
31
+ # @attr base_uri [String] The API base url. Is set to "+https://api.reporting.cloud+"
32
32
  # by default.
33
- # @attr api_version [String] The API version. Is set to "v1" by default.
33
+ # @attr api_version [String] The API version. Is set to "+v1+" by default.
34
34
  # @attr read_timeout [Integer] The timeout for HTTP requests in seconds. Is set to
35
- # 10 by default.
35
+ # +10+ by default.
36
36
  # @author Thorsten Kummerow (@thomerow)
37
37
  class ReportingCloud
38
38
  attr_accessor :username
@@ -43,7 +43,7 @@ module TXTextControl
43
43
 
44
44
  # @param username [String] The user name.
45
45
  # @param password [String] The password.
46
- # @param base_url [String] The API base url. Is set to "http://api.reporting.cloud"
46
+ # @param base_url [String] The API base url. Is set to "+https://api.reporting.cloud+"
47
47
  # by default.
48
48
  def initialize(username, password, base_url = nil)
49
49
  base_url ||= DEFAULT_BASE_URI
@@ -84,13 +84,14 @@ module TXTextControl
84
84
  # Merges and returns a template from the template storage or an
85
85
  # uploaded template with JSON data.
86
86
  # @param return_format [Symbol] The format of the created document. Possible
87
- # values are :pdf, :rtf, :doc, :docx, :html and :tx.
87
+ # values are +:pdf+, +:rtf+, +:doc+, +:docx+, +:html+ and +:tx+.
88
88
  # @param merge_body [MergeBody] The MergeBody object contains the datasource
89
89
  # as a JSON data object and optionally, a template encoded as a Base64 string.
90
90
  # @param template_name [String] The name of the template in the template storage.
91
91
  # If no template name is specified, the template must be uploaded in the
92
92
  # MergeBody object of this request.
93
- # @param append [Boolean]
93
+ # @param append [Boolean] Specifies whether the documents should be appened
94
+ # to one resulting document when more than 1 data row is passed.
94
95
  # @return [Array<String>] An array of the created documents as
95
96
  # Base64 encoded strings.
96
97
  def merge_document(merge_body, template_name = nil, return_format = :pdf, append = false)
@@ -131,12 +132,12 @@ module TXTextControl
131
132
 
132
133
  # Returns a list of thumbnails of a specific template.
133
134
  # @param template_name [String] The filename of the template in the template storage.
134
- # @param zoom_factor [Integer] An Integer value between 1 and 400 to set the
135
+ # @param zoom_factor [Integer] An Integer value between +1+ and +400+ to set the
135
136
  # percentage zoom factor of the created thumbnail images.
136
137
  # @param from_page [Integer] An Integer value that specifies the first page.
137
138
  # @param to_page [Integer] An Integer value that specifies the last page.
138
139
  # @param image_format [Symbol] Defines the image format of the returned thumbnails.
139
- # Possible values are :png, :jpg, :gif and :bmp.
140
+ # Possible values are +:png+, +:jpg+, +:gif+ and +:bmp+.
140
141
  # @return [Array<String>] An array of Base64 encoded images.
141
142
  def get_template_thumbnails(template_name, zoom_factor, from_page = 1, to_page = 0, image_format = :png)
142
143
  # Prepare query parameters
@@ -173,7 +174,7 @@ module TXTextControl
173
174
  end
174
175
  end
175
176
 
176
- # Stores an uploaded template in the template storage (*.doc, *.docx, *.rtf and *.tx)
177
+ # Stores an uploaded template in the template storage ( +*.doc+, +*.docx+, +*.rtf+ and +*.tx+)
177
178
  # @param template_name [String] The filename of the template in the template storage.
178
179
  # Existing files with the same filename will be overwritten.
179
180
  # @param template_data [String] A document encoded as a Base64 string.
@@ -246,9 +247,9 @@ module TXTextControl
246
247
 
247
248
  # Converts a document to another format.
248
249
  # @param template_data [String] The source document encoded as a Base64 string.
249
- # The supported document formats are .rtf, .doc, .docx, .html, .pdf and .tx.
250
+ # The supported document formats are +.rtf+, +.doc+, +.docx+, +.html+, +.pdf+ and +.tx+.
250
251
  # @param return_format [Symbol] The format of the created document.
251
- # Possible values are: :pdf, :rtf, :doc, :docx, :html and :tx.
252
+ # Possible values are: +:pdf+, +:rtf+, +:doc+, +:docx+, +:html+ and +:tx+.
252
253
  # @return [String] The created document encoded as a Base64 string.
253
254
  def convert_document(template_data, return_format = :pdf)
254
255
  # Parameter validation
@@ -265,10 +266,10 @@ module TXTextControl
265
266
  end
266
267
 
267
268
  # Performs a HTTP request of a given type.
268
- # @param request_type [Symbol] The type of the request. Possible values are :get,
269
- # :post and :delete.
269
+ # @param request_type [Symbol] The type of the request. Possible values are +:get+,
270
+ # +:post+ and +:delete+.
270
271
  # @param params [Hash] The query parameters.
271
- # @param body [Object, Hash, String]
272
+ # @param body [Object, Hash, String] The request body.
272
273
  # @return [Net::HTTPResponse] The HTTP response.
273
274
  private
274
275
  def request(request_uri, request_type = :get, params = nil, body = nil)
@@ -276,6 +277,7 @@ module TXTextControl
276
277
  query_string = query_string_from_hash(params)
277
278
 
278
279
  http = Net::HTTP.new(@base_uri.host, @base_uri.port)
280
+ http.use_ssl = @base_uri.scheme == "https"
279
281
  http.read_timeout = read_timeout
280
282
 
281
283
  # Get correct request type
@@ -16,6 +16,7 @@ require 'date'
16
16
  module TXTextControl
17
17
  module ReportingCloud
18
18
 
19
+ # Holds information about a template in the template storage.
19
20
  # @attr_reader template_name [String] The template file name.
20
21
  # @attr_reader modified [DateTime] The date and time the template file was
21
22
  # last modified.
@@ -13,6 +13,6 @@
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
16
- VERSION = "1.0.0"
16
+ VERSION = "1.0.1"
17
17
  end
18
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: txtextcontrol-reportingcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thorsten Kummerow
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-06 00:00:00.000000000 Z
11
+ date: 2016-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -62,8 +62,6 @@ extra_rdoc_files: []
62
62
  files:
63
63
  - ".gitignore"
64
64
  - ".rspec"
65
- - ".travis.yml"
66
- - ".vscode/settings.json"
67
65
  - Gemfile
68
66
  - LICENSE.md
69
67
  - README.md
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.0
5
- before_install: gem install bundler -v 1.12.4
@@ -1,4 +0,0 @@
1
- // Place your settings in this file to overwrite default and user settings.
2
- {
3
- "editor.tabSize": 2
4
- }