juno-report 0.0.8 → 0.0.9
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 +4 -4
- data/.idea/.name +1 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/juno-report.iml +31 -0
- data/.idea/misc.xml +5 -0
- data/.idea/modules.xml +9 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +281 -0
- data/.rspec +2 -0
- data/Gemfile.lock +24 -20
- data/lib/juno-report/pdf.rb +18 -9
- data/lib/juno-report/version.rb +1 -1
- data/report.pdf +153 -0
- data/samples/example.rb +21 -0
- data/samples/report.pdf +972 -0
- data/samples/report.yml +30 -0
- data/spec/data/data1.rb +9 -0
- data/spec/data/rule1.yml +10 -0
- data/spec/default_spec.rb +13 -0
- data/spec/rules_spec.rb +13 -0
- data/spec/spec_helper.rb +11 -0
- metadata +26 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 44a85ed1dce040ff24a9bb9b2f5a08cb07667d5a
|
|
4
|
+
data.tar.gz: af71dab8d0b7aa47fcd6235a01acdc15137aa048
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79f4fce740fe186b0c5fe20b2896c8a19bd4a5208beda2a340aa72e47f780d7d6d44bf178f801c258ec61ccf80c83a32eefb437edc1ff3de3e9a3097747cae56
|
|
7
|
+
data.tar.gz: 33b021cfce5408b268b8dee9f25769836e97bec47e6a364b2d55fcd31e193fc23b11c8a72bbd15d8c727649b7b5fbbded7c4f890416a43915bed50b668484e26
|
data/.idea/.name
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
juno-report
|
data/.idea/.rakeTasks
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Settings><!--This file was automatically generated by Ruby plugin.
|
|
3
|
+
You are allowed to:
|
|
4
|
+
1. Remove rake task
|
|
5
|
+
2. Add existing rake tasks
|
|
6
|
+
To add existing rake tasks automatically delete this file and reload the project.
|
|
7
|
+
--><RakeGroup description="" fullCmd="" taksId="rake" /></Settings>
|
data/.idea/encodings.xml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
|
3
|
+
<component name="FacetManager">
|
|
4
|
+
<facet type="gem" name="Gem">
|
|
5
|
+
<configuration>
|
|
6
|
+
<option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
|
|
7
|
+
<option name="GEM_APP_TEST_PATH" value="" />
|
|
8
|
+
<option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
|
|
9
|
+
</configuration>
|
|
10
|
+
</facet>
|
|
11
|
+
</component>
|
|
12
|
+
<component name="NewModuleRootManager">
|
|
13
|
+
<content url="file://$MODULE_DIR$" />
|
|
14
|
+
<orderEntry type="inheritedJdk" />
|
|
15
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="Ascii85 (v1.0.2, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v3.2.15, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="afm (v0.2.0, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="barby (v0.5.1, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
20
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.3.5, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="hashery (v2.1.1, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.5, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="multi_json (v1.8.2, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="pdf-reader (v1.3.3, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="prawml (v0.1.1, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="prawn (v0.12.0, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="ruby-rc4 (v0.1.5, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="ttfunk (v1.0.3, RVM: ruby-1.9.3-p286) [gem]" level="application" />
|
|
29
|
+
</component>
|
|
30
|
+
</module>
|
|
31
|
+
|
data/.idea/misc.xml
ADDED
data/.idea/modules.xml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/juno-report.iml" filepath="$PROJECT_DIR$/.idea/juno-report.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
9
|
+
|
data/.idea/vcs.xml
ADDED
data/.idea/workspace.xml
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ChangeListManager">
|
|
4
|
+
<list default="true" id="76e9e064-60cb-4b21-9538-43c2d47e8def" name="Default" comment="" />
|
|
5
|
+
<ignored path="juno-report.iws" />
|
|
6
|
+
<ignored path=".idea/workspace.xml" />
|
|
7
|
+
<option name="TRACKING_ENABLED" value="true" />
|
|
8
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
9
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
10
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
11
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
12
|
+
</component>
|
|
13
|
+
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
|
14
|
+
<component name="CreatePatchCommitExecutor">
|
|
15
|
+
<option name="PATCH_PATH" value="" />
|
|
16
|
+
</component>
|
|
17
|
+
<component name="DaemonCodeAnalyzer">
|
|
18
|
+
<disable_hints />
|
|
19
|
+
</component>
|
|
20
|
+
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
|
21
|
+
<component name="FavoritesManager">
|
|
22
|
+
<favorites_list name="juno-report" />
|
|
23
|
+
</component>
|
|
24
|
+
<component name="FileEditorManager">
|
|
25
|
+
<leaf>
|
|
26
|
+
<file leaf-file-name="pdf.rb" pinned="false" current="true" current-in-tab="true">
|
|
27
|
+
<entry file="file://$PROJECT_DIR$/lib/juno-report/pdf.rb">
|
|
28
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
29
|
+
<state line="197" column="64" selection-start="9377" selection-end="9377" vertical-scroll-proportion="2.7813299">
|
|
30
|
+
<folding />
|
|
31
|
+
</state>
|
|
32
|
+
</provider>
|
|
33
|
+
</entry>
|
|
34
|
+
</file>
|
|
35
|
+
</leaf>
|
|
36
|
+
</component>
|
|
37
|
+
<component name="FindManager">
|
|
38
|
+
<FindUsagesManager>
|
|
39
|
+
<setting name="OPEN_NEW_TAB" value="false" />
|
|
40
|
+
</FindUsagesManager>
|
|
41
|
+
</component>
|
|
42
|
+
<component name="ProjectFrameBounds">
|
|
43
|
+
<option name="x" value="10" />
|
|
44
|
+
<option name="y" value="29" />
|
|
45
|
+
<option name="width" value="1260" />
|
|
46
|
+
<option name="height" value="920" />
|
|
47
|
+
</component>
|
|
48
|
+
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
|
49
|
+
<OptionsSetting value="true" id="Add" />
|
|
50
|
+
<OptionsSetting value="true" id="Remove" />
|
|
51
|
+
<OptionsSetting value="true" id="Checkout" />
|
|
52
|
+
<OptionsSetting value="true" id="Update" />
|
|
53
|
+
<OptionsSetting value="true" id="Status" />
|
|
54
|
+
<OptionsSetting value="true" id="Edit" />
|
|
55
|
+
<ConfirmationsSetting value="0" id="Add" />
|
|
56
|
+
<ConfirmationsSetting value="0" id="Remove" />
|
|
57
|
+
</component>
|
|
58
|
+
<component name="ProjectReloadState">
|
|
59
|
+
<option name="STATE" value="0" />
|
|
60
|
+
</component>
|
|
61
|
+
<component name="ProjectView">
|
|
62
|
+
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
|
|
63
|
+
<flattenPackages />
|
|
64
|
+
<showMembers />
|
|
65
|
+
<showModules />
|
|
66
|
+
<showLibraryContents />
|
|
67
|
+
<hideEmptyPackages />
|
|
68
|
+
<abbreviatePackageNames />
|
|
69
|
+
<autoscrollToSource />
|
|
70
|
+
<autoscrollFromSource />
|
|
71
|
+
<sortByType />
|
|
72
|
+
</navigator>
|
|
73
|
+
<panes>
|
|
74
|
+
<pane id="Scope" />
|
|
75
|
+
<pane id="ProjectPane">
|
|
76
|
+
<subPane>
|
|
77
|
+
<PATH>
|
|
78
|
+
<PATH_ELEMENT>
|
|
79
|
+
<option name="myItemId" value="juno-report" />
|
|
80
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
81
|
+
</PATH_ELEMENT>
|
|
82
|
+
</PATH>
|
|
83
|
+
<PATH>
|
|
84
|
+
<PATH_ELEMENT>
|
|
85
|
+
<option name="myItemId" value="juno-report" />
|
|
86
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
87
|
+
</PATH_ELEMENT>
|
|
88
|
+
<PATH_ELEMENT>
|
|
89
|
+
<option name="myItemId" value="juno-report" />
|
|
90
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
91
|
+
</PATH_ELEMENT>
|
|
92
|
+
</PATH>
|
|
93
|
+
<PATH>
|
|
94
|
+
<PATH_ELEMENT>
|
|
95
|
+
<option name="myItemId" value="juno-report" />
|
|
96
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
97
|
+
</PATH_ELEMENT>
|
|
98
|
+
<PATH_ELEMENT>
|
|
99
|
+
<option name="myItemId" value="juno-report" />
|
|
100
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
101
|
+
</PATH_ELEMENT>
|
|
102
|
+
<PATH_ELEMENT>
|
|
103
|
+
<option name="myItemId" value="lib" />
|
|
104
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
105
|
+
</PATH_ELEMENT>
|
|
106
|
+
</PATH>
|
|
107
|
+
<PATH>
|
|
108
|
+
<PATH_ELEMENT>
|
|
109
|
+
<option name="myItemId" value="juno-report" />
|
|
110
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
111
|
+
</PATH_ELEMENT>
|
|
112
|
+
<PATH_ELEMENT>
|
|
113
|
+
<option name="myItemId" value="juno-report" />
|
|
114
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
115
|
+
</PATH_ELEMENT>
|
|
116
|
+
<PATH_ELEMENT>
|
|
117
|
+
<option name="myItemId" value="lib" />
|
|
118
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
119
|
+
</PATH_ELEMENT>
|
|
120
|
+
<PATH_ELEMENT>
|
|
121
|
+
<option name="myItemId" value="juno-report" />
|
|
122
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
123
|
+
</PATH_ELEMENT>
|
|
124
|
+
</PATH>
|
|
125
|
+
<PATH>
|
|
126
|
+
<PATH_ELEMENT>
|
|
127
|
+
<option name="myItemId" value="juno-report" />
|
|
128
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
129
|
+
</PATH_ELEMENT>
|
|
130
|
+
<PATH_ELEMENT>
|
|
131
|
+
<option name="myItemId" value="juno-report" />
|
|
132
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
133
|
+
</PATH_ELEMENT>
|
|
134
|
+
<PATH_ELEMENT>
|
|
135
|
+
<option name="myItemId" value="lib" />
|
|
136
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
137
|
+
</PATH_ELEMENT>
|
|
138
|
+
<PATH_ELEMENT>
|
|
139
|
+
<option name="myItemId" value="juno-report" />
|
|
140
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
141
|
+
</PATH_ELEMENT>
|
|
142
|
+
<PATH_ELEMENT>
|
|
143
|
+
<option name="myItemId" value="pdf" />
|
|
144
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
145
|
+
</PATH_ELEMENT>
|
|
146
|
+
</PATH>
|
|
147
|
+
</subPane>
|
|
148
|
+
</pane>
|
|
149
|
+
</panes>
|
|
150
|
+
</component>
|
|
151
|
+
<component name="PropertiesComponent">
|
|
152
|
+
<property name="options.splitter.main.proportions" value="0.3" />
|
|
153
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
154
|
+
<property name="options.lastSelected" value="project.propVCSSupport.Mappings" />
|
|
155
|
+
<property name="options.searchVisible" value="true" />
|
|
156
|
+
<property name="options.splitter.details.proportions" value="0.2" />
|
|
157
|
+
</component>
|
|
158
|
+
<component name="RunManager">
|
|
159
|
+
<list size="0" />
|
|
160
|
+
</component>
|
|
161
|
+
<component name="ShelveChangesManager" show_recycled="false" />
|
|
162
|
+
<component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false" SSL_PROTOCOLS="sslv3">
|
|
163
|
+
<option name="USER" value="" />
|
|
164
|
+
<option name="PASSWORD" value="" />
|
|
165
|
+
<option name="mySSHConnectionTimeout" value="30000" />
|
|
166
|
+
<option name="mySSHReadTimeout" value="30000" />
|
|
167
|
+
<option name="LAST_MERGED_REVISION" />
|
|
168
|
+
<option name="MERGE_DRY_RUN" value="false" />
|
|
169
|
+
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
|
|
170
|
+
<option name="UPDATE_LOCK_ON_DEMAND" value="false" />
|
|
171
|
+
<option name="IGNORE_SPACES_IN_MERGE" value="false" />
|
|
172
|
+
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
|
|
173
|
+
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
|
|
174
|
+
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
|
|
175
|
+
<option name="FORCE_UPDATE" value="false" />
|
|
176
|
+
<option name="IGNORE_EXTERNALS" value="false" />
|
|
177
|
+
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
|
|
178
|
+
</component>
|
|
179
|
+
<component name="TaskManager">
|
|
180
|
+
<task active="true" id="Default" summary="Default task">
|
|
181
|
+
<changelist id="76e9e064-60cb-4b21-9538-43c2d47e8def" name="Default" comment="" />
|
|
182
|
+
<created>1397740475071</created>
|
|
183
|
+
<updated>1397740475071</updated>
|
|
184
|
+
</task>
|
|
185
|
+
<servers />
|
|
186
|
+
</component>
|
|
187
|
+
<component name="ToolWindowManager">
|
|
188
|
+
<frame x="10" y="29" width="1260" height="920" extended-state="0" />
|
|
189
|
+
<editor active="true" />
|
|
190
|
+
<layout>
|
|
191
|
+
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32928312" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
192
|
+
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
193
|
+
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
194
|
+
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
195
|
+
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
196
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24958813" sideWeight="0.6707169" order="0" side_tool="false" content_ui="combo" />
|
|
197
|
+
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
198
|
+
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
|
199
|
+
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
|
200
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32928312" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
201
|
+
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
202
|
+
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
203
|
+
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
204
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
205
|
+
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
206
|
+
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
207
|
+
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
208
|
+
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
|
209
|
+
</layout>
|
|
210
|
+
</component>
|
|
211
|
+
<component name="VcsContentAnnotationSettings">
|
|
212
|
+
<option name="myLimit" value="2678400000" />
|
|
213
|
+
</component>
|
|
214
|
+
<component name="VcsManagerConfiguration">
|
|
215
|
+
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
|
|
216
|
+
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
|
217
|
+
<option name="CHECK_NEW_TODO" value="true" />
|
|
218
|
+
<option name="myTodoPanelSettings">
|
|
219
|
+
<value>
|
|
220
|
+
<are-packages-shown value="false" />
|
|
221
|
+
<are-modules-shown value="false" />
|
|
222
|
+
<flatten-packages value="false" />
|
|
223
|
+
<is-autoscroll-to-source value="false" />
|
|
224
|
+
</value>
|
|
225
|
+
</option>
|
|
226
|
+
<option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
|
|
227
|
+
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
|
|
228
|
+
<option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
|
|
229
|
+
<option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
|
|
230
|
+
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
|
|
231
|
+
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
|
|
232
|
+
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
|
|
233
|
+
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
|
|
234
|
+
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
|
|
235
|
+
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
|
236
|
+
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
|
237
|
+
<option name="SHORT_DIFF_HORIZONTALLY" value="true" />
|
|
238
|
+
<option name="SHORT_DIFF_EXTRA_LINES" value="2" />
|
|
239
|
+
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
|
|
240
|
+
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
|
|
241
|
+
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
|
|
242
|
+
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
|
|
243
|
+
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
|
|
244
|
+
<option name="SHOW_DIRTY_RECURSIVELY" value="false" />
|
|
245
|
+
<option name="LIMIT_HISTORY" value="true" />
|
|
246
|
+
<option name="MAXIMUM_HISTORY_ROWS" value="1000" />
|
|
247
|
+
<option name="UPDATE_FILTER_SCOPE_NAME" />
|
|
248
|
+
<option name="USE_COMMIT_MESSAGE_MARGIN" value="false" />
|
|
249
|
+
<option name="COMMIT_MESSAGE_MARGIN_SIZE" value="72" />
|
|
250
|
+
<option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />
|
|
251
|
+
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
|
252
|
+
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
|
|
253
|
+
<option name="LAST_COMMIT_MESSAGE" />
|
|
254
|
+
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
|
|
255
|
+
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
|
256
|
+
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
|
257
|
+
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
|
|
258
|
+
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
|
|
259
|
+
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
|
|
260
|
+
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
|
|
261
|
+
<option name="ACTIVE_VCS_NAME" />
|
|
262
|
+
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
|
|
263
|
+
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
|
264
|
+
<option name="UPDATE_FILTER_BY_SCOPE" value="false" />
|
|
265
|
+
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
|
266
|
+
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
|
267
|
+
</component>
|
|
268
|
+
<component name="XDebuggerManager">
|
|
269
|
+
<breakpoint-manager />
|
|
270
|
+
</component>
|
|
271
|
+
<component name="editorHistoryManager">
|
|
272
|
+
<entry file="file://$PROJECT_DIR$/lib/juno-report/pdf.rb">
|
|
273
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
274
|
+
<state line="197" column="64" selection-start="9377" selection-end="9377" vertical-scroll-proportion="2.7813299">
|
|
275
|
+
<folding />
|
|
276
|
+
</state>
|
|
277
|
+
</provider>
|
|
278
|
+
</entry>
|
|
279
|
+
</component>
|
|
280
|
+
</project>
|
|
281
|
+
|
data/.rspec
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
juno-report (0.0.
|
|
4
|
+
juno-report (0.0.8)
|
|
5
5
|
prawml
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
activesupport (4.2.5.2)
|
|
11
|
+
i18n (~> 0.7)
|
|
12
|
+
json (~> 1.7, >= 1.7.7)
|
|
13
|
+
minitest (~> 5.1)
|
|
14
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
|
15
|
+
tzinfo (~> 1.1)
|
|
16
|
+
barby (0.6.2)
|
|
15
17
|
diff-lcs (1.1.3)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
pdf-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
ruby-rc4
|
|
23
|
-
prawml (0.1.1)
|
|
24
|
-
activesupport (~> 3.0)
|
|
18
|
+
i18n (0.7.0)
|
|
19
|
+
json (1.8.3)
|
|
20
|
+
minitest (5.8.4)
|
|
21
|
+
pdf-core (0.6.1)
|
|
22
|
+
prawml (0.1.2)
|
|
23
|
+
activesupport
|
|
25
24
|
barby
|
|
26
25
|
prawn
|
|
27
|
-
prawn (
|
|
28
|
-
pdf-
|
|
29
|
-
ttfunk (~> 1.0
|
|
26
|
+
prawn (2.1.0)
|
|
27
|
+
pdf-core (~> 0.6.1)
|
|
28
|
+
ttfunk (~> 1.4.0)
|
|
30
29
|
rake (0.9.2.2)
|
|
31
30
|
rspec (2.12.0)
|
|
32
31
|
rspec-core (~> 2.12.0)
|
|
@@ -36,8 +35,10 @@ GEM
|
|
|
36
35
|
rspec-expectations (2.12.1)
|
|
37
36
|
diff-lcs (~> 1.1.3)
|
|
38
37
|
rspec-mocks (2.12.1)
|
|
39
|
-
|
|
40
|
-
ttfunk (1.0
|
|
38
|
+
thread_safe (0.3.5)
|
|
39
|
+
ttfunk (1.4.0)
|
|
40
|
+
tzinfo (1.2.2)
|
|
41
|
+
thread_safe (~> 0.1)
|
|
41
42
|
|
|
42
43
|
PLATFORMS
|
|
43
44
|
ruby
|
|
@@ -46,3 +47,6 @@ DEPENDENCIES
|
|
|
46
47
|
juno-report!
|
|
47
48
|
rake
|
|
48
49
|
rspec
|
|
50
|
+
|
|
51
|
+
BUNDLED WITH
|
|
52
|
+
1.10.6
|
data/lib/juno-report/pdf.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module JunoReport
|
|
2
2
|
module Pdf
|
|
3
3
|
|
|
4
|
-
#Responsible for generate a report, based on rules passed as parameter in Juno::Report::generate.
|
|
4
|
+
#Responsible for generate a report, based on rules passed as parameter in Juno::Report::generate.
|
|
5
5
|
#Juno Reports has support groups, just by especifying them at the rules file.
|
|
6
6
|
#Receives a collection as parameter, which should be a Array of records of the report.
|
|
7
7
|
def generate(collection)
|
|
@@ -26,6 +26,7 @@ module JunoReport
|
|
|
26
26
|
set_pos_y (@sections[:body][:settings][:posY] || 0)
|
|
27
27
|
@current_groups = {}
|
|
28
28
|
@footers = {}
|
|
29
|
+
@count = 0
|
|
29
30
|
|
|
30
31
|
unless @sections[:groups].empty?
|
|
31
32
|
reset_groups_values
|
|
@@ -38,13 +39,14 @@ module JunoReport
|
|
|
38
39
|
|
|
39
40
|
collection.each do |record|
|
|
40
41
|
@record = record.is_a?(Hash) ? ReportObject.new(record) : record #Convert the hash on a Object to futurely extend a module
|
|
41
|
-
|
|
42
|
+
|
|
42
43
|
headers_to_print, headers_height = calculate_header
|
|
43
44
|
|
|
44
|
-
unless headers_to_print.empty?
|
|
45
|
+
unless headers_to_print.empty?
|
|
46
|
+
@count = 0
|
|
45
47
|
draw_footer headers_to_print, @sections[:groups] if can_print_footer
|
|
46
48
|
if @posY - headers_height < 2*@sections[:body][:settings][:height]
|
|
47
|
-
new_page
|
|
49
|
+
new_page
|
|
48
50
|
else
|
|
49
51
|
headers_to_print.each { |group| print_section group, @record, true }
|
|
50
52
|
draw_columns
|
|
@@ -54,6 +56,7 @@ module JunoReport
|
|
|
54
56
|
|
|
55
57
|
update_footer_values
|
|
56
58
|
print_section :body, @record
|
|
59
|
+
@count += 1
|
|
57
60
|
end
|
|
58
61
|
|
|
59
62
|
draw_footer(@sections[:body][:settings][:groups].collect {|group| group.to_sym}, @sections[:groups]) if has_groups?
|
|
@@ -79,10 +82,16 @@ module JunoReport
|
|
|
79
82
|
|
|
80
83
|
#Generic function to print a section like :body, :page or the group sections.
|
|
81
84
|
def print_section(section_name, values = nil, group = false)
|
|
82
|
-
section = !group ? @sections[section_name] : @sections[:groups][section_name]
|
|
85
|
+
section = !group ? @sections[section_name] : @sections[:groups][section_name]
|
|
83
86
|
set_pos_y(section[:settings][:posY] || 0) unless section_name.eql?(:body) || section[:settings].nil?
|
|
84
87
|
new_page if @posY < 30
|
|
85
88
|
|
|
89
|
+
if section_name.eql? :body and @count % 2 != 0
|
|
90
|
+
@pdf.fill_color "F7F7F7"
|
|
91
|
+
width = @options[:page_layout] == :portrait ? 530 : 770
|
|
92
|
+
@pdf.fill_rectangle [0, @posY+(section[:settings][:height]/2)], width, section[:settings][:height]
|
|
93
|
+
end
|
|
94
|
+
|
|
86
95
|
section[:fields].each do |field, settings|
|
|
87
96
|
symbolize! settings[1] unless settings[1].nil?
|
|
88
97
|
set_pos_y settings[1][:posY] unless settings[1].nil? || settings[1][:posY].nil?
|
|
@@ -125,7 +134,7 @@ module JunoReport
|
|
|
125
134
|
@sections[:body][:settings][:groups].each { |group| @sections[:groups][group.to_sym] = @rules[group.to_sym] } if has_groups?
|
|
126
135
|
end
|
|
127
136
|
|
|
128
|
-
#@current_groups storages the value for all groups. When a value is changed, the header is printed.
|
|
137
|
+
#@current_groups storages the value for all groups. When a value is changed, the header is printed.
|
|
129
138
|
#This function set nil value for every item in @current_groups if the parameter is not passed. Otherwise,
|
|
130
139
|
#only the forward groups will be cleaned to avoid conflict problems with others groups.
|
|
131
140
|
def reset_groups_values current_group = nil
|
|
@@ -138,7 +147,7 @@ module JunoReport
|
|
|
138
147
|
|
|
139
148
|
#Calculates the headers which must be printed before print the current record.
|
|
140
149
|
#The function also returns the current header height to create a new page if the
|
|
141
|
-
#page remaining space is smaller than (header + a record height)
|
|
150
|
+
#page remaining space is smaller than (header + a record height)
|
|
142
151
|
def calculate_header
|
|
143
152
|
headers = []
|
|
144
153
|
height = 0
|
|
@@ -157,7 +166,7 @@ module JunoReport
|
|
|
157
166
|
|
|
158
167
|
#Create a structure to calculate the footer values for all groups. Appends the footer body to total values too.
|
|
159
168
|
def initialize_footer_values
|
|
160
|
-
@sections[:body][:settings][:groups].each do |group|
|
|
169
|
+
@sections[:body][:settings][:groups].each do |group|
|
|
161
170
|
current_footer = {}
|
|
162
171
|
@sections[:groups][group.to_sym][:footer].each { |field, settings| current_footer[field] = nil } unless @sections[:groups][group.to_sym][:footer].nil?
|
|
163
172
|
@footers[group.to_sym] = current_footer unless current_footer.empty?
|
|
@@ -177,7 +186,7 @@ module JunoReport
|
|
|
177
186
|
calculate_footer_values :body, @sections[:body][:footer]
|
|
178
187
|
end
|
|
179
188
|
|
|
180
|
-
#Returns the values to the group passed as parameter. If :behavior setting is used, so a
|
|
189
|
+
#Returns the values to the group passed as parameter. If :behavior setting is used, so a
|
|
181
190
|
#function in [lib/pdf/behaviors.rb] calculates the value of current field, else the report
|
|
182
191
|
#method is called
|
|
183
192
|
def calculate_footer_values group, source
|
data/lib/juno-report/version.rb
CHANGED