txtextcontrol-reportingcloud 1.0.3 → 1.1.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2b985e985d074bac7f609544b426343b0be9de7
|
4
|
+
data.tar.gz: 8f190bc99f4f3954f2aac8cc35a5e3e6c9bb41bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e58da2cb52df4dc3f58fb66f51466c626f6119b7609e193877eef9ed804c516fbc890743e483ab288b524e95f065128bb11dfae2aed89b41ef7743819cb5bc37
|
7
|
+
data.tar.gz: e7b306757c6c86f695e82257d5e2d7ce4b53768d5e18a1cf25ef7fcf302f38882f6eca20f9cb25a877fdae21291aea01720e0143d5accf29d1c78afe9490736a
|
@@ -0,0 +1,63 @@
|
|
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 an incorrect word in spell checked text.
|
18
|
+
# @attr_reader [Integer] length The length of the spelled word.
|
19
|
+
# @attr_reader [Integer] start The starting position of a spelled word.
|
20
|
+
# @attr_reader [String] text The text of the spelled word.
|
21
|
+
# @attr_reader [Boolean] is_duplicate Indicating whether the spelled word is
|
22
|
+
# declared as incorrect, because the previous word has the same text.
|
23
|
+
# @attr_reader [String] language Indicating the language the incorrect word
|
24
|
+
# was spelled.
|
25
|
+
# @author Thorsten Kummerow (@thomerow)
|
26
|
+
class IncorrectWord
|
27
|
+
attr_reader :length
|
28
|
+
attr_reader :start
|
29
|
+
attr_reader :text
|
30
|
+
attr_reader :is_duplicate
|
31
|
+
attr_reader :language
|
32
|
+
|
33
|
+
alias_method :is_duplicate?, :is_duplicate
|
34
|
+
|
35
|
+
# @param [Integer] length The starting position of a spelled word.
|
36
|
+
# @param [Integer] start The starting position of a spelled word.
|
37
|
+
# @param [String] text The text of the spelled word.
|
38
|
+
# @param [Boolean] is_duplicate Indicating whether the spelled word is
|
39
|
+
# declared as incorrect, because the previous word has the same text.
|
40
|
+
# @param [String] language Indicating the language the incorrect word
|
41
|
+
# was spelled.
|
42
|
+
def initialize(length, start, text, is_duplicate, language)
|
43
|
+
@length = Integer(length)
|
44
|
+
@start = Integer(start)
|
45
|
+
@text = text
|
46
|
+
@is_duplicate = !!is_duplicate
|
47
|
+
@language = language
|
48
|
+
end
|
49
|
+
|
50
|
+
# Creates an IncorrectWord instance from a hash.
|
51
|
+
# @param [Hash] hash The hash to try and create an IncorrectWord instance from.
|
52
|
+
# @return [IncorrectWord] A newly created IncorrectWord instance.
|
53
|
+
def self.from_camelized_hash(hash)
|
54
|
+
l = hash["length"]
|
55
|
+
s = hash["start"]
|
56
|
+
txt = hash["text"]
|
57
|
+
id = hash["isDuplicate"]
|
58
|
+
lan = hash["language"]
|
59
|
+
return IncorrectWord.new(l, s, txt, id, lan)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -23,6 +23,10 @@ module TXTextControl
|
|
23
23
|
# don't have merge data should be removed from the template or not.
|
24
24
|
# @attr remove_trailing_whitespace [Boolean] Specifies whether trailing
|
25
25
|
# whitespace should be removed before saving a document.
|
26
|
+
# @attr merge_html [Boolean] Specifies whether field data can contain
|
27
|
+
# formatted Html content or not. The default value is false. Html
|
28
|
+
# content must be enclosed in an <html /> tag element. Only active in
|
29
|
+
# the Merge endpoint.
|
26
30
|
# @attr author [String] The document's author.
|
27
31
|
# @attr creation_date [DateTime] The document's creation date.
|
28
32
|
# @attr creator_application [String] The application which created the document.
|
@@ -36,17 +40,25 @@ module TXTextControl
|
|
36
40
|
attr_accessor :remove_empty_blocks
|
37
41
|
attr_accessor :remove_empty_images
|
38
42
|
attr_accessor :remove_trailing_whitespace
|
43
|
+
attr_accessor :merge_html
|
39
44
|
attr_accessor :author
|
40
45
|
attr_accessor :creator_application
|
41
46
|
attr_accessor :document_subject
|
42
47
|
attr_accessor :document_title
|
43
48
|
attr_accessor :user_password
|
44
49
|
|
50
|
+
alias_method :remove_empty_fields?, :remove_empty_fields
|
51
|
+
alias_method :remove_empty_blocks?, :remove_empty_blocks
|
52
|
+
alias_method :remove_empty_images?, :remove_empty_images
|
53
|
+
alias_method :remove_trailing_whitespace?, :remove_trailing_whitespace
|
54
|
+
alias_method :merge_html?, :merge_html
|
55
|
+
|
45
56
|
def initialize
|
46
57
|
@remove_empty_fields = true
|
47
58
|
@remove_empty_blocks = true
|
48
59
|
@remove_empty_images = true
|
49
60
|
@remove_trailing_whitespace = true
|
61
|
+
@merge_html = false
|
50
62
|
|
51
63
|
@author = nil
|
52
64
|
@creation_date = nil
|
@@ -98,6 +110,7 @@ module TXTextControl
|
|
98
110
|
"removeEmptyBlocks" => @remove_empty_blocks,
|
99
111
|
"removeEmptyImages" => @remove_empty_images,
|
100
112
|
"removeTrailingWhitespace" => @remove_trailing_whitespace,
|
113
|
+
"mergeHtml" => @merge_html,
|
101
114
|
"author" => @author,
|
102
115
|
"creationDate" => @creation_date.nil? ? nil : @creation_date.iso8601,
|
103
116
|
"creatorApplication" => @creator_application,
|
@@ -19,6 +19,7 @@ require "cgi"
|
|
19
19
|
require 'txtextcontrol/reportingcloud/template'
|
20
20
|
require 'txtextcontrol/reportingcloud/template_info'
|
21
21
|
require 'txtextcontrol/reportingcloud/account_settings'
|
22
|
+
require 'txtextcontrol/reportingcloud/incorrect_word'
|
22
23
|
require 'txtextcontrol/reportingcloud/find_and_replace_body'
|
23
24
|
require 'txtextcontrol/reportingcloud/template_name_validator'
|
24
25
|
require 'txtextcontrol/reportingcloud/template_data_validator'
|
@@ -341,6 +342,82 @@ module TXTextControl
|
|
341
342
|
end
|
342
343
|
end
|
343
344
|
|
345
|
+
# Checks text for spelling errors.
|
346
|
+
# @param text [String] The text to spell check.
|
347
|
+
# @param language [String] The language that is used to spell check the
|
348
|
+
# specified text.
|
349
|
+
# @return [Array<IncorrectWord>] An array of incorrect words.
|
350
|
+
def check_text(text, language)
|
351
|
+
# Parameter validation
|
352
|
+
unless !text.nil? && !text.to_s.empty?
|
353
|
+
raise ArgumentError, "The given text must not be empty."
|
354
|
+
end
|
355
|
+
unless !language.nil? && !language.to_s.empty?
|
356
|
+
raise ArgumentError, "A language must be defined."
|
357
|
+
end
|
358
|
+
|
359
|
+
# Create query parameters
|
360
|
+
params = {
|
361
|
+
:text => text,
|
362
|
+
:language => language
|
363
|
+
}
|
364
|
+
|
365
|
+
res = request("/proofing/check", :get, params)
|
366
|
+
if res.kind_of? Net::HTTPSuccess
|
367
|
+
incorrect_words = Array.new
|
368
|
+
data = JSON.parse(res.body, object_class: OpenStruct)
|
369
|
+
data.each do |elem|
|
370
|
+
incorrect_words.push(IncorrectWord.from_camelized_hash(elem))
|
371
|
+
end
|
372
|
+
return incorrect_words
|
373
|
+
else
|
374
|
+
raise res.body
|
375
|
+
end
|
376
|
+
end
|
377
|
+
|
378
|
+
# Returns all available dictionary names.
|
379
|
+
# @return [Array<String>] Available dictionary names.
|
380
|
+
def get_available_dictionaries
|
381
|
+
res = request("/proofing/availabledictionaries", :get)
|
382
|
+
if res.kind_of? Net::HTTPSuccess
|
383
|
+
return JSON.parse(res.body)
|
384
|
+
else
|
385
|
+
raise res.body
|
386
|
+
end
|
387
|
+
end
|
388
|
+
|
389
|
+
# Returns suggestions for a misspelled word.
|
390
|
+
# @param word [String] The incorrect word that has to be determined for suggestions.
|
391
|
+
# @param language [String] The language that is used to spell check the specified text.
|
392
|
+
# @param max [Integer] The maximum number of suggestions that has to be determined.
|
393
|
+
# @return [Array<String>] Suggestions for a misspelled word.
|
394
|
+
def get_suggestions(word, language, max)
|
395
|
+
# Parameter validation
|
396
|
+
unless !word.nil? && !word.to_s.empty?
|
397
|
+
raise ArgumentError, "The given text must not be empty."
|
398
|
+
end
|
399
|
+
unless !language.nil? && !language.to_s.empty?
|
400
|
+
raise ArgumentError, "A language must be defined."
|
401
|
+
end
|
402
|
+
unless max.is_a? Integer
|
403
|
+
raise ArgumentError, "max must be an integer"
|
404
|
+
end
|
405
|
+
|
406
|
+
# Create query parameters
|
407
|
+
params = {
|
408
|
+
:word => word,
|
409
|
+
:language => language,
|
410
|
+
:max => max
|
411
|
+
}
|
412
|
+
|
413
|
+
res = request("/proofing/suggestions", :get, params)
|
414
|
+
if res.kind_of? Net::HTTPSuccess
|
415
|
+
return JSON.parse(res.body)
|
416
|
+
else
|
417
|
+
raise res.body
|
418
|
+
end
|
419
|
+
end
|
420
|
+
|
344
421
|
# Performs a HTTP request of a given type.
|
345
422
|
# @param request_type [Symbol] The type of the request. Possible values are +:get+,
|
346
423
|
# +:post+ and +:delete+.
|
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.
|
4
|
+
version: 1.1.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: 2017-
|
11
|
+
date: 2017-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/txtextcontrol/reportingcloud.rb
|
73
73
|
- lib/txtextcontrol/reportingcloud/account_settings.rb
|
74
74
|
- lib/txtextcontrol/reportingcloud/find_and_replace_body.rb
|
75
|
+
- lib/txtextcontrol/reportingcloud/incorrect_word.rb
|
75
76
|
- lib/txtextcontrol/reportingcloud/merge_block.rb
|
76
77
|
- lib/txtextcontrol/reportingcloud/merge_body.rb
|
77
78
|
- lib/txtextcontrol/reportingcloud/merge_field.rb
|