caracal_the_curve 1.4.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.
Files changed (116) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +22 -0
  3. data/.github/workflows/publish_gem.yml +40 -0
  4. data/.gitignore +25 -0
  5. data/.travis.yml +20 -0
  6. data/CHANGELOG.md +141 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +842 -0
  10. data/Rakefile +7 -0
  11. data/caracal.gemspec +28 -0
  12. data/lib/caracal/core/bookmarks.rb +52 -0
  13. data/lib/caracal/core/custom_properties.rb +49 -0
  14. data/lib/caracal/core/file_name.rb +43 -0
  15. data/lib/caracal/core/fonts.rb +75 -0
  16. data/lib/caracal/core/iframes.rb +42 -0
  17. data/lib/caracal/core/ignorables.rb +47 -0
  18. data/lib/caracal/core/images.rb +37 -0
  19. data/lib/caracal/core/list_styles.rb +93 -0
  20. data/lib/caracal/core/lists.rb +57 -0
  21. data/lib/caracal/core/models/base_model.rb +51 -0
  22. data/lib/caracal/core/models/bookmark_model.rb +86 -0
  23. data/lib/caracal/core/models/border_model.rb +120 -0
  24. data/lib/caracal/core/models/custom_property_model.rb +60 -0
  25. data/lib/caracal/core/models/font_model.rb +64 -0
  26. data/lib/caracal/core/models/iframe_model.rb +148 -0
  27. data/lib/caracal/core/models/image_model.rb +133 -0
  28. data/lib/caracal/core/models/line_break_model.rb +15 -0
  29. data/lib/caracal/core/models/link_model.rb +94 -0
  30. data/lib/caracal/core/models/list_item_model.rb +108 -0
  31. data/lib/caracal/core/models/list_model.rb +132 -0
  32. data/lib/caracal/core/models/list_style_model.rb +118 -0
  33. data/lib/caracal/core/models/margin_model.rb +76 -0
  34. data/lib/caracal/core/models/namespace_model.rb +65 -0
  35. data/lib/caracal/core/models/page_break_model.rb +61 -0
  36. data/lib/caracal/core/models/page_number_model.rb +95 -0
  37. data/lib/caracal/core/models/page_size_model.rb +79 -0
  38. data/lib/caracal/core/models/paragraph_model.rb +186 -0
  39. data/lib/caracal/core/models/relationship_model.rb +114 -0
  40. data/lib/caracal/core/models/rule_model.rb +27 -0
  41. data/lib/caracal/core/models/style_model.rb +165 -0
  42. data/lib/caracal/core/models/table_cell_model.rb +176 -0
  43. data/lib/caracal/core/models/table_model.rb +206 -0
  44. data/lib/caracal/core/models/text_model.rb +118 -0
  45. data/lib/caracal/core/namespaces.rb +89 -0
  46. data/lib/caracal/core/page_breaks.rb +29 -0
  47. data/lib/caracal/core/page_numbers.rb +58 -0
  48. data/lib/caracal/core/page_settings.rb +74 -0
  49. data/lib/caracal/core/relationships.rb +90 -0
  50. data/lib/caracal/core/rules.rb +35 -0
  51. data/lib/caracal/core/styles.rb +86 -0
  52. data/lib/caracal/core/tables.rb +42 -0
  53. data/lib/caracal/core/text.rb +75 -0
  54. data/lib/caracal/document.rb +272 -0
  55. data/lib/caracal/errors.rb +23 -0
  56. data/lib/caracal/renderers/app_renderer.rb +41 -0
  57. data/lib/caracal/renderers/content_types_renderer.rb +54 -0
  58. data/lib/caracal/renderers/core_renderer.rb +44 -0
  59. data/lib/caracal/renderers/custom_renderer.rb +64 -0
  60. data/lib/caracal/renderers/document_renderer.rb +427 -0
  61. data/lib/caracal/renderers/fonts_renderer.rb +56 -0
  62. data/lib/caracal/renderers/footer_renderer.rb +90 -0
  63. data/lib/caracal/renderers/numbering_renderer.rb +88 -0
  64. data/lib/caracal/renderers/package_relationships_renderer.rb +51 -0
  65. data/lib/caracal/renderers/relationships_renderer.rb +48 -0
  66. data/lib/caracal/renderers/settings_renderer.rb +58 -0
  67. data/lib/caracal/renderers/styles_renderer.rb +181 -0
  68. data/lib/caracal/renderers/xml_renderer.rb +83 -0
  69. data/lib/caracal/utilities.rb +23 -0
  70. data/lib/caracal/version.rb +3 -0
  71. data/lib/caracal.rb +40 -0
  72. data/lib/tilt/caracal.rb +21 -0
  73. data/spec/lib/caracal/core/bookmarks_spec.rb +35 -0
  74. data/spec/lib/caracal/core/file_name_spec.rb +54 -0
  75. data/spec/lib/caracal/core/fonts_spec.rb +119 -0
  76. data/spec/lib/caracal/core/iframes_spec.rb +29 -0
  77. data/spec/lib/caracal/core/ignorables_spec.rb +79 -0
  78. data/spec/lib/caracal/core/images_spec.rb +25 -0
  79. data/spec/lib/caracal/core/list_styles_spec.rb +121 -0
  80. data/spec/lib/caracal/core/lists_spec.rb +43 -0
  81. data/spec/lib/caracal/core/models/base_model_spec.rb +38 -0
  82. data/spec/lib/caracal/core/models/bookmark_model_spec.rb +135 -0
  83. data/spec/lib/caracal/core/models/border_model_spec.rb +159 -0
  84. data/spec/lib/caracal/core/models/font_model_spec.rb +92 -0
  85. data/spec/lib/caracal/core/models/iframe_model_spec.rb +83 -0
  86. data/spec/lib/caracal/core/models/image_model_spec.rb +225 -0
  87. data/spec/lib/caracal/core/models/line_break_model_spec.rb +21 -0
  88. data/spec/lib/caracal/core/models/link_model_spec.rb +179 -0
  89. data/spec/lib/caracal/core/models/list_item_model_spec.rb +197 -0
  90. data/spec/lib/caracal/core/models/list_model_spec.rb +178 -0
  91. data/spec/lib/caracal/core/models/list_style_model_spec.rb +198 -0
  92. data/spec/lib/caracal/core/models/margin_model_spec.rb +111 -0
  93. data/spec/lib/caracal/core/models/namespace_model_spec.rb +107 -0
  94. data/spec/lib/caracal/core/models/page_break_model_spec.rb +21 -0
  95. data/spec/lib/caracal/core/models/page_number_model_spec.rb +136 -0
  96. data/spec/lib/caracal/core/models/page_size_model_spec.rb +101 -0
  97. data/spec/lib/caracal/core/models/paragraph_model_spec.rb +196 -0
  98. data/spec/lib/caracal/core/models/relationship_model_spec.rb +193 -0
  99. data/spec/lib/caracal/core/models/rule_model_spec.rb +108 -0
  100. data/spec/lib/caracal/core/models/style_model_spec.rb +225 -0
  101. data/spec/lib/caracal/core/models/table_cell_model_spec.rb +230 -0
  102. data/spec/lib/caracal/core/models/table_model_spec.rb +222 -0
  103. data/spec/lib/caracal/core/models/text_model_spec.rb +154 -0
  104. data/spec/lib/caracal/core/namespaces_spec.rb +116 -0
  105. data/spec/lib/caracal/core/page_breaks_spec.rb +25 -0
  106. data/spec/lib/caracal/core/page_numbers_spec.rb +89 -0
  107. data/spec/lib/caracal/core/page_settings_spec.rb +151 -0
  108. data/spec/lib/caracal/core/relationships_spec.rb +119 -0
  109. data/spec/lib/caracal/core/rules_spec.rb +25 -0
  110. data/spec/lib/caracal/core/styles_spec.rb +129 -0
  111. data/spec/lib/caracal/core/tables_spec.rb +25 -0
  112. data/spec/lib/caracal/core/text_spec.rb +52 -0
  113. data/spec/lib/caracal/errors_spec.rb +10 -0
  114. data/spec/spec_helper.rb +8 -0
  115. data/spec/support/_fixtures/snippet.docx +0 -0
  116. metadata +292 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4f5d4a9ccb930cc2eb43e169140f9b47626f4713afa525322a0c7f864603875a
4
+ data.tar.gz: 41cf0b1af0c1f09f710380f779d12f9509c207b99eddfbe2b69f4dc4b3ca0f03
5
+ SHA512:
6
+ metadata.gz: e993e86c44852e6ac98f8aa4cc4c777e954ccb09bbe7742fba541fc71d534e11fffae8368d2ad9ec5b02240a20406fa504fd0a8b1dd6050140123b642ac7e196
7
+ data.tar.gz: 00acddad9a31fef96b827b1874eef89d05f92e86393ab741c9ed73840eb8e4cfde0f4668ca30f7d458f71e280398423cabe4cfb77456f6ebf1c4c7857e90b99d
@@ -0,0 +1,22 @@
1
+ name: Publish RubyGem
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: '3.2'
18
+ bundler-cache: true
19
+
20
+ - name: Tests
21
+ run: |
22
+ bundle exec rspec
@@ -0,0 +1,40 @@
1
+ name: Publish RubyGem
2
+
3
+ on:
4
+ release:
5
+ types:
6
+ - released
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: '3.2'
18
+ bundler-cache: true
19
+
20
+ - name: Tests
21
+ run: |
22
+ bundle exec rspec
23
+
24
+ - name: Build and publish gem
25
+ run: |
26
+ mkdir -p ~/.gem
27
+ cat << EOF > ~/.gem/credentials
28
+ ---
29
+ :github: Bearer ${GITHUB_TOKEN}
30
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
31
+ EOF
32
+
33
+ chmod 0600 ~/.gem/credentials
34
+
35
+ find . -name '*.gemspec' -maxdepth 1 -exec gem build {} \;
36
+ find . -name '*.gem' -maxdepth 1 -print0 | xargs -0 gem push
37
+ env:
38
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39
+ RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
40
+ RELEASE_COMMAND: rake release
data/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ notes/
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
19
+ *.bundle
20
+ *.so
21
+ *.o
22
+ *.a
23
+ mkmf.log
24
+ gemfiles/*.gemfile.lock
25
+ .DS_Store
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - 2.0.0
7
+ - 2.1
8
+ - rbx-2
9
+ - ruby-head
10
+ - jruby-head
11
+ matrix:
12
+ include:
13
+ - rvm: jruby
14
+ env: JRUBY_OPTS="--1.9 --debug"
15
+ - rvm: jruby
16
+ env: JRUBY_OPTS="--2.0 --debug"
17
+ allow_failures:
18
+ - rvm: ruby-head
19
+ - rvm: jruby-head
20
+ fast_finish: true
data/CHANGELOG.md ADDED
@@ -0,0 +1,141 @@
1
+ #### v1.4.1
2
+
3
+ * Bug Fixes
4
+ * Corrected rowspan logic to handle all cases. (@martinsp)
5
+
6
+
7
+ #### v1.4.0
8
+
9
+ * Enhancements
10
+ * Changed `file_name` method to accept absolute and relative paths. (@jdugan)
11
+ * Added instance save method so documents can be created via commands instead of blocks, if desired. (@jdugan)
12
+ * Removed extra paragraph tag inserted after tables; added logic to ensure final tag of table cells is always a paragraph. (@jdugan)
13
+
14
+
15
+ #### v1.3.0
16
+
17
+ * Enhancements
18
+ * Added proper text highlighting. Colors are limited so we left :bgcolor option. (@rmarone)
19
+ * Added bookmarks and internal links. (@rmarone)
20
+
21
+
22
+ #### v1.2.0
23
+
24
+ * Enhancements
25
+ * Added colspan and rowspan functionality to table styling feature. (@ViktorKopychko)
26
+
27
+
28
+ #### v1.1.2
29
+
30
+ * Enhancements
31
+ * Added font size options for page numbers. (@cfacello)
32
+
33
+
34
+ #### v1.1.1
35
+
36
+ * Enhancements
37
+ * Added character styles. (@xerespm)
38
+
39
+
40
+ #### v1.1.0
41
+
42
+ * Enhancements
43
+ * Corrected how renderers output namespaced nodes to ensure jruby compliance. (HUGE thank you to @henrychung for researching and implementing this).
44
+
45
+
46
+ #### v1.0.13
47
+
48
+ * Bug Fixes
49
+ * Corrected bug where lists were no longer multi-line. (@jdugan h/t @StochasticSpring).
50
+
51
+
52
+ #### v1.0.12
53
+
54
+ * Bug Fixes
55
+ * Removed unintended use of Active Support method in footer renderer. (@jdugan).
56
+
57
+
58
+ #### v1.0.11
59
+
60
+ * Bug Fixes
61
+ * Cleaned up experimental feature for iframes. (@jdugan).
62
+
63
+
64
+ #### v1.0.10
65
+
66
+ * Enhancements
67
+ * Added experimental feature for iframes. (@jdugan).
68
+
69
+
70
+ #### v1.0.8
71
+
72
+ * Enhancements
73
+ * Added indentation controls to paragraph commands (@avolochnev).
74
+
75
+
76
+ #### v1.0.7
77
+
78
+ * Enhancements
79
+ * Added an :orientation option to :page_size so print jobs work as expected (@jdugan h/t @swedishpotato).
80
+
81
+
82
+ #### v1.0.6
83
+
84
+ * Bug Fixes
85
+ * Changed Paragraph and Table Cell Models slightly to allow syntax flexibility with respect to options (@jdugan).
86
+
87
+
88
+ #### v1.0.5
89
+
90
+ * Enhancements
91
+ * Added vertical alignment (@ykonovets).
92
+
93
+
94
+ #### v1.0.4
95
+
96
+ * Enhancements
97
+ * Changed tilt dependency to be less restrictive (@jdugan).
98
+
99
+
100
+ #### v1.0.3
101
+
102
+ * Enhancements
103
+ * Added custom properties (@davidtolsma).
104
+ * Added page breaks to paragraph model sub-functions (@jdugan).
105
+
106
+
107
+ #### v1.0.2
108
+
109
+ * Enhancements
110
+ * Corrected image markup to support Word 2007 (@Alnoroid).
111
+
112
+
113
+ #### v0.3.0
114
+
115
+ * Deprecations
116
+ * The :style attribute is no longer allowed on text and link commands. Use :font, :size, etc. instead (@jdugan).
117
+
118
+
119
+ #### v0.2.1
120
+
121
+ * Enhancements
122
+ * Added :caps attribute to paragraph styles (@jensljungblad).
123
+ * Change table model to allow TableCellModel to be subclassed (@gh4me).
124
+
125
+
126
+ #### v0.2.0
127
+
128
+ * Enhancements
129
+ * Implemented true line breaks within paragraphs (@Linuus).
130
+ * Converted paragraph command to accept/allow blank content (@Linuus).
131
+ * Allowed :top and :bottom attributes to be set on default paragraph style (@jdugan).
132
+
133
+
134
+ * Deprecations
135
+ * Line breaks are no longer allowed at the document level. Use blank paragraphs instead (@jdugan).
136
+
137
+
138
+ #### v0.1.x
139
+
140
+ * Enhancements
141
+ * Initial commits. (@jdugan)
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Trade Informatics, Inc.
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.