konstruo 1.0.0

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 (126) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.tool-versions +1 -0
  5. data/CHANGELOG.md +21 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +35 -0
  8. data/Rakefile +10 -0
  9. data/lib/konstruo/mapper.rb +120 -0
  10. data/lib/konstruo/version.rb +6 -0
  11. data/lib/konstruo.rb +18 -0
  12. data/sorbet/config +4 -0
  13. data/sorbet/rbi/annotations/.gitattributes +1 -0
  14. data/sorbet/rbi/annotations/actionmailer.rbi +10 -0
  15. data/sorbet/rbi/annotations/actionpack.rbi +430 -0
  16. data/sorbet/rbi/annotations/actionview.rbi +75 -0
  17. data/sorbet/rbi/annotations/activejob.rbi +44 -0
  18. data/sorbet/rbi/annotations/activemodel.rbi +89 -0
  19. data/sorbet/rbi/annotations/activerecord.rbi +92 -0
  20. data/sorbet/rbi/annotations/activesupport.rbi +454 -0
  21. data/sorbet/rbi/annotations/globalid.rbi +30 -0
  22. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  23. data/sorbet/rbi/annotations/railties.rbi +61 -0
  24. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  25. data/sorbet/rbi/dsl/.gitattributes +1 -0
  26. data/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  27. data/sorbet/rbi/gems/.gitattributes +1 -0
  28. data/sorbet/rbi/gems/actioncable@7.2.1.rbi +3096 -0
  29. data/sorbet/rbi/gems/actionmailbox@7.2.1.rbi +1832 -0
  30. data/sorbet/rbi/gems/actionmailer@7.2.1.rbi +2664 -0
  31. data/sorbet/rbi/gems/actionpack@7.2.1.rbi +20536 -0
  32. data/sorbet/rbi/gems/actiontext@7.2.1.rbi +1697 -0
  33. data/sorbet/rbi/gems/actionview@7.2.1.rbi +15752 -0
  34. data/sorbet/rbi/gems/activejob@7.2.1.rbi +2828 -0
  35. data/sorbet/rbi/gems/activemodel@7.2.1.rbi +6762 -0
  36. data/sorbet/rbi/gems/activerecord@7.2.1.rbi +41433 -0
  37. data/sorbet/rbi/gems/activestorage@7.2.1.rbi +3247 -0
  38. data/sorbet/rbi/gems/activesupport@7.2.1.rbi +21142 -0
  39. data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
  40. data/sorbet/rbi/gems/base64@0.2.0.rbi +509 -0
  41. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +78 -0
  42. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  43. data/sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi +11645 -0
  44. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +9 -0
  45. data/sorbet/rbi/gems/crass@1.0.6.rbi +623 -0
  46. data/sorbet/rbi/gems/dashbrains-rubocop-config@1.0.4.rbi +9 -0
  47. data/sorbet/rbi/gems/date@3.3.4.rbi +75 -0
  48. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
  49. data/sorbet/rbi/gems/drb@2.2.1.rbi +1347 -0
  50. data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
  51. data/sorbet/rbi/gems/globalid@1.2.1.rbi +749 -0
  52. data/sorbet/rbi/gems/i18n@1.14.5.rbi +2359 -0
  53. data/sorbet/rbi/gems/io-console@0.7.2.rbi +9 -0
  54. data/sorbet/rbi/gems/json@2.7.2.rbi +1562 -0
  55. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  56. data/sorbet/rbi/gems/logger@1.6.1.rbi +920 -0
  57. data/sorbet/rbi/gems/loofah@2.22.0.rbi +1081 -0
  58. data/sorbet/rbi/gems/mail@2.8.1.rbi +8658 -0
  59. data/sorbet/rbi/gems/marcel@1.0.4.rbi +239 -0
  60. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +173 -0
  61. data/sorbet/rbi/gems/minitest@5.25.1.rbi +1546 -0
  62. data/sorbet/rbi/gems/net-imap@0.4.16.rbi +10845 -0
  63. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +927 -0
  64. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +292 -0
  65. data/sorbet/rbi/gems/net-smtp@0.5.0.rbi +1228 -0
  66. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  67. data/sorbet/rbi/gems/nio4r@2.7.3.rbi +293 -0
  68. data/sorbet/rbi/gems/nokogiri@1.16.7.rbi +7311 -0
  69. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  70. data/sorbet/rbi/gems/parser@3.3.5.0.rbi +5519 -0
  71. data/sorbet/rbi/gems/prism@1.0.0.rbi +35493 -0
  72. data/sorbet/rbi/gems/psych@5.1.2.rbi +1769 -0
  73. data/sorbet/rbi/gems/racc@1.8.1.rbi +162 -0
  74. data/sorbet/rbi/gems/rack-session@2.0.0.rbi +727 -0
  75. data/sorbet/rbi/gems/rack-test@2.1.0.rbi +747 -0
  76. data/sorbet/rbi/gems/rack@3.1.7.rbi +4902 -0
  77. data/sorbet/rbi/gems/rackup@2.1.0.rbi +390 -0
  78. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +758 -0
  79. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.0.rbi +785 -0
  80. data/sorbet/rbi/gems/rails@7.2.1.rbi +9 -0
  81. data/sorbet/rbi/gems/railties@7.2.1.rbi +3824 -0
  82. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  83. data/sorbet/rbi/gems/rake@13.2.1.rbi +3046 -0
  84. data/sorbet/rbi/gems/rbi@0.2.0.rbi +4105 -0
  85. data/sorbet/rbi/gems/rdoc@6.7.0.rbi +12721 -0
  86. data/sorbet/rbi/gems/regexp_parser@2.9.2.rbi +3772 -0
  87. data/sorbet/rbi/gems/reline@0.5.10.rbi +9 -0
  88. data/sorbet/rbi/gems/rspec-core@3.13.1.rbi +11012 -0
  89. data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
  90. data/sorbet/rbi/gems/rspec-mocks@3.13.1.rbi +5341 -0
  91. data/sorbet/rbi/gems/rspec-support@3.13.1.rbi +1630 -0
  92. data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
  93. data/sorbet/rbi/gems/rubocop-ast@1.32.3.rbi +7446 -0
  94. data/sorbet/rbi/gems/rubocop-capybara@2.21.0.rbi +9 -0
  95. data/sorbet/rbi/gems/rubocop-factory_bot@2.26.1.rbi +9 -0
  96. data/sorbet/rbi/gems/rubocop-graphql@1.5.4.rbi +9 -0
  97. data/sorbet/rbi/gems/rubocop-minitest@0.36.0.rbi +9 -0
  98. data/sorbet/rbi/gems/rubocop-performance@1.21.1.rbi +9 -0
  99. data/sorbet/rbi/gems/rubocop-rails@2.26.1.rbi +9 -0
  100. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +329 -0
  101. data/sorbet/rbi/gems/rubocop-rspec@3.0.5.rbi +9 -0
  102. data/sorbet/rbi/gems/rubocop-rspec_rails@2.30.0.rbi +9 -0
  103. data/sorbet/rbi/gems/rubocop-sorbet@0.8.5.rbi +9 -0
  104. data/sorbet/rbi/gems/rubocop@1.66.1.rbi +58268 -0
  105. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  106. data/sorbet/rbi/gems/securerandom@0.3.1.rbi +396 -0
  107. data/sorbet/rbi/gems/spoom@1.4.2.rbi +4932 -0
  108. data/sorbet/rbi/gems/stringio@3.1.1.rbi +9 -0
  109. data/sorbet/rbi/gems/tapioca@0.16.2.rbi +3581 -0
  110. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  111. data/sorbet/rbi/gems/timeout@0.4.1.rbi +149 -0
  112. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  113. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +66 -0
  114. data/sorbet/rbi/gems/useragent@0.16.10.rbi +9 -0
  115. data/sorbet/rbi/gems/webrick@1.8.1.rbi +2607 -0
  116. data/sorbet/rbi/gems/websocket-driver@0.7.6.rbi +993 -0
  117. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +121 -0
  118. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  119. data/sorbet/rbi/gems/yard@0.9.37.rbi +18570 -0
  120. data/sorbet/rbi/gems/zeitwerk@2.6.18.rbi +1051 -0
  121. data/sorbet/rbi/todo.rbi +6 -0
  122. data/sorbet/tapioca/config.yml +13 -0
  123. data/sorbet/tapioca/require.rb +9 -0
  124. data/tasks/bundle_update.rake +14 -0
  125. data/tasks/sorbet.rake +26 -0
  126. metadata +216 -0
@@ -0,0 +1,150 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `erubi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem erubi`.
6
+
7
+
8
+ # source://erubi//lib/erubi.rb#3
9
+ module Erubi
10
+ private
11
+
12
+ def h(_arg0); end
13
+
14
+ class << self
15
+ def h(_arg0); end
16
+ end
17
+ end
18
+
19
+ # source://erubi//lib/erubi.rb#51
20
+ class Erubi::Engine
21
+ # Initialize a new Erubi::Engine. Options:
22
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
23
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
24
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
25
+ # performance, but can cause issues when the buffer variable is reassigned during
26
+ # template rendering (default +false+).
27
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
28
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
29
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
30
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
31
+ # +:filename+ :: The filename for the template.
32
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
33
+ # source code in other code, because the magic comment only has an effect at the beginning of
34
+ # the file, and having the magic comment later in the file can trigger warnings.
35
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
36
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
37
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
38
+ # in order to improve performance.
39
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
40
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
41
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
42
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
43
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
44
+ # +:regexp+ :: The regexp to use for scanning.
45
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
46
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
47
+ #
48
+ # @return [Engine] a new instance of Engine
49
+ #
50
+ # source://erubi//lib/erubi.rb#91
51
+ def initialize(input, properties = T.unsafe(nil)); end
52
+
53
+ # The variable name used for the buffer variable.
54
+ #
55
+ # source://erubi//lib/erubi.rb#62
56
+ def bufvar; end
57
+
58
+ # The filename of the template, if one was given.
59
+ #
60
+ # source://erubi//lib/erubi.rb#59
61
+ def filename; end
62
+
63
+ # The frozen ruby source code generated from the template, which can be evaled.
64
+ #
65
+ # source://erubi//lib/erubi.rb#56
66
+ def src; end
67
+
68
+ private
69
+
70
+ # Add ruby code to the template
71
+ #
72
+ # source://erubi//lib/erubi.rb#223
73
+ def add_code(code); end
74
+
75
+ # Add the given ruby expression result to the template,
76
+ # escaping it based on the indicator given and escape flag.
77
+ #
78
+ # source://erubi//lib/erubi.rb#232
79
+ def add_expression(indicator, code); end
80
+
81
+ # Add the result of Ruby expression to the template
82
+ #
83
+ # source://erubi//lib/erubi.rb#241
84
+ def add_expression_result(code); end
85
+
86
+ # Add the escaped result of Ruby expression to the template
87
+ #
88
+ # source://erubi//lib/erubi.rb#246
89
+ def add_expression_result_escaped(code); end
90
+
91
+ # Add the given postamble to the src. Can be overridden in subclasses
92
+ # to make additional changes to src that depend on the current state.
93
+ #
94
+ # source://erubi//lib/erubi.rb#252
95
+ def add_postamble(postamble); end
96
+
97
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
98
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
99
+ #
100
+ # source://erubi//lib/erubi.rb#210
101
+ def add_text(text); end
102
+
103
+ # Raise an exception, as the base engine class does not support handling other indicators.
104
+ #
105
+ # @raise [ArgumentError]
106
+ #
107
+ # source://erubi//lib/erubi.rb#258
108
+ def handle(indicator, code, tailch, rspace, lspace); end
109
+
110
+ # Make sure that any current expression has been terminated.
111
+ # The default is to terminate all expressions, but when
112
+ # the chain_appends option is used, expressions may not be
113
+ # terminated.
114
+ #
115
+ # source://erubi//lib/erubi.rb#286
116
+ def terminate_expression; end
117
+
118
+ # Make sure the buffer variable is the target of the next append
119
+ # before yielding to the block. Mark that the buffer is the target
120
+ # of the next append after the block executes.
121
+ #
122
+ # This method should only be called if the block will result in
123
+ # code where << will append to the bufvar.
124
+ #
125
+ # source://erubi//lib/erubi.rb#268
126
+ def with_buffer; end
127
+ end
128
+
129
+ # The default regular expression used for scanning.
130
+ #
131
+ # source://erubi//lib/erubi.rb#53
132
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
133
+
134
+ # source://erubi//lib/erubi.rb#17
135
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
136
+
137
+ # source://erubi//lib/erubi.rb#15
138
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
139
+
140
+ # source://erubi//lib/erubi.rb#8
141
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
142
+
143
+ # source://erubi//lib/erubi.rb#9
144
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
145
+
146
+ # source://erubi//lib/erubi.rb#16
147
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
148
+
149
+ # source://erubi//lib/erubi.rb#4
150
+ Erubi::VERSION = T.let(T.unsafe(nil), String)