txtextcontrol-reportingcloud 1.0.1 → 1.0.3

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: 412bde96793b7e9aaa7d088d4df465f920939753
4
- data.tar.gz: 0fdbf408b933dae7ba59d9afa41a70a31c0ee4be
3
+ metadata.gz: f5b632e12313e22c5615fa25a61e07f66f196851
4
+ data.tar.gz: b23b146e8e07c8bdc8cc515973ec4251777c1f21
5
5
  SHA512:
6
- metadata.gz: c100d89e33189f70b8eeda8dc5e98ffaca27e6fe0df924338fa3b20fa3c677047638f2e6da2931f0ec532af8c308396f49b35f4d96b17c01be0ca6f433247b59
7
- data.tar.gz: b23785fe5d263f8d5f55816dfa944e48d4efa8a682679f74737f43eabfaabde9c8e47193ae7d5be483e8b7f6f2ccbb49a09b6e4c1751b9388b1bc709e73a400e
6
+ metadata.gz: 90750efc45ace03aacd6756765e075a75a6942561dfdf54377a208d07ab2b3c658baceb00ee4843cb03c3fbe7678e3e45235604c37be8b80bb5121f1a9156854
7
+ data.tar.gz: adcb08b8b1fc36a76d4be92392397eb2d760bab9639e7be673b8f204a24b2066ab04cd7746b9bd5d3946c53f20fc61eff54f65583651d7633a081c0ecf082b79
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- ## Copyright © 2016, Text Control GmbH. All rights reserved.
1
+ ## Copyright © 2017, Text Control GmbH. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
4
4
  following conditions are met:
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  # Extensions to class String.
15
15
  # @author Thorsten Kummerow (@thomerow)
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  require "txtextcontrol/reportingcloud/version"
15
15
  require_relative "./reportingcloud/reportingcloud.rb"
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
@@ -0,0 +1,91 @@
1
+ # ReportingCloud Ruby Wrapper
2
+ #
3
+ # Official wrapper (authored by Text Control GmbH, publisher of ReportingCloud) to access
4
+ # ReportingCloud in Ruby.
5
+ #
6
+ # Go to http://www.reporting.cloud to learn more about ReportingCloud
7
+ # Go to https://github.com/TextControl/txtextcontrol-reportingcloud-ruby for the
8
+ # canonical source repository.
9
+ #
10
+ # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
+ #
12
+ # Copyright: © 2017 Text Control GmbH
13
+
14
+ require "txtextcontrol/reportingcloud/merge_settings"
15
+
16
+ module TXTextControl
17
+ module ReportingCloud
18
+
19
+ # The request body of requests to the endpoint "/document/findandreplace". Contains
20
+ # an array of string arrays, a template encoded as a Base64 string and a ReportingCloud
21
+ # MergeSettings object.
22
+ # @attr find_and_replace_data [Array<Array<String>>] The find and replace
23
+ # pair values as an array of string arrays.
24
+ # @attr merge_settings [MergeSettings] Merge settings to specify merge
25
+ # properties and document properties such as title and author.
26
+ # @attr template [String] The source document encoded as a Base64 string.
27
+ class FindAndReplaceBody
28
+ attr_accessor :find_and_replace_data
29
+ attr_accessor :merge_settings
30
+ attr_accessor :template
31
+
32
+ # @param find_and_replace_data [Array<Array<String>>] The find and replace
33
+ # pair values as an array of string arrays.
34
+ # @param template [String] The source document encoded as a Base64 string.
35
+ # The supported document formats are +.rtf+, +.doc+, +.docx+, and +.tx+.
36
+ # @param merge_settings [MergeSettings] Merge settings to specify merge
37
+ # properties and document properties such as title and author.
38
+ def initialize(find_and_replace_data, template = nil, merge_settings = nil)
39
+ self.find_and_replace_data = find_and_replace_data
40
+ self.template = template
41
+ self.merge_settings = merge_settings
42
+ end
43
+
44
+ def find_and_replace_data
45
+ @find_and_replace_data
46
+ end
47
+
48
+ def find_and_replace_data=(val)
49
+ unless !val.nil? && (val.kind_of? Array) && !val.empty? && (val.all? { |elem| elem.kind_of? Array }) &&
50
+ (val.all? { |elem| (elem.length == 2) && (elem[0].kind_of? String) && (elem[1].kind_of? String) })
51
+ raise ArgumentError, "Find and replace data must be a non empty array of string arrays containing two strings each."
52
+ end
53
+ @find_and_replace_data = val
54
+ end
55
+
56
+ def merge_settings
57
+ @merge_settings
58
+ end
59
+
60
+ def merge_settings=(val)
61
+ unless val.nil? || (val.kind_of? MergeSettings)
62
+ raise ArgumentError, "Merge settings must be of type MergeSettings."
63
+ end
64
+ @merge_settings = val
65
+ end
66
+
67
+ def template
68
+ @template
69
+ end
70
+
71
+ def template=(val)
72
+ unless val.nil? || ((val.kind_of? String) && !val.to_s.empty?)
73
+ raise ArgumentError, "Template data must be a non empty string."
74
+ end
75
+ @template = val
76
+ end
77
+
78
+ # Converts a FindAndReplaceBody instance to a hash while converting the attribute names
79
+ # from snake case to camel case.
80
+ # @return [Hash] A hash representing the FindAndReplaceBody instance.
81
+ def to_camelized_hash
82
+ return {
83
+ "findAndReplaceData" => @find_and_replace_data,
84
+ "template" => @template,
85
+ "mergeSettings" => @merge_settings
86
+ }
87
+ end
88
+ end
89
+ end
90
+ end
91
+
@@ -0,0 +1,61 @@
1
+ # ReportingCloud Ruby Wrapper
2
+ #
3
+ # Official wrapper (authored by Text Control GmbH, publisher of ReportingCloud) to access
4
+ # ReportingCloud in Ruby.
5
+ #
6
+ # Go to http://www.reporting.cloud to learn more about ReportingCloud
7
+ # Go to https://github.com/TextControl/txtextcontrol-reportingcloud-ruby for the
8
+ # canonical source repository.
9
+ #
10
+ # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
+ #
12
+ # Copyright: © 2017 Text Control GmbH
13
+
14
+ require 'txtextcontrol/reportingcloud/merge_field'
15
+
16
+ module TXTextControl
17
+ module ReportingCloud
18
+
19
+ # Represents a merge block in a document template.
20
+ # @attr_reader [String] name The merge block's' name.
21
+ # @attr_reader [Array<MergeBlock>] merge_blocks The merge blocks nested
22
+ # inside the merge block.
23
+ # @attr_reader [Array<MergeField>] merge_fields The merge fields inside
24
+ # the merge block.
25
+ class MergeBlock
26
+ attr_reader :name
27
+ attr_reader :merge_blocks
28
+ attr_reader :merge_fields
29
+
30
+ def initialize(name, merge_blocks, merge_fields)
31
+ # Parameter validation
32
+ raise ArgumentError, "Block name must be a string." if !name.kind_of? String
33
+ raise ArgumentError, "Parameter merge_blocks must be an array." if !merge_blocks.kind_of? Array
34
+ raise ArgumentError, "Parameter merge_fields must be an array." if !merge_fields.kind_of? Array
35
+
36
+ @name = name
37
+ @merge_blocks = merge_blocks
38
+ @merge_fields = merge_fields
39
+ end
40
+
41
+ # Creates an MergeBlock instance from a hash.
42
+ # @param [Hash] hash The hash to try and create an MergeBlock instance from.
43
+ # @return [MergeBlock] A newly created MergeBlock instance.
44
+ def self.from_camelized_hash(hash)
45
+ # Parameter validation
46
+ raise ArgumentError, "Parameter must be a Hash." if !hash.kind_of? Hash
47
+
48
+ name = hash["name"]
49
+ blocks = Array.new
50
+ hash["mergeBlocks"].each do |elem|
51
+ blocks.push(MergeBlock.from_camelized_hash(elem))
52
+ end
53
+ fields = Array.new
54
+ hash["mergeFields"].each do |elem|
55
+ fields.push(MergeField.from_camelized_hash(elem))
56
+ end
57
+ return MergeBlock.new(name, blocks, fields)
58
+ end
59
+ end
60
+ end
61
+ end
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  require "txtextcontrol/reportingcloud/merge_settings"
15
15
 
@@ -0,0 +1,78 @@
1
+ # ReportingCloud Ruby Wrapper
2
+ #
3
+ # Official wrapper (authored by Text Control GmbH, publisher of ReportingCloud) to access
4
+ # ReportingCloud in Ruby.
5
+ #
6
+ # Go to http://www.reporting.cloud to learn more about ReportingCloud
7
+ # Go to https://github.com/TextControl/txtextcontrol-reportingcloud-ruby for the
8
+ # canonical source repository.
9
+ #
10
+ # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
+ #
12
+ # Copyright: © 2017 Text Control GmbH
13
+
14
+ module TXTextControl
15
+ module ReportingCloud
16
+
17
+ # Represents a merge field in a document template.
18
+ # @attr_reader [String] date_time_format The format which is applied to
19
+ # date / time values.
20
+ # @attr_reader [String] name The name of the field.
21
+ # @attr_reader [String] numeric_format The format which is applied to
22
+ # numeric values.
23
+ # @attr_reader [Boolean] preserve_formatting Specifies whether formatting is
24
+ # preserved.
25
+ # @attr_reader [String] text The field text.
26
+ # @attr_reader [String] text_after The text after the field.
27
+ # @attr_reader [String] text_before The text before the field.
28
+ class MergeField
29
+ attr_reader :date_time_format
30
+ attr_reader :name
31
+ attr_reader :numeric_format
32
+ attr_reader :preserve_formatting
33
+ attr_reader :text
34
+ attr_reader :text_after
35
+ attr_reader :text_before
36
+
37
+ def initialize(date_time_format, name, numeric_format, preserve_formatting, text, text_after, text_before)
38
+ # Parameter validation
39
+ unless date_time_format.nil? || (date_time_format.kind_of? String)
40
+ raise ArgumentError, "Date / time format must be a string."
41
+ end
42
+ raise ArgumentError, "Field name must be a string." if !name.kind_of? String
43
+ unless numeric_format.nil? || (numeric_format.kind_of? String)
44
+ raise ArgumentError, "Numeric format must be a string"
45
+ end
46
+ raise ArgumentError, "Preserve formatting parameter must be a boolean value." if !!preserve_formatting != preserve_formatting
47
+ raise ArgumentError, "Field text must be a string." if !text.kind_of? String
48
+ raise ArgumentError, "Text after must be a string." if !text_after.nil? && (!text_after.kind_of? String)
49
+ raise ArgumentError, "Text before must be a string." if !text_before.nil? && (!text_before.kind_of? String)
50
+
51
+ @date_time_format = date_time_format
52
+ @name = name
53
+ @numeric_format = numeric_format
54
+ @preserve_formatting = preserve_formatting
55
+ @text = text
56
+ @text_after = text_after
57
+ @text_before = text_before
58
+ end
59
+
60
+ # Creates an MergeField instance from a hash.
61
+ # @param [Hash] hash The hash to try and create an MergeField instance from.
62
+ # @return [MergeField] A newly created MergeField instance.
63
+ def self.from_camelized_hash(hash)
64
+ # Parameter validation
65
+ raise ArgumentError, "Parameter must be a Hash." if !hash.kind_of? Hash
66
+
67
+ date_time_format = hash["dateTimeFormat"]
68
+ name = hash["name"]
69
+ numeric_format = hash["numericFormat"]
70
+ preserve_formatting = hash["preserveFormatting"]
71
+ text = hash["text"]
72
+ text_after = hash["textAfter"]
73
+ text_before = hash["textBefore"]
74
+ return MergeField.new(date_time_format, name, numeric_format, preserve_formatting, text, text_after, text_before)
75
+ end
76
+ end
77
+ end
78
+ end
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  require "uri"
15
15
  require "net/http"
@@ -17,7 +17,9 @@ require "json"
17
17
  require "ostruct"
18
18
  require "cgi"
19
19
  require 'txtextcontrol/reportingcloud/template'
20
+ require 'txtextcontrol/reportingcloud/template_info'
20
21
  require 'txtextcontrol/reportingcloud/account_settings'
22
+ require 'txtextcontrol/reportingcloud/find_and_replace_body'
21
23
  require 'txtextcontrol/reportingcloud/template_name_validator'
22
24
  require 'txtextcontrol/reportingcloud/template_data_validator'
23
25
  require 'core_ext/string'
@@ -92,9 +94,11 @@ module TXTextControl
92
94
  # MergeBody object of this request.
93
95
  # @param append [Boolean] Specifies whether the documents should be appened
94
96
  # to one resulting document when more than 1 data row is passed.
97
+ # @param test [Boolean] Specifies whether it is a test run or not. A test run is
98
+ # not counted against the quota and created documents contain a watermark.
95
99
  # @return [Array<String>] An array of the created documents as
96
100
  # Base64 encoded strings.
97
- def merge_document(merge_body, template_name = nil, return_format = :pdf, append = false)
101
+ def merge_document(merge_body, template_name = nil, return_format = :pdf, append = false, test = false)
98
102
  if !template_name.to_s.empty? && !merge_body.template.nil? # .to_s.empty: check for nil or ''
99
103
  raise ArgumentError, "Template name and template data must not be present at the same time."
100
104
  elsif template_name.to_s.empty? && merge_body.template.nil?
@@ -104,7 +108,8 @@ module TXTextControl
104
108
  # Create query parameters
105
109
  params = {
106
110
  :returnFormat => return_format,
107
- :append => append
111
+ :append => append,
112
+ :test => test
108
113
  }
109
114
  unless template_name.to_s.empty?
110
115
  params[:templateName] = template_name
@@ -250,12 +255,20 @@ module TXTextControl
250
255
  # The supported document formats are +.rtf+, +.doc+, +.docx+, +.html+, +.pdf+ and +.tx+.
251
256
  # @param return_format [Symbol] The format of the created document.
252
257
  # Possible values are: +:pdf+, +:rtf+, +:doc+, +:docx+, +:html+ and +:tx+.
258
+ # @param test [Boolean] Specifies whether it is a test run or not. A test run is not
259
+ # counted against the quota and created documents contain a watermark.
253
260
  # @return [String] The created document encoded as a Base64 string.
254
- def convert_document(template_data, return_format = :pdf)
261
+ def convert_document(template_data, return_format = :pdf, test = false)
255
262
  # Parameter validation
256
263
  TemplateDataValidator.validate(template_data)
257
264
 
258
- res = request("/document/convert", :post, { :returnFormat => return_format }, template_data)
265
+ # Create query parameters
266
+ params = {
267
+ :returnFormat => return_format,
268
+ :test => test
269
+ }
270
+
271
+ res = request("/document/convert", :post, params, template_data)
259
272
  if res.kind_of? Net::HTTPSuccess
260
273
  # Remove leading and trailing quote from string
261
274
  # (inexplicably JSON.parse chokes on simple strings)
@@ -265,6 +278,69 @@ module TXTextControl
265
278
  end
266
279
  end
267
280
 
281
+ # Returns information about a template including merge fields and merge blocks.
282
+ # @param template_name [String] The filename of the template in the template
283
+ # storage to retrieve the information for.
284
+ # @return [TemplateInfo] The template information.
285
+ def get_template_info(template_name)
286
+ # Parameter validation
287
+ TemplateNameValidator.validate(template_name)
288
+
289
+ res = request("/templates/info", :get, { :templateName => template_name })
290
+ if res.kind_of? Net::HTTPSuccess
291
+ return TemplateInfo.from_camelized_hash(JSON.parse(res.body))
292
+ else
293
+ raise res.body
294
+ end
295
+ end
296
+
297
+ # Executes a find and replace on a template.
298
+ # @param find_and_replace_body [FindAndReplaceBody] The request body.
299
+ # @param template_name [String] The name of the template in the template storage.
300
+ # If no template is specified, the template must be included in the FindAndReplaceBody
301
+ # object of this request.
302
+ # @param return_format [Symbol] The format of the created document.
303
+ # Possible values are: +:pdf+, +:rtf+, +:doc+, +:docx+, +:html+ and +:tx+.
304
+ # @param test [Boolean] Specifies whether it is a test run or not. A test run is not
305
+ # counted against the quota and created documents contain a watermark.
306
+ # @return [String] The created document encoded as a Base64 string.
307
+ def find_and_replace(find_and_replace_body, template_name = nil, return_format = :pdf, test = false)
308
+ # Parameter validation
309
+ unless !find_and_replace_body.nil? && (find_and_replace_body.kind_of? FindAndReplaceBody)
310
+ raise ArgumentError, "Request body must be of type FindAndReplaceBody."
311
+ end
312
+ unless template_name.nil? || !template_name.to_s.empty?
313
+ raise ArgumentError, "Template name must be a non empty string."
314
+ end
315
+
316
+ # Create query parameters
317
+ params = {
318
+ :returnFormat => return_format,
319
+ :templateName => template_name,
320
+ :test => test
321
+ }
322
+
323
+ res = request("/document/findandreplace", :post, params, find_and_replace_body)
324
+ if res.kind_of? Net::HTTPSuccess
325
+ # Remove leading and trailing quote from string
326
+ # (inexplicably JSON.parse chokes on simple strings)
327
+ return res.body.remove_first_and_last
328
+ else
329
+ raise res.body
330
+ end
331
+ end
332
+
333
+ # Lists all available fonts.
334
+ # @return [Array<String>] An array containing the names of all available fonts.
335
+ def list_fonts
336
+ res = request("/fonts/list", :get)
337
+ if res.kind_of? Net::HTTPSuccess
338
+ return JSON.parse(res.body)
339
+ else
340
+ raise res.body
341
+ end
342
+ end
343
+
268
344
  # Performs a HTTP request of a given type.
269
345
  # @param request_type [Symbol] The type of the request. Possible values are +:get+,
270
346
  # +:post+ and +:delete+.
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  require 'date'
15
15
 
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
@@ -0,0 +1,67 @@
1
+ # ReportingCloud Ruby Wrapper
2
+ #
3
+ # Official wrapper (authored by Text Control GmbH, publisher of ReportingCloud) to access
4
+ # ReportingCloud in Ruby.
5
+ #
6
+ # Go to http://www.reporting.cloud to learn more about ReportingCloud
7
+ # Go to https://github.com/TextControl/txtextcontrol-reportingcloud-ruby for the
8
+ # canonical source repository.
9
+ #
10
+ # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
+ #
12
+ # Copyright: © 2017 Text Control GmbH
13
+
14
+ require 'txtextcontrol/reportingcloud/merge_field'
15
+ require 'txtextcontrol/reportingcloud/merge_block'
16
+
17
+ module TXTextControl
18
+ module ReportingCloud
19
+
20
+ # Holds information about the merge blocks and merge fields in a template
21
+ # in the template storage.
22
+ # @attr_reader template_name [String] The template file name.
23
+ # @attr_reader merge_blocks [Array<MergeBlock>] Contains all top level merge
24
+ # blocks in the template.
25
+ # @attr_reader merge_fields [Array<MergeField>] Contains all top level merge
26
+ # fields in the template.
27
+ # @author Thorsten Kummerow (@thomerow)
28
+ class TemplateInfo
29
+ attr_reader :template_name
30
+ attr_reader :merge_blocks
31
+ attr_reader :merge_fields
32
+
33
+ # @param template_name [String] The template file name.
34
+ # @param merge_blocks [Array<MergeBlock>] The top level merge blocks in the template.
35
+ # @param merge_fields [Array<MergeField>] The top level merge fields in the template.
36
+ def initialize(template_name, merge_blocks, merge_fields)
37
+ # Parameter validation
38
+ raise ArgumentError, "Block name must be a string." if !template_name.kind_of? String
39
+ raise ArgumentError, "Parameter merge_blocks must be an array." if !merge_blocks.kind_of? Array
40
+ raise ArgumentError, "Parameter merge_fields must be an array." if !merge_fields.kind_of? Array
41
+
42
+ @template_name = template_name
43
+ @merge_blocks = merge_blocks
44
+ @merge_fields = merge_fields
45
+ end
46
+
47
+ # Creates a TemplateInfo instance from a hash.
48
+ # @param hash [Hash] The hash to try and create a TemplateInfo instance from.
49
+ # @return [TemplateInfo] A newly created TemplateInfo instance.
50
+ def self.from_camelized_hash(hash)
51
+ # Parameter validation
52
+ raise ArgumentError, "Parameter must be a Hash." if !hash.kind_of? Hash
53
+
54
+ name = hash["templateName"]
55
+ blocks = Array.new
56
+ hash["mergeBlocks"].each do |elem|
57
+ blocks.push(MergeBlock.from_camelized_hash(elem))
58
+ end
59
+ fields = Array.new
60
+ hash["mergeFields"].each do |elem|
61
+ fields.push(MergeField.from_camelized_hash(elem))
62
+ end
63
+ return TemplateInfo.new(name, blocks, fields)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
@@ -9,10 +9,10 @@
9
9
  #
10
10
  # License: https://raw.githubusercontent.com/TextControl/txtextcontrol-reportingcloud-ruby/master/LICENSE.md
11
11
  #
12
- # Copyright: © 2016 Text Control GmbH
12
+ # Copyright: © 2017 Text Control GmbH
13
13
 
14
14
  module TXTextControl
15
15
  module ReportingCloud
16
- VERSION = "1.0.1"
16
+ VERSION = "1.0.3"
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.1
4
+ version: 1.0.3
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-21 00:00:00.000000000 Z
11
+ date: 2017-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -71,11 +71,15 @@ files:
71
71
  - lib/core_ext/string.rb
72
72
  - lib/txtextcontrol/reportingcloud.rb
73
73
  - lib/txtextcontrol/reportingcloud/account_settings.rb
74
+ - lib/txtextcontrol/reportingcloud/find_and_replace_body.rb
75
+ - lib/txtextcontrol/reportingcloud/merge_block.rb
74
76
  - lib/txtextcontrol/reportingcloud/merge_body.rb
77
+ - lib/txtextcontrol/reportingcloud/merge_field.rb
75
78
  - lib/txtextcontrol/reportingcloud/merge_settings.rb
76
79
  - lib/txtextcontrol/reportingcloud/reportingcloud.rb
77
80
  - lib/txtextcontrol/reportingcloud/template.rb
78
81
  - lib/txtextcontrol/reportingcloud/template_data_validator.rb
82
+ - lib/txtextcontrol/reportingcloud/template_info.rb
79
83
  - lib/txtextcontrol/reportingcloud/template_name_validator.rb
80
84
  - lib/txtextcontrol/reportingcloud/version.rb
81
85
  - resource/rc_logo_1024.png
@@ -102,9 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
106
  version: '0'
103
107
  requirements: []
104
108
  rubyforge_project:
105
- rubygems_version: 2.5.1
109
+ rubygems_version: 2.5.2
106
110
  signing_key:
107
111
  specification_version: 4
108
112
  summary: ReportingCloud Ruby Wrapper
109
113
  test_files: []
110
- has_rdoc: