appraisermetrics_report_service 0.0.5 → 0.0.6
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/lib/appraisermetrics_report_service/version.rb +1 -1
- data/lib/appraisermetrics_report_service.rb +2 -1
- data/lib/closed_sale.rb +51 -48
- data/lib/eval_report.rb +183 -178
- data/spec/lib/eval_report_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/test_data/sampler.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1636e2ee5c97a81021794dc71ac8c49956ecc06e
|
4
|
+
data.tar.gz: 5bb6f84f088ae66e32edcb84c414d6169309e492
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3393a08515e9e51bfb30c9cd0a31c884ec9ab2317f0b78a01e75202aeaccb77016e55936d90da05089986d9cf4ebe6d47a94b8c83866ebd94161290f2bbee59f
|
7
|
+
data.tar.gz: 3a1c7e7b48d80261efbf458ef4c1b70890c2f077eb69aff4a849dba13c33c3d931513bb409dcb8c1f0ab6f3d20a064b6a16739b25a422a23edf10155d13f7776
|
data/lib/closed_sale.rb
CHANGED
@@ -10,7 +10,7 @@ class ClosedSale < Prawn::Document
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def write_content(report_doc, images, office_logo) # the call to add content to pdf
|
13
|
-
font_size
|
13
|
+
font_size 7
|
14
14
|
@rep = report_doc
|
15
15
|
@property_images = images
|
16
16
|
@office_logo = office_logo
|
@@ -19,6 +19,7 @@ class ClosedSale < Prawn::Document
|
|
19
19
|
|
20
20
|
# render office logo image if present
|
21
21
|
stroke_bounds
|
22
|
+
move_down 10
|
22
23
|
render_logo
|
23
24
|
|
24
25
|
# rendering tables
|
@@ -30,7 +31,7 @@ class ClosedSale < Prawn::Document
|
|
30
31
|
property_class
|
31
32
|
end
|
32
33
|
|
33
|
-
move_down
|
34
|
+
move_down 5
|
34
35
|
stroke_horizontal_rule
|
35
36
|
move_down 5
|
36
37
|
float do
|
@@ -42,7 +43,7 @@ class ClosedSale < Prawn::Document
|
|
42
43
|
transaction_summary
|
43
44
|
end
|
44
45
|
|
45
|
-
move_down
|
46
|
+
move_down 25
|
46
47
|
stroke_horizontal_rule
|
47
48
|
move_down 5
|
48
49
|
float do
|
@@ -53,7 +54,7 @@ class ClosedSale < Prawn::Document
|
|
53
54
|
physical_overview
|
54
55
|
end
|
55
56
|
|
56
|
-
move_down
|
57
|
+
move_down 15
|
57
58
|
stroke_horizontal_rule
|
58
59
|
move_down 5
|
59
60
|
float do
|
@@ -63,10 +64,12 @@ class ClosedSale < Prawn::Document
|
|
63
64
|
indent(270) do
|
64
65
|
income_expense
|
65
66
|
end
|
66
|
-
cursor_pos = cursor
|
67
|
-
stroke_line [270, 720], [270, cursor_pos]
|
68
67
|
|
69
|
-
|
68
|
+
stroke_line [270, 720], [270, 0]
|
69
|
+
|
70
|
+
if page_count == 1
|
71
|
+
start_new_page
|
72
|
+
end
|
70
73
|
|
71
74
|
## page 2 ##
|
72
75
|
stroke_horizontal_rule
|
@@ -79,55 +82,58 @@ class ClosedSale < Prawn::Document
|
|
79
82
|
indent(270) do
|
80
83
|
legal_transaction
|
81
84
|
end
|
82
|
-
|
85
|
+
|
86
|
+
# stroke boundary line
|
87
|
+
stroke_line [270, 720], [270, cursor]
|
88
|
+
move_down 30
|
83
89
|
stroke_horizontal_rule
|
84
90
|
move_down 5
|
85
91
|
# move to full width table
|
86
92
|
if @rep[:transactions] && @rep[:transactions].any?
|
87
93
|
transaction_history
|
88
|
-
move_down
|
94
|
+
move_down 30
|
89
95
|
stroke_horizontal_rule
|
90
96
|
move_down 5
|
91
97
|
end
|
92
98
|
|
93
99
|
if @rep[:utilities] && @rep[:utilities].any?
|
94
100
|
utilities
|
95
|
-
move_down
|
101
|
+
move_down 30
|
96
102
|
stroke_horizontal_rule
|
97
103
|
move_down 5
|
98
104
|
end
|
99
105
|
|
100
106
|
if @rep[:improvements] && @rep[:improvements].any?
|
101
107
|
improvements
|
102
|
-
move_down
|
108
|
+
move_down 30
|
103
109
|
stroke_horizontal_rule
|
104
110
|
move_down 5
|
105
111
|
end
|
106
112
|
|
107
113
|
if @rep[:waterrights] && @rep[:waterrights].any?
|
108
114
|
water_rights
|
109
|
-
move_down
|
115
|
+
move_down 30
|
110
116
|
stroke_horizontal_rule
|
111
117
|
move_down 5
|
112
118
|
end
|
113
119
|
|
114
120
|
if @rep[:waterdistributions] && @rep[:waterdistributions].any?
|
115
121
|
water_distribution
|
116
|
-
move_down
|
122
|
+
move_down 30
|
117
123
|
stroke_horizontal_rule
|
118
124
|
move_down 5
|
119
125
|
end
|
120
126
|
|
121
127
|
if @rep[:crops] && @rep[:crops].any?
|
122
128
|
crop_yield
|
123
|
-
move_down
|
129
|
+
move_down 30
|
124
130
|
stroke_horizontal_rule
|
125
131
|
move_down 5
|
126
132
|
end
|
127
133
|
|
128
134
|
if @rep[:estimatedproductivity] && @rep[:estimatedproductivity].any?
|
129
135
|
estimated_productivity
|
130
|
-
move_down
|
136
|
+
move_down 30
|
131
137
|
stroke_horizontal_rule
|
132
138
|
move_down 5
|
133
139
|
end
|
@@ -137,7 +143,7 @@ class ClosedSale < Prawn::Document
|
|
137
143
|
|
138
144
|
if @rep[:plantings] && @rep[:plantings].any?
|
139
145
|
perm_plantings
|
140
|
-
move_down
|
146
|
+
move_down 30
|
141
147
|
stroke_horizontal_rule
|
142
148
|
move_down 5
|
143
149
|
end
|
@@ -153,7 +159,7 @@ class ClosedSale < Prawn::Document
|
|
153
159
|
|
154
160
|
def render_logo
|
155
161
|
if @office_logo
|
156
|
-
image @office_logo, height:
|
162
|
+
image @office_logo, height: 35
|
157
163
|
end
|
158
164
|
end
|
159
165
|
|
@@ -179,6 +185,13 @@ class ClosedSale < Prawn::Document
|
|
179
185
|
else
|
180
186
|
text "No Image"
|
181
187
|
end
|
188
|
+
|
189
|
+
table([["Property Location and Directions:"], ["#{@rep[:directions_or_ownership_comments]}"]]) do
|
190
|
+
cells.padding = [1, 2.5]
|
191
|
+
cells.style(border_width: 0)
|
192
|
+
column(0).width = 270
|
193
|
+
row(0).style(align: :center, background_color: 'd7d7d7', font_style: :bold)
|
194
|
+
end
|
182
195
|
end
|
183
196
|
|
184
197
|
def land_classification
|
@@ -243,7 +256,7 @@ class ClosedSale < Prawn::Document
|
|
243
256
|
columns(1..3).style(align: :right)
|
244
257
|
cells.style(border_width: 0)
|
245
258
|
cells.padding = [1, 2.5]
|
246
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
259
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
247
260
|
row(1).style(align: :right, font_style: :bold, border_bottom_width: 0.5)
|
248
261
|
row(-3).style(border_bottom_width: 0.5, font_style: :bold)
|
249
262
|
end
|
@@ -277,7 +290,7 @@ class ClosedSale < Prawn::Document
|
|
277
290
|
columns(2..3).width = 67
|
278
291
|
columns(1..3).style(align: :right, font_style: :bold)
|
279
292
|
column(0).style(align: :left, font_style: :bold)
|
280
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
293
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, border_top_width: 0.5)
|
281
294
|
cells.style(border_width: 0)
|
282
295
|
row(1).style(border_bottom_width: 0.5, align: :center, font_style: nil)
|
283
296
|
cells.padding = [1, 2.5]
|
@@ -295,7 +308,7 @@ class ClosedSale < Prawn::Document
|
|
295
308
|
column(0).width = 270
|
296
309
|
cells.padding = [1, 2.5]
|
297
310
|
cells.style(border_width: 0)
|
298
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
311
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
299
312
|
end
|
300
313
|
end
|
301
314
|
|
@@ -333,8 +346,7 @@ class ClosedSale < Prawn::Document
|
|
333
346
|
["City:", "#{@rep[:city]}", "County:", "#{@rep[:ordinance_authority]}"],
|
334
347
|
["State:", "#{@rep[:county_state]}".strip.split('').last(2).join(""), "Zip Code:", "#{@rep[:zip_code]}"],
|
335
348
|
["Township/Range:","#{@rep[:townshipINT]}" + "#{@rep[:rangeINT]}", "Section(s):", "#{@rep[:legal_description]}"],
|
336
|
-
["Latitude:", lat, "Longitude:", long]
|
337
|
-
[{content: "Property Location and Directions:" + "#{@rep[:directions_or_ownership_comments]}", colspan: 4}]
|
349
|
+
["Latitude:", lat, "Longitude:", long]
|
338
350
|
]
|
339
351
|
|
340
352
|
table(type_and_address_data) do
|
@@ -344,7 +356,7 @@ class ClosedSale < Prawn::Document
|
|
344
356
|
columns([1, 3]).style(font_style: :bold)
|
345
357
|
cells.padding = [1, 2.5]
|
346
358
|
cells.style(border_width: 0)
|
347
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
359
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
348
360
|
end
|
349
361
|
end
|
350
362
|
|
@@ -372,7 +384,7 @@ class ClosedSale < Prawn::Document
|
|
372
384
|
cells.padding = [1, 2.5]
|
373
385
|
cells.style(border_width: 0)
|
374
386
|
columns([1, 3]).style(font_style: :bold)
|
375
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
387
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
376
388
|
end
|
377
389
|
end
|
378
390
|
|
@@ -398,8 +410,9 @@ class ClosedSale < Prawn::Document
|
|
398
410
|
columns([1, 3]).style(font_style: :bold)
|
399
411
|
cells.padding = [1, 2.5]
|
400
412
|
cells.style(border_width: 0)
|
401
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
413
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
402
414
|
row(9).style(align: :left)
|
415
|
+
row(-1).style(align: :left)
|
403
416
|
end
|
404
417
|
end
|
405
418
|
|
@@ -429,7 +442,7 @@ class ClosedSale < Prawn::Document
|
|
429
442
|
cells.padding = [1, 2.5]
|
430
443
|
cells.style(border_width: 0)
|
431
444
|
columns([1, 3]).style(font_style: :bold)
|
432
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
445
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
433
446
|
row([5, 6]).style(align: :left)
|
434
447
|
end
|
435
448
|
end
|
@@ -464,7 +477,7 @@ class ClosedSale < Prawn::Document
|
|
464
477
|
columns([1, 3]).style(font_style: :bold)
|
465
478
|
cells.padding = [1, 2.5]
|
466
479
|
cells.style(border_width: 0)
|
467
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
480
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
468
481
|
end
|
469
482
|
end
|
470
483
|
|
@@ -491,7 +504,7 @@ class ClosedSale < Prawn::Document
|
|
491
504
|
columns(0..3).style(align: :right, font_style: :bold)
|
492
505
|
cells.padding = [1, 2.5]
|
493
506
|
cells.style(border_width: 0)
|
494
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
507
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
495
508
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
496
509
|
end
|
497
510
|
end
|
@@ -518,7 +531,7 @@ class ClosedSale < Prawn::Document
|
|
518
531
|
columns(0..3).style(align: :right, font_style: :bold)
|
519
532
|
cells.padding = [1, 2.5]
|
520
533
|
cells.style(border_width: 0)
|
521
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
534
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
522
535
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
523
536
|
end
|
524
537
|
end
|
@@ -531,7 +544,7 @@ class ClosedSale < Prawn::Document
|
|
531
544
|
table(sorted_array) do
|
532
545
|
columns(0..7).width = 67.5
|
533
546
|
columns(1..7).style(font_style: :bold)
|
534
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
547
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
535
548
|
cells.padding = [1, 2.5]
|
536
549
|
cells.style(border_width: 0)
|
537
550
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
@@ -558,7 +571,7 @@ class ClosedSale < Prawn::Document
|
|
558
571
|
table(water_rights_data) do
|
559
572
|
columns(0..7).width = 67.5
|
560
573
|
columns(0..7).style(font_style: :bold)
|
561
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
574
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
562
575
|
cells.padding = [1, 2.5]
|
563
576
|
cells.style(border_width: 0)
|
564
577
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
@@ -586,7 +599,7 @@ class ClosedSale < Prawn::Document
|
|
586
599
|
table(distribution_data) do
|
587
600
|
columns(0..7).width = 67.5
|
588
601
|
columns(0..7).style(font_style: :bold)
|
589
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
602
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
590
603
|
cells.padding = [1, 2.5]
|
591
604
|
cells.style(border_width: 0)
|
592
605
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
@@ -615,7 +628,7 @@ class ClosedSale < Prawn::Document
|
|
615
628
|
column(0).width = 135
|
616
629
|
columns(1..6).width = 67.5
|
617
630
|
columns(0..6).style(font_style: :bold)
|
618
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
631
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
619
632
|
cells.padding = [1, 2.5]
|
620
633
|
cells.style(border_width: 0)
|
621
634
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
@@ -643,7 +656,7 @@ class ClosedSale < Prawn::Document
|
|
643
656
|
columns(0..3).style(font_style: :bold)
|
644
657
|
cells.padding = [1, 2.5]
|
645
658
|
cells.style(border_width: 0)
|
646
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
659
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
647
660
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
648
661
|
end
|
649
662
|
end
|
@@ -669,7 +682,7 @@ class ClosedSale < Prawn::Document
|
|
669
682
|
table(planting_data) do
|
670
683
|
columns(0..7).width = 67.5
|
671
684
|
columns(0..7).style(font_style: :bold)
|
672
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
685
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
673
686
|
cells.padding = [1, 2.5]
|
674
687
|
cells.style(border_width: 0)
|
675
688
|
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
@@ -681,14 +694,14 @@ class ClosedSale < Prawn::Document
|
|
681
694
|
table(extern_data) do
|
682
695
|
columns(0..3).width = 135
|
683
696
|
columns([1, 3]).style(font_style: :bold)
|
684
|
-
row(0).style(align: :center, background_color: 'd7d7d7',
|
697
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
685
698
|
cells.padding = [1, 2.5]
|
686
699
|
cells.style(border_width: 0)
|
687
700
|
end
|
688
701
|
end
|
689
702
|
|
690
703
|
def additional_images
|
691
|
-
if @property_images && @property_images.
|
704
|
+
if @property_images && @property_images.count > 1
|
692
705
|
start_new_page
|
693
706
|
if @property_images[1]
|
694
707
|
bounding_box([0, 690], height: 330, width: 250) do
|
@@ -715,15 +728,5 @@ class ClosedSale < Prawn::Document
|
|
715
728
|
end
|
716
729
|
end
|
717
730
|
end
|
718
|
-
end
|
719
|
-
|
720
|
-
# misc. notes
|
721
|
-
|
722
|
-
# the first page of the report is split into two columns using bounding boxes, each is 270 p wide
|
723
731
|
|
724
|
-
|
725
|
-
# - 4 column layout [68, 67, 67, 68]
|
726
|
-
# - 3 column tables can be used if needed [90, 90, 90]
|
727
|
-
# - 2 column layout [135, 135]
|
728
|
-
# - for dynamic layouts within an existing layout, pass colspan and content to data array like so:
|
729
|
-
# - {content: "double span", colspan: 2} => spans two columns with content
|
732
|
+
end
|
data/lib/eval_report.rb
CHANGED
@@ -448,7 +448,7 @@ class EvalReport < Prawn::Document
|
|
448
448
|
cells.style(border_width: 0)
|
449
449
|
cells.padding = [1, 2.5]
|
450
450
|
row(0).style(align: :center, font_style: :bold, border_bottom_width: 0.5)
|
451
|
-
column(0).style(align: :
|
451
|
+
column(0).style(align: :center)
|
452
452
|
end
|
453
453
|
|
454
454
|
stroke_bounds
|
@@ -663,19 +663,58 @@ class EvalReport < Prawn::Document
|
|
663
663
|
end
|
664
664
|
|
665
665
|
def property_features # container method to create various tables
|
666
|
-
font_size
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
666
|
+
font_size 7
|
667
|
+
stroke_bounds
|
668
|
+
if @sub[:transactions] && @sub[:transactions].any?
|
669
|
+
transaction_history
|
670
|
+
move_down 15
|
671
|
+
stroke_horizontal_rule
|
672
|
+
move_down 5
|
673
|
+
end
|
674
|
+
|
675
|
+
if @sub[:utilities] && @sub[:utilities].any?
|
676
|
+
utilities
|
677
|
+
move_down 15
|
678
|
+
stroke_horizontal_rule
|
679
|
+
move_down 5
|
680
|
+
end
|
681
|
+
|
682
|
+
if @sub[:improvements] && @sub[:improvements].any?
|
683
|
+
improvements
|
684
|
+
move_down 15
|
685
|
+
stroke_horizontal_rule
|
686
|
+
move_down 5
|
687
|
+
end
|
688
|
+
|
689
|
+
if @sub[:waterrights] && @sub[:waterrights].any?
|
690
|
+
water_rights
|
691
|
+
move_down 15
|
692
|
+
stroke_horizontal_rule
|
693
|
+
move_down 5
|
694
|
+
end
|
695
|
+
|
696
|
+
if @sub[:waterdistributions] && @sub[:waterdistributions].any?
|
697
|
+
water_distribution
|
698
|
+
move_down 15
|
699
|
+
stroke_horizontal_rule
|
700
|
+
move_down 5
|
701
|
+
end
|
672
702
|
|
673
|
-
|
703
|
+
if @sub[:crops] && @sub[:crops].any?
|
704
|
+
crop_yield
|
705
|
+
move_down 15
|
706
|
+
stroke_horizontal_rule
|
707
|
+
move_down 5
|
708
|
+
end
|
674
709
|
|
675
|
-
|
676
|
-
|
677
|
-
|
710
|
+
if @sub[:plantings] && @sub[:plantings].any?
|
711
|
+
perm_plantings
|
712
|
+
move_down 15
|
713
|
+
stroke_horizontal_rule
|
714
|
+
move_down 5
|
715
|
+
end
|
678
716
|
|
717
|
+
externalities
|
679
718
|
start_new_page
|
680
719
|
font_size 11
|
681
720
|
end
|
@@ -1052,231 +1091,197 @@ class EvalReport < Prawn::Document
|
|
1052
1091
|
|
1053
1092
|
# table methods for the property_features_method
|
1054
1093
|
def transaction_history
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
]
|
1094
|
+
transaction_history_data = [
|
1095
|
+
[{content: "Transaction History", colspan: 4}],
|
1096
|
+
["Historic Transaction Type", "Transaction Description", "Date", "Sale Price, List Price, or List Price"]
|
1097
|
+
]
|
1060
1098
|
|
1061
|
-
|
1099
|
+
transactions = @sub[:historyrecords]
|
1062
1100
|
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
end
|
1101
|
+
if transactions # node could be nil
|
1102
|
+
transactions.each do |t|
|
1103
|
+
if t # array could be nil
|
1104
|
+
transaction_history_data.push(
|
1105
|
+
["#{t[:transType]}", "#{t[:transDescr]}", datemaker(t[:transDate]), moneymaker(t[:price], true)]
|
1106
|
+
)
|
1070
1107
|
end
|
1071
1108
|
end
|
1109
|
+
end
|
1072
1110
|
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
end
|
1081
|
-
stroke_bounds
|
1111
|
+
table(transaction_history_data) do
|
1112
|
+
columns(0..3).width = 135
|
1113
|
+
columns(0..3).style(align: :right, font_style: :bold)
|
1114
|
+
cells.padding = [1, 2.5]
|
1115
|
+
cells.style(border_width: 0)
|
1116
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1117
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1082
1118
|
end
|
1083
1119
|
end
|
1084
1120
|
|
1085
1121
|
def utilities
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
]
|
1122
|
+
utilities_data = [
|
1123
|
+
[{content: "Description of Utilities", colspan: 4}],
|
1124
|
+
["Utility Description", "Service Availability", "Service Provider", "Comments"]
|
1125
|
+
]
|
1091
1126
|
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
end
|
1127
|
+
utilities = @sub[:utilities]
|
1128
|
+
if utilities # node could be nil
|
1129
|
+
utilities.each do |u|
|
1130
|
+
if u # array could be empty
|
1131
|
+
utilities_data.push(
|
1132
|
+
["#{u[:description]}", "#{u[:availability]}", "#{u[:provider]}", "#{u[:comments]}"]
|
1133
|
+
)
|
1100
1134
|
end
|
1101
1135
|
end
|
1136
|
+
end
|
1102
1137
|
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
end
|
1111
|
-
stroke_bounds
|
1138
|
+
table(utilities_data) do
|
1139
|
+
columns(0..3).width = 135
|
1140
|
+
columns(0..3).style(align: :right, font_style: :bold)
|
1141
|
+
cells.padding = [1, 2.5]
|
1142
|
+
cells.style(border_width: 0)
|
1143
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1144
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1112
1145
|
end
|
1113
|
-
# no new page
|
1114
1146
|
end
|
1115
1147
|
|
1116
1148
|
def improvements
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
sorted_array = flip_improvements_array(improvements_array)
|
1149
|
+
improvements_array = @sub[:improvements]
|
1150
|
+
|
1151
|
+
sorted_array = flip_improvements_array(improvements_array)
|
1122
1152
|
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
stroke_bounds
|
1132
|
-
end
|
1153
|
+
table(sorted_array) do
|
1154
|
+
columns(0..7).width = 67.5
|
1155
|
+
columns(1..7).style(font_style: :bold)
|
1156
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1157
|
+
cells.padding = [1, 2.5]
|
1158
|
+
cells.style(border_width: 0)
|
1159
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1160
|
+
end
|
1133
1161
|
# no new page
|
1134
1162
|
end
|
1135
1163
|
|
1136
1164
|
def water_rights
|
1137
|
-
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
["Water Right No.", "Water Right", "Water Source", "Priority Date", "Beneficial Use", "No. Acres Irrigated", "Annual Volume Ac-Ft", "Period of Use"]
|
1142
|
-
]
|
1165
|
+
water_rights_data = [
|
1166
|
+
[{content: "Water Rights", colspan: 8}],
|
1167
|
+
["Water Right No.", "Water Right", "Water Source", "Priority Date", "Beneficial Use", "No. Acres Irrigated", "Annual Volume Ac-Ft", "Period of Use"]
|
1168
|
+
]
|
1143
1169
|
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
end
|
1170
|
+
rights = @sub[:waterrights]
|
1171
|
+
if rights # node could be nil
|
1172
|
+
rights.each do |r|
|
1173
|
+
if r # array could be empty
|
1174
|
+
water_rights_data.push(
|
1175
|
+
["#{r[:waterrightNum]}", "#{r[:waterRight]}", "#{r[:waterSrc]}", datemaker(r[:priorityDate]), "#{r[:purpose]}", "#{r[:numIrrAcres]}", "#{r[:annVolume]}"]
|
1176
|
+
)
|
1152
1177
|
end
|
1153
1178
|
end
|
1179
|
+
end
|
1154
1180
|
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
end
|
1163
|
-
|
1164
|
-
stroke_bounds
|
1181
|
+
table(water_rights_data) do
|
1182
|
+
columns(0..7).width = 67.5
|
1183
|
+
columns(0..7).style(font_style: :bold)
|
1184
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1185
|
+
cells.padding = [1, 2.5]
|
1186
|
+
cells.style(border_width: 0)
|
1187
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1165
1188
|
end
|
1166
1189
|
# no new page
|
1167
1190
|
end
|
1168
1191
|
|
1169
1192
|
def water_distribution
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
["Water Distrib. Equip.", "Manuf.", "Make/Brand", "Type", "Description", "Yr. Manufactured", "Remaining Ec. Life", "No. Acres Irrigated"]
|
1175
|
-
]
|
1193
|
+
distribution_data = [
|
1194
|
+
[{content: "Water Distribution System", colspan: 8}],
|
1195
|
+
["Water Distrib. Equip.", "Manuf.", "Make/Brand", "Type", "Description", "Yr. Manufactured", "Remaining Ec. Life", "No. Acres Irrigated"]
|
1196
|
+
]
|
1176
1197
|
|
1177
|
-
|
1198
|
+
distributions = @sub[:waterdistributions]
|
1178
1199
|
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
end
|
1200
|
+
if distributions # node could be nil
|
1201
|
+
distributions.each do |d|
|
1202
|
+
if d # array could be empty
|
1203
|
+
distribution_data.push(
|
1204
|
+
["#{d[:waterdistrEq]}", "#{d[:manufacturer]}", "#{d[:brand]}", "#{d[:eqType]}", "#{d[:descr]}", "#{d[:yearManuf]}", "#{d[:remainingEcLife]}", "#{d[:irrAcres]}"]
|
1205
|
+
)
|
1186
1206
|
end
|
1187
1207
|
end
|
1208
|
+
end
|
1188
1209
|
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
end
|
1197
|
-
|
1198
|
-
stroke_bounds
|
1210
|
+
table(distribution_data) do
|
1211
|
+
columns(0..7).width = 67.5
|
1212
|
+
columns(0..7).style(font_style: :bold)
|
1213
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1214
|
+
cells.padding = [1, 2.5]
|
1215
|
+
cells.style(border_width: 0)
|
1216
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1199
1217
|
end
|
1200
1218
|
end
|
1201
1219
|
|
1202
1220
|
def crop_yield
|
1203
|
-
|
1204
|
-
|
1205
|
-
crops = @sub[:crops]
|
1221
|
+
crops = @sub[:crops]
|
1206
1222
|
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1223
|
+
crop_data = [
|
1224
|
+
[{content: "Crop Yield Summary", colspan: 7}],
|
1225
|
+
["Crop Year", "Commodity Identified", "Unit of Measure", "Average Yield", " ", " ", ", "]
|
1226
|
+
]
|
1211
1227
|
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1218
|
-
end
|
1228
|
+
if crops # node could be nil
|
1229
|
+
crops.each do |c|
|
1230
|
+
if c # array could be empty
|
1231
|
+
crop_data.push(
|
1232
|
+
["#{c[:year]}", "#{c[:commodity]}", "#{c[:unit]}", "#{c[:avgyield]}"]
|
1233
|
+
)
|
1219
1234
|
end
|
1220
1235
|
end
|
1236
|
+
end
|
1221
1237
|
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
end
|
1231
|
-
stroke_bounds
|
1238
|
+
table(crop_data) do
|
1239
|
+
column(0).width = 135
|
1240
|
+
columns(1..6).width = 67.5
|
1241
|
+
columns(0..6).style(font_style: :bold)
|
1242
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1243
|
+
cells.padding = [1, 2.5]
|
1244
|
+
cells.style(border_width: 0)
|
1245
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1232
1246
|
end
|
1233
1247
|
end
|
1234
1248
|
|
1235
1249
|
def perm_plantings
|
1236
|
-
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
]
|
1250
|
+
planting_data = [
|
1251
|
+
[{content: "Permanent Plantings", colspan: 8}],
|
1252
|
+
["Planting", "Variety", "Ac. Type", "No. of Acres", "Average Age", "Plants/Acre", "Unit Description", "Average Yield"]
|
1253
|
+
]
|
1241
1254
|
|
1242
|
-
|
1255
|
+
plantings = @sub[:plantings]
|
1243
1256
|
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
end
|
1257
|
+
if plantings # node could be nil
|
1258
|
+
plantings.each do |p|
|
1259
|
+
if p # array could be empty
|
1260
|
+
planting_data.push(
|
1261
|
+
["#{p[:planting]}", "#{p[:variety]}", "#{p[:acres]}", "#{p[:numacres]}", "#{p[:avgage]}", "#{p[:plantsacre]}", "#{p[:unitdescr1]}", "#{p[:avgproduction]}"]
|
1262
|
+
)
|
1251
1263
|
end
|
1252
1264
|
end
|
1265
|
+
end
|
1253
1266
|
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
end
|
1262
|
-
|
1263
|
-
stroke_bounds
|
1267
|
+
table(planting_data) do
|
1268
|
+
columns(0..7).width = 67.5
|
1269
|
+
columns(0..7).style(font_style: :bold)
|
1270
|
+
row(0).style(align: :center, background_color: 'd7d7d7', size: 11, font_style: :bold)
|
1271
|
+
cells.padding = [1, 2.5]
|
1272
|
+
cells.style(border_width: 0)
|
1273
|
+
row(1).style(border_bottom_width: 0.5, font_style: nil)
|
1264
1274
|
end
|
1265
1275
|
end
|
1266
1276
|
|
1267
1277
|
def externalities
|
1268
|
-
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
|
1274
|
-
|
1275
|
-
cells.padding = [1, 2.5]
|
1276
|
-
cells.style(border_width: 0)
|
1277
|
-
end
|
1278
|
-
|
1279
|
-
stroke_bounds
|
1278
|
+
extern_data = ReportUtils.conditional_externs_array(@sub) # instance method to populate dynamic array
|
1279
|
+
table(extern_data) do
|
1280
|
+
columns(0..3).width = 135
|
1281
|
+
columns([1, 3]).style(font_style: :bold)
|
1282
|
+
row(0).style(align: :center, background_color: 'd7d7d7', font_size: 8, font_style: :bold)
|
1283
|
+
cells.padding = [1, 2.5]
|
1284
|
+
cells.style(border_width: 0)
|
1280
1285
|
end
|
1281
1286
|
end
|
1282
1287
|
|
@@ -701,7 +701,7 @@ describe 'eval report class' do
|
|
701
701
|
water_distribution
|
702
702
|
end
|
703
703
|
page1 = PDF::Reader.new(StringIO.new(@pdf.render)).page(1).to_s
|
704
|
-
page2 = PDF::Reader.new(StringIO.new(@pdf.render)).page(
|
704
|
+
page2 = PDF::Reader.new(StringIO.new(@pdf.render)).page(1).to_s
|
705
705
|
@water_distribution_content = page1 + page2
|
706
706
|
end
|
707
707
|
|
data/spec/spec_helper.rb
CHANGED
data/spec/test_data/sampler.rb
CHANGED
@@ -6,7 +6,7 @@ class Sampler
|
|
6
6
|
# generate a sample report quickly
|
7
7
|
def self.test_closed_sale
|
8
8
|
c = ClosedSale.new do
|
9
|
-
write_content(Sampler.get_comp2, Sampler.sample_closed_sale_images,
|
9
|
+
write_content(Sampler.get_comp2, Sampler.sample_closed_sale_images, Sampler.sample_logo)
|
10
10
|
render_file("closed_sale.pdf")
|
11
11
|
end
|
12
12
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appraisermetrics_report_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StackPoint
|
@@ -209,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
209
|
version: '0'
|
210
210
|
requirements: []
|
211
211
|
rubyforge_project:
|
212
|
-
rubygems_version: 2.
|
212
|
+
rubygems_version: 2.2.2
|
213
213
|
signing_key:
|
214
214
|
specification_version: 4
|
215
215
|
summary: '["A service to generate pdf reports"]'
|