proforma-html-renderer 1.0.0.pre.alpha

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 (41) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +8 -0
  3. data/.gitignore +5 -0
  4. data/.rubocop.yml +11 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +20 -0
  7. data/CHANGELOG.md +3 -0
  8. data/Gemfile +5 -0
  9. data/Gemfile.lock +111 -0
  10. data/Guardfile +16 -0
  11. data/LICENSE +7 -0
  12. data/README.md +141 -0
  13. data/Rakefile +8 -0
  14. data/bin/console +11 -0
  15. data/bin/render +34 -0
  16. data/bin/snapshot +23 -0
  17. data/lib/proforma/html_renderer/object_writer.rb +42 -0
  18. data/lib/proforma/html_renderer/proforma_writer.rb +51 -0
  19. data/lib/proforma/html_renderer/version.rb +14 -0
  20. data/lib/proforma/html_renderer/writer.rb +77 -0
  21. data/lib/proforma/html_renderer.rb +47 -0
  22. data/proforma-html-renderer.gemspec +34 -0
  23. data/spec/fixtures/aloha.txt.erb +1 -0
  24. data/spec/fixtures/snapshot/config.yml +103 -0
  25. data/spec/fixtures/snapshot/images/logo.png +0 -0
  26. data/spec/fixtures/snapshot/output/0.User List.html +1936 -0
  27. data/spec/proforma/html_renderer/object_writer_spec.rb +40 -0
  28. data/spec/proforma/html_renderer/proforma_writer_spec.rb +19 -0
  29. data/spec/proforma/html_renderer/writer_spec.rb +49 -0
  30. data/spec/proforma/html_renderer_spec.rb +33 -0
  31. data/spec/rendering_helper.rb +98 -0
  32. data/spec/spec_helper.rb +25 -0
  33. data/templates/banner.html.erb +33 -0
  34. data/templates/header.html.erb +3 -0
  35. data/templates/pane.html.erb +36 -0
  36. data/templates/prototype.html.erb +73 -0
  37. data/templates/separator.html.erb +1 -0
  38. data/templates/spacer.html.erb +1 -0
  39. data/templates/table.html.erb +42 -0
  40. data/templates/text.html.erb +3 -0
  41. metadata +222 -0
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require './lib/proforma/html_renderer/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'proforma-html-renderer'
7
+ s.version = Proforma::HtmlRenderer::VERSION
8
+ s.summary = 'Proforma renderer plugin for generating HTML.'
9
+
10
+ s.description = <<-DESCRIPTION
11
+ Proforma is a virtual document object model. This library allows you to output HTML for a virtual Proforma document.
12
+ DESCRIPTION
13
+
14
+ s.authors = ['Matthew Ruggio']
15
+ s.email = ['mruggio@bluemarblepayroll.com']
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
19
+ s.homepage = 'https://github.com/bluemarblepayroll/proforma-html-renderer'
20
+ s.license = 'MIT'
21
+
22
+ s.required_ruby_version = '>= 2.3.8'
23
+
24
+ s.add_dependency('proforma', '~>1')
25
+
26
+ s.add_development_dependency('guard-rspec', '~>4.7')
27
+ s.add_development_dependency('pry', '~>0')
28
+ s.add_development_dependency('pry-byebug', '~> 3')
29
+ s.add_development_dependency('rake', '~> 10.0')
30
+ s.add_development_dependency('rspec', '~> 3.8')
31
+ s.add_development_dependency('rubocop', '~>0.63.1')
32
+ s.add_development_dependency('simplecov', '~>0.16.1')
33
+ s.add_development_dependency('simplecov-console', '~>0.4.2')
34
+ end
@@ -0,0 +1 @@
1
+ Aloha, <%= full_name %>!
@@ -0,0 +1,103 @@
1
+ data:
2
+ users:
3
+ - id: 1
4
+ first: Will
5
+ last: Smith
6
+ username: will_smith
7
+ login_count: 9219
8
+ phone_numbers:
9
+ - type: cell
10
+ number: 555-444-3333
11
+ - type: fax
12
+ number: 333-444-2222
13
+ - id: 2
14
+ first: Martin
15
+ last: Lawrence
16
+ username: mlaw10
17
+ login_count: 8077
18
+ phone_numbers:
19
+ - type: home
20
+ number: 999-888-7777
21
+ - id: 3
22
+ first: Will
23
+ last: Ferrell
24
+ username: will.ferrell
25
+ login_count: 190890
26
+ phone_numbers:
27
+
28
+ template:
29
+ title: User List
30
+ children:
31
+ - type: Banner
32
+ details: "555 N. Michigan Ave.\nChicago, IL 62626\n555-555-5555 ext. 55555"
33
+ image: logo
34
+ image_width: 60
35
+ image_height: 48
36
+ title: Some Random System
37
+ - type: Spacer
38
+ - type: Header
39
+ value: User List
40
+ - type: Separator
41
+ - type: Text
42
+ value: The following is a list of users
43
+ - type: Spacer
44
+ - type: DataTable
45
+ property: users
46
+ aggregators:
47
+ - property: login_count
48
+ function: sum
49
+ name: login_count_sum
50
+ - property: login_count
51
+ function: ave
52
+ name: login_count_ave
53
+ columns:
54
+ - header: ID Number
55
+ body: $id
56
+ footer: Login Count Ave.
57
+ width: 20
58
+ - header: First Name
59
+ body: $first
60
+ footer: $login_count_ave
61
+ width: 20
62
+ - header: Last Name
63
+ body: $last
64
+ width: 20
65
+ - header: Username
66
+ body: $username
67
+ footer: Login Count Sum
68
+ width: 20
69
+ - header: Login Count
70
+ footer: $login_count_sum
71
+ body: $login_count
72
+ width: 20
73
+ - type: Grouping
74
+ property: users
75
+ children:
76
+ - type: Spacer
77
+ - type: Grouping
78
+ children:
79
+ - type: Header
80
+ value: 'User Details'
81
+ - type: Separator
82
+ - type: Pane
83
+ columns:
84
+ - label_width: 25.0
85
+ lines:
86
+ - label: ID Number
87
+ value: $id
88
+ - label: First Name
89
+ value: $first
90
+ - label: Last Name
91
+ value: $last
92
+ - type: Spacer
93
+ - type: Header
94
+ value: Phone Numbers
95
+ - type: DataTable
96
+ property: phone_numbers
97
+ empty_message: No phone numbers.
98
+ columns:
99
+ - header: Type
100
+ body: $type
101
+ - header: Number
102
+ body: $number
103
+ - type: Spacer