quby-compiler 0.2.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 (107) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.gitlab-ci.yml +5 -0
  4. data/.rspec +3 -0
  5. data/.ruby-version +1 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Dockerfile +11 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +133 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +44 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +14 -0
  14. data/bin/rspec +29 -0
  15. data/bin/setup +8 -0
  16. data/config/locales/de.yml +58 -0
  17. data/config/locales/en.yml +57 -0
  18. data/config/locales/nl.yml +57 -0
  19. data/config/locales/rails-i18n/README.md +4 -0
  20. data/config/locales/rails-i18n/de.yml +223 -0
  21. data/config/locales/rails-i18n/en.yml +216 -0
  22. data/config/locales/rails-i18n/nl.yml +214 -0
  23. data/exe/quby-compile +56 -0
  24. data/lib/quby/array_attribute_valid_validator.rb +15 -0
  25. data/lib/quby/attribute_valid_validator.rb +14 -0
  26. data/lib/quby/compiler.rb +50 -0
  27. data/lib/quby/compiler/dsl.rb +29 -0
  28. data/lib/quby/compiler/dsl/base.rb +20 -0
  29. data/lib/quby/compiler/dsl/calls_custom_methods.rb +29 -0
  30. data/lib/quby/compiler/dsl/charting/bar_chart_builder.rb +14 -0
  31. data/lib/quby/compiler/dsl/charting/chart_builder.rb +95 -0
  32. data/lib/quby/compiler/dsl/charting/line_chart_builder.rb +34 -0
  33. data/lib/quby/compiler/dsl/charting/overview_chart_builder.rb +31 -0
  34. data/lib/quby/compiler/dsl/charting/radar_chart_builder.rb +14 -0
  35. data/lib/quby/compiler/dsl/helpers.rb +53 -0
  36. data/lib/quby/compiler/dsl/panel_builder.rb +80 -0
  37. data/lib/quby/compiler/dsl/question_builder.rb +40 -0
  38. data/lib/quby/compiler/dsl/questionnaire_builder.rb +279 -0
  39. data/lib/quby/compiler/dsl/questions/base.rb +180 -0
  40. data/lib/quby/compiler/dsl/questions/checkbox_question_builder.rb +20 -0
  41. data/lib/quby/compiler/dsl/questions/date_question_builder.rb +18 -0
  42. data/lib/quby/compiler/dsl/questions/deprecated_question_builder.rb +18 -0
  43. data/lib/quby/compiler/dsl/questions/float_question_builder.rb +21 -0
  44. data/lib/quby/compiler/dsl/questions/integer_question_builder.rb +21 -0
  45. data/lib/quby/compiler/dsl/questions/radio_question_builder.rb +20 -0
  46. data/lib/quby/compiler/dsl/questions/select_question_builder.rb +18 -0
  47. data/lib/quby/compiler/dsl/questions/string_question_builder.rb +20 -0
  48. data/lib/quby/compiler/dsl/questions/text_question_builder.rb +22 -0
  49. data/lib/quby/compiler/dsl/score_builder.rb +22 -0
  50. data/lib/quby/compiler/dsl/score_schema_builder.rb +53 -0
  51. data/lib/quby/compiler/dsl/standardized_panel_generators.rb +33 -0
  52. data/lib/quby/compiler/dsl/table_builder.rb +48 -0
  53. data/lib/quby/compiler/entities.rb +38 -0
  54. data/lib/quby/compiler/entities/charting/bar_chart.rb +17 -0
  55. data/lib/quby/compiler/entities/charting/chart.rb +101 -0
  56. data/lib/quby/compiler/entities/charting/charts.rb +42 -0
  57. data/lib/quby/compiler/entities/charting/line_chart.rb +38 -0
  58. data/lib/quby/compiler/entities/charting/overview_chart.rb +20 -0
  59. data/lib/quby/compiler/entities/charting/plottable.rb +20 -0
  60. data/lib/quby/compiler/entities/charting/radar_chart.rb +17 -0
  61. data/lib/quby/compiler/entities/definition.rb +26 -0
  62. data/lib/quby/compiler/entities/fields.rb +119 -0
  63. data/lib/quby/compiler/entities/flag.rb +55 -0
  64. data/lib/quby/compiler/entities/item.rb +40 -0
  65. data/lib/quby/compiler/entities/lookup_tables.rb +71 -0
  66. data/lib/quby/compiler/entities/outcome_table.rb +31 -0
  67. data/lib/quby/compiler/entities/panel.rb +82 -0
  68. data/lib/quby/compiler/entities/question.rb +365 -0
  69. data/lib/quby/compiler/entities/question_option.rb +96 -0
  70. data/lib/quby/compiler/entities/questionnaire.rb +440 -0
  71. data/lib/quby/compiler/entities/questions/checkbox_question.rb +82 -0
  72. data/lib/quby/compiler/entities/questions/date_question.rb +84 -0
  73. data/lib/quby/compiler/entities/questions/deprecated_question.rb +19 -0
  74. data/lib/quby/compiler/entities/questions/float_question.rb +15 -0
  75. data/lib/quby/compiler/entities/questions/integer_question.rb +15 -0
  76. data/lib/quby/compiler/entities/questions/radio_question.rb +19 -0
  77. data/lib/quby/compiler/entities/questions/select_question.rb +19 -0
  78. data/lib/quby/compiler/entities/questions/string_question.rb +15 -0
  79. data/lib/quby/compiler/entities/questions/text_question.rb +15 -0
  80. data/lib/quby/compiler/entities/score_calculation.rb +35 -0
  81. data/lib/quby/compiler/entities/score_schema.rb +25 -0
  82. data/lib/quby/compiler/entities/subscore_schema.rb +23 -0
  83. data/lib/quby/compiler/entities/table.rb +143 -0
  84. data/lib/quby/compiler/entities/text.rb +71 -0
  85. data/lib/quby/compiler/entities/textvar.rb +23 -0
  86. data/lib/quby/compiler/entities/validation.rb +17 -0
  87. data/lib/quby/compiler/entities/version.rb +23 -0
  88. data/lib/quby/compiler/entities/visibility_rule.rb +71 -0
  89. data/lib/quby/compiler/instance.rb +72 -0
  90. data/lib/quby/compiler/output.rb +13 -0
  91. data/lib/quby/compiler/outputs.rb +4 -0
  92. data/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb +362 -0
  93. data/lib/quby/compiler/outputs/quby_frontend_v2_serializer.rb +15 -0
  94. data/lib/quby/compiler/outputs/roqua_serializer.rb +108 -0
  95. data/lib/quby/compiler/outputs/seed_serializer.rb +34 -0
  96. data/lib/quby/compiler/services/definition_validator.rb +330 -0
  97. data/lib/quby/compiler/services/quby_proxy.rb +405 -0
  98. data/lib/quby/compiler/services/seed_diff.rb +116 -0
  99. data/lib/quby/compiler/services/text_transformation.rb +30 -0
  100. data/lib/quby/compiler/version.rb +5 -0
  101. data/lib/quby/markdown_parser.rb +38 -0
  102. data/lib/quby/range_categories.rb +38 -0
  103. data/lib/quby/settings.rb +86 -0
  104. data/lib/quby/text_transformation.rb +26 -0
  105. data/lib/quby/type_validator.rb +12 -0
  106. data/quby-compiler.gemspec +39 -0
  107. metadata +277 -0
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Quby
4
+ module Compiler
5
+ module Services
6
+ module TextTransformation
7
+ # Modal pop up window link: ~~url~~link_body~~
8
+ LINK_URL_REGEX = /\~\~(?<url>.+?)\~\~(?<link_content>.+?)\~\~/
9
+
10
+ # Textvars: Replace {{var_name}} with <span class='textvar' textvar='var_name'></span>
11
+ TEXT_VAR_REGEX = /\{\{(?<text_var>.+?)\}\}/
12
+
13
+ # to eventually replace maruku_extensions.rb
14
+ # this helper transforms ~~ links and {{text vars}} into html
15
+ def transform_special_text(text)
16
+ text.gsub(LINK_URL_REGEX) { link_html($~[:url], $~[:link_content]) }
17
+ .gsub(TEXT_VAR_REGEX) { textvar_html($~[:text_var]) }
18
+ end
19
+
20
+ def link_html(url, link_content)
21
+ "<a href='#' onclick='modalFrame(\"#{url}\");'>#{link_content}</a>"
22
+ end
23
+
24
+ def textvar_html(var_name)
25
+ "<span class='textvar' textvar='#{var_name}'>{{#{var_name}}}</span>"
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ module Quby
2
+ module Compiler
3
+ VERSION = "0.2.1"
4
+ end
5
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'redcarpet'
4
+
5
+ require 'quby/compiler/services/text_transformation'
6
+
7
+ module Quby
8
+ class MarkdownParser
9
+ include Quby::Compiler::Services::TextTransformation
10
+
11
+ EXTENTIONS = {
12
+ no_intra_emphasis: true
13
+ }.freeze
14
+
15
+ def initialize(source)
16
+ @source = source || ""
17
+ end
18
+
19
+ def to_html
20
+ rc_html = parser.render(@source).strip
21
+ transform_special_text(rc_html)
22
+ end
23
+
24
+ def html_safe
25
+ to_html.html_safe
26
+ end
27
+
28
+ private
29
+
30
+ def parser
31
+ @@parser ||= Redcarpet::Markdown.new(HTMLWithPants.new, EXTENTIONS)
32
+ end
33
+ end
34
+
35
+ class HTMLWithPants < Redcarpet::Render::HTML
36
+ include Redcarpet::Render::SmartyPants
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Quby
4
+ class RangeCategories
5
+ def initialize(*range_categories)
6
+ if range_categories.length.even? || range_categories.length < 3
7
+ fail "RangeCategories should be of the form (0, 'label 0-10', 10, 'label 10-20', 20)"
8
+ end
9
+
10
+ @range_hash = {}
11
+ parse_ranges(range_categories)
12
+ end
13
+
14
+ def as_range_hash
15
+ @range_hash.freeze
16
+ end
17
+
18
+ private
19
+
20
+ def parse_ranges(range_categories)
21
+ a = range_categories.dup
22
+ while a.length > 1
23
+ from = a.shift.to_f
24
+ label = a.shift
25
+ to = a.first.to_f
26
+ add_range(from, label, to, inclusive: a.length == 1)
27
+ end
28
+ end
29
+
30
+ def add_range(from, label, to, inclusive:)
31
+ if inclusive
32
+ @range_hash[from..to] = label
33
+ else
34
+ @range_hash[from...to] = label
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Quby
4
+ class Settings
5
+ def self.require_score_schemas
6
+ @require_score_schemas
7
+ end
8
+
9
+ def self.require_score_schemas=(value)
10
+ @require_score_schemas = value
11
+ end
12
+
13
+ def self.api_allowed_ip_ranges
14
+ @api_allowed_ip_ranges || ["10.0.0.0/8"]
15
+ end
16
+
17
+ def self.api_allowed_ip_ranges=(value)
18
+ @api_allowed_ip_ranges = value
19
+ end
20
+
21
+ def self.shared_secret
22
+ @shared_secret
23
+ end
24
+
25
+ def self.shared_secret=(value)
26
+ @shared_secret = value
27
+ end
28
+
29
+ def self.previous_shared_secret
30
+ @previous_shared_secret
31
+ end
32
+
33
+ def self.previous_shared_secret=(value)
34
+ @previous_shared_secret = value
35
+ end
36
+
37
+ def self.enforce_questionnaire_key_format
38
+ if @enforce_questionnaire_key_format.nil?
39
+ true
40
+ else
41
+ @enforce_questionnaire_key_format
42
+ end
43
+ end
44
+
45
+ def self.enforce_questionnaire_key_format=(value)
46
+ @enforce_questionnaire_key_format = value
47
+ end
48
+
49
+ def self.enable_leave_page_alert
50
+ if @enable_leave_page_alert.nil?
51
+ true
52
+ else
53
+ @enable_leave_page_alert
54
+ end
55
+ end
56
+
57
+ def self.enable_leave_page_alert=(value)
58
+ @enable_leave_page_alert = value
59
+ end
60
+
61
+ # Authorization protocols
62
+ def self.authorize_with_hmac
63
+ if @authorize_with_hmac.nil?
64
+ true
65
+ else
66
+ @authorize_with_hmac
67
+ end
68
+ end
69
+
70
+ def self.authorize_with_hmac=(value)
71
+ @authorize_with_hmac = value
72
+ end
73
+
74
+ def self.authorize_with_id_from_session
75
+ if @authorize_with_id_from_session.nil?
76
+ true
77
+ else
78
+ @authorize_with_id_from_session
79
+ end
80
+ end
81
+
82
+ def self.authorize_with_id_from_session=(value)
83
+ @authorize_with_id_from_session = value
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Quby
4
+ module TextTransformation
5
+ # Modal pop up window link: ~~url~~link_body~~
6
+ LINK_URL_REGEX = /\~\~(?<url>.+?)\~\~(?<link_content>.+?)\~\~/
7
+
8
+ # Textvars: Replace {{var_name}} with <span class='textvar' textvar='var_name'></span>
9
+ TEXT_VAR_REGEX = /\{\{(?<text_var>.+?)\}\}/
10
+
11
+ # to eventually replace maruku_extensions.rb
12
+ # this helper transforms ~~ links and {{text vars}} into html
13
+ def transform_special_text(text)
14
+ text.gsub(LINK_URL_REGEX) { link_html($~[:url], $~[:link_content]) }
15
+ .gsub(TEXT_VAR_REGEX) { textvar_html($~[:text_var]) }
16
+ end
17
+
18
+ def link_html(url, link_content)
19
+ "<a href='#' onclick='modalFrame(\"#{url}\");'>#{link_content}</a>"
20
+ end
21
+
22
+ def textvar_html(var_name)
23
+ "<span class='textvar' textvar='#{var_name}'>{{#{var_name}}}</span>"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,12 @@
1
+ require 'active_model'
2
+
3
+ # validates :key, 'quby/type': {is_a: Symbol}
4
+ module Quby
5
+ class TypeValidator < ActiveModel::EachValidator
6
+ def validate_each(record, attribute, value)
7
+ return if value.is_a? options[:is_a]
8
+
9
+ record.errors.add(attribute, "Is not of type #{options[:is_a]}")
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,39 @@
1
+ require_relative 'lib/quby/compiler/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "quby-compiler"
5
+ spec.version = Quby::Compiler::VERSION
6
+ spec.authors = ["Marten Veldthuis"]
7
+ spec.email = ["marten@veldthuis.com"]
8
+
9
+ spec.summary = %q{Quby::Compiler compiles a DSL for questionnaires to JSON}
10
+ #spec.description = %q{TODO: Write a longer description or delete this line.}
11
+ spec.homepage = "https://gitlab.roqua.nl/roqua/quby-compiler"
12
+ spec.license = "MIT"
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
14
+
15
+ #spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
16
+
17
+ spec.metadata["homepage_uri"] = spec.homepage
18
+ #spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
19
+ #spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
20
+
21
+ # Specify which files should be added to the gem when it is released.
22
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
+ end
26
+ spec.bindir = "exe"
27
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ["lib"]
29
+
30
+ spec.add_dependency "activemodel", ">= 5.0"
31
+ spec.add_dependency "actionview", ">= 5.0"
32
+ spec.add_dependency "activesupport", ">= 5.0"
33
+ spec.add_dependency 'dry-struct', '>= 1.3.0'
34
+ spec.add_dependency 'nokogiri', '>= 1.8'
35
+ spec.add_dependency 'nokogumbo'
36
+ spec.add_dependency "redcarpet", '~> 3.5'
37
+ spec.add_dependency "method_source"
38
+ spec.add_dependency "roqua-support"
39
+ end
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: quby-compiler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Marten Veldthuis
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: actionview
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-struct
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '1.8'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '1.8'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogumbo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: redcarpet
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.5'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.5'
111
+ - !ruby/object:Gem::Dependency
112
+ name: method_source
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: roqua-support
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description:
140
+ email:
141
+ - marten@veldthuis.com
142
+ executables:
143
+ - quby-compile
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - ".gitignore"
148
+ - ".gitlab-ci.yml"
149
+ - ".rspec"
150
+ - ".ruby-version"
151
+ - CODE_OF_CONDUCT.md
152
+ - Dockerfile
153
+ - Gemfile
154
+ - Gemfile.lock
155
+ - LICENSE.txt
156
+ - README.md
157
+ - Rakefile
158
+ - bin/console
159
+ - bin/rspec
160
+ - bin/setup
161
+ - config/locales/de.yml
162
+ - config/locales/en.yml
163
+ - config/locales/nl.yml
164
+ - config/locales/rails-i18n/README.md
165
+ - config/locales/rails-i18n/de.yml
166
+ - config/locales/rails-i18n/en.yml
167
+ - config/locales/rails-i18n/nl.yml
168
+ - exe/quby-compile
169
+ - lib/quby/.DS_Store
170
+ - lib/quby/array_attribute_valid_validator.rb
171
+ - lib/quby/attribute_valid_validator.rb
172
+ - lib/quby/compiler.rb
173
+ - lib/quby/compiler/dsl.rb
174
+ - lib/quby/compiler/dsl/base.rb
175
+ - lib/quby/compiler/dsl/calls_custom_methods.rb
176
+ - lib/quby/compiler/dsl/charting/bar_chart_builder.rb
177
+ - lib/quby/compiler/dsl/charting/chart_builder.rb
178
+ - lib/quby/compiler/dsl/charting/line_chart_builder.rb
179
+ - lib/quby/compiler/dsl/charting/overview_chart_builder.rb
180
+ - lib/quby/compiler/dsl/charting/radar_chart_builder.rb
181
+ - lib/quby/compiler/dsl/helpers.rb
182
+ - lib/quby/compiler/dsl/panel_builder.rb
183
+ - lib/quby/compiler/dsl/question_builder.rb
184
+ - lib/quby/compiler/dsl/questionnaire_builder.rb
185
+ - lib/quby/compiler/dsl/questions/base.rb
186
+ - lib/quby/compiler/dsl/questions/checkbox_question_builder.rb
187
+ - lib/quby/compiler/dsl/questions/date_question_builder.rb
188
+ - lib/quby/compiler/dsl/questions/deprecated_question_builder.rb
189
+ - lib/quby/compiler/dsl/questions/float_question_builder.rb
190
+ - lib/quby/compiler/dsl/questions/integer_question_builder.rb
191
+ - lib/quby/compiler/dsl/questions/radio_question_builder.rb
192
+ - lib/quby/compiler/dsl/questions/select_question_builder.rb
193
+ - lib/quby/compiler/dsl/questions/string_question_builder.rb
194
+ - lib/quby/compiler/dsl/questions/text_question_builder.rb
195
+ - lib/quby/compiler/dsl/score_builder.rb
196
+ - lib/quby/compiler/dsl/score_schema_builder.rb
197
+ - lib/quby/compiler/dsl/standardized_panel_generators.rb
198
+ - lib/quby/compiler/dsl/table_builder.rb
199
+ - lib/quby/compiler/entities.rb
200
+ - lib/quby/compiler/entities/charting/bar_chart.rb
201
+ - lib/quby/compiler/entities/charting/chart.rb
202
+ - lib/quby/compiler/entities/charting/charts.rb
203
+ - lib/quby/compiler/entities/charting/line_chart.rb
204
+ - lib/quby/compiler/entities/charting/overview_chart.rb
205
+ - lib/quby/compiler/entities/charting/plottable.rb
206
+ - lib/quby/compiler/entities/charting/radar_chart.rb
207
+ - lib/quby/compiler/entities/definition.rb
208
+ - lib/quby/compiler/entities/fields.rb
209
+ - lib/quby/compiler/entities/flag.rb
210
+ - lib/quby/compiler/entities/item.rb
211
+ - lib/quby/compiler/entities/lookup_tables.rb
212
+ - lib/quby/compiler/entities/outcome_table.rb
213
+ - lib/quby/compiler/entities/panel.rb
214
+ - lib/quby/compiler/entities/question.rb
215
+ - lib/quby/compiler/entities/question_option.rb
216
+ - lib/quby/compiler/entities/questionnaire.rb
217
+ - lib/quby/compiler/entities/questions/checkbox_question.rb
218
+ - lib/quby/compiler/entities/questions/date_question.rb
219
+ - lib/quby/compiler/entities/questions/deprecated_question.rb
220
+ - lib/quby/compiler/entities/questions/float_question.rb
221
+ - lib/quby/compiler/entities/questions/integer_question.rb
222
+ - lib/quby/compiler/entities/questions/radio_question.rb
223
+ - lib/quby/compiler/entities/questions/select_question.rb
224
+ - lib/quby/compiler/entities/questions/string_question.rb
225
+ - lib/quby/compiler/entities/questions/text_question.rb
226
+ - lib/quby/compiler/entities/score_calculation.rb
227
+ - lib/quby/compiler/entities/score_schema.rb
228
+ - lib/quby/compiler/entities/subscore_schema.rb
229
+ - lib/quby/compiler/entities/table.rb
230
+ - lib/quby/compiler/entities/text.rb
231
+ - lib/quby/compiler/entities/textvar.rb
232
+ - lib/quby/compiler/entities/validation.rb
233
+ - lib/quby/compiler/entities/version.rb
234
+ - lib/quby/compiler/entities/visibility_rule.rb
235
+ - lib/quby/compiler/instance.rb
236
+ - lib/quby/compiler/output.rb
237
+ - lib/quby/compiler/outputs.rb
238
+ - lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb
239
+ - lib/quby/compiler/outputs/quby_frontend_v2_serializer.rb
240
+ - lib/quby/compiler/outputs/roqua_serializer.rb
241
+ - lib/quby/compiler/outputs/seed_serializer.rb
242
+ - lib/quby/compiler/services/definition_validator.rb
243
+ - lib/quby/compiler/services/quby_proxy.rb
244
+ - lib/quby/compiler/services/seed_diff.rb
245
+ - lib/quby/compiler/services/text_transformation.rb
246
+ - lib/quby/compiler/version.rb
247
+ - lib/quby/markdown_parser.rb
248
+ - lib/quby/range_categories.rb
249
+ - lib/quby/settings.rb
250
+ - lib/quby/text_transformation.rb
251
+ - lib/quby/type_validator.rb
252
+ - quby-compiler.gemspec
253
+ homepage: https://gitlab.roqua.nl/roqua/quby-compiler
254
+ licenses:
255
+ - MIT
256
+ metadata:
257
+ homepage_uri: https://gitlab.roqua.nl/roqua/quby-compiler
258
+ post_install_message:
259
+ rdoc_options: []
260
+ require_paths:
261
+ - lib
262
+ required_ruby_version: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ version: 2.3.0
267
+ required_rubygems_version: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ requirements: []
273
+ rubygems_version: 3.1.2
274
+ signing_key:
275
+ specification_version: 4
276
+ summary: Quby::Compiler compiles a DSL for questionnaires to JSON
277
+ test_files: []