panko_serializer 0.8.4 → 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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -6
  3. data/lib/panko/array_serializer.rb +55 -16
  4. data/lib/panko/code_gen/active_record/access_classifier.rb +65 -0
  5. data/lib/panko/code_gen/active_record/define_attribute_methods.rb +13 -0
  6. data/lib/panko/code_gen/code_builder.rb +32 -0
  7. data/lib/panko/code_gen/compile_cache.rb +28 -0
  8. data/lib/panko/code_gen/compiler.rb +56 -0
  9. data/lib/panko/code_gen/config.rb +79 -0
  10. data/lib/panko/code_gen/datetime_format.rb +38 -0
  11. data/lib/panko/code_gen/descriptor.rb +136 -0
  12. data/lib/panko/code_gen/descriptor_builder.rb +166 -0
  13. data/lib/panko/code_gen/dump.rb +52 -0
  14. data/lib/panko/code_gen/errors.rb +21 -0
  15. data/lib/panko/code_gen/filter.rb +29 -0
  16. data/lib/panko/code_gen/filter_adapter.rb +44 -0
  17. data/lib/panko/code_gen/filters/indexed.rb +62 -0
  18. data/lib/panko/code_gen/filters/none.rb +19 -0
  19. data/lib/panko/code_gen/generator.rb +23 -0
  20. data/lib/panko/code_gen/generators/banner.rb +27 -0
  21. data/lib/panko/code_gen/generators/class_emitter.rb +120 -0
  22. data/lib/panko/code_gen/generators/cycle_membership.rb +53 -0
  23. data/lib/panko/code_gen/generators/descriptor_walk.rb +22 -0
  24. data/lib/panko/code_gen/generators/fanout.rb +60 -0
  25. data/lib/panko/code_gen/generators/field_index.rb +31 -0
  26. data/lib/panko/code_gen/generators/field_walk.rb +38 -0
  27. data/lib/panko/code_gen/generators/generated_names.rb +73 -0
  28. data/lib/panko/code_gen/generators/hash_sink.rb +217 -0
  29. data/lib/panko/code_gen/generators/json_sink.rb +290 -0
  30. data/lib/panko/code_gen/generators/record_access/generic.rb +92 -0
  31. data/lib/panko/code_gen/generators/record_access/specialized.rb +90 -0
  32. data/lib/panko/code_gen/generators/release.rb +60 -0
  33. data/lib/panko/code_gen/generators/sink.rb +80 -0
  34. data/lib/panko/code_gen/instance_pool.rb +27 -0
  35. data/lib/panko/code_gen/runtime.rb +27 -0
  36. data/lib/panko/code_gen/serializer_cache.rb +242 -0
  37. data/lib/panko/code_gen/validators/callable_arity.rb +42 -0
  38. data/lib/panko/code_gen/validators/name_uniqueness.rb +44 -0
  39. data/lib/panko/code_gen/validators/source_resolution.rb +48 -0
  40. data/lib/panko/code_gen/validators/validator.rb +19 -0
  41. data/lib/panko/code_gen/writers_pool.rb +51 -0
  42. data/lib/panko/code_gen.rb +82 -0
  43. data/lib/panko/compile_all.rb +80 -0
  44. data/lib/panko/compile_all_result.rb +21 -0
  45. data/lib/panko/config.rb +71 -0
  46. data/lib/panko/descriptor.rb +93 -0
  47. data/lib/panko/response.rb +40 -8
  48. data/lib/panko/serializer.rb +175 -91
  49. data/lib/panko/serializer_resolver.rb +2 -8
  50. data/lib/panko/version.rb +1 -1
  51. data/lib/panko_serializer.rb +3 -5
  52. metadata +49 -99
  53. data/.clang-format +0 -3
  54. data/.github/dependabot.yml +0 -6
  55. data/.github/workflows/database_matrix.yml +0 -85
  56. data/.github/workflows/docs.yml +0 -39
  57. data/.github/workflows/lint.yml +0 -30
  58. data/.github/workflows/tests.yml +0 -34
  59. data/.gitignore +0 -20
  60. data/.rspec +0 -2
  61. data/.rubocop.yml +0 -37
  62. data/Appraisals +0 -28
  63. data/Gemfile +0 -37
  64. data/Rakefile +0 -93
  65. data/benchmarks/BENCHMARKS.md +0 -48
  66. data/benchmarks/allocs.rb +0 -23
  67. data/benchmarks/app.rb +0 -11
  68. data/benchmarks/benchmarking_support.rb +0 -44
  69. data/benchmarks/bm_ams_0_10.rb +0 -43
  70. data/benchmarks/bm_object_writer.rb +0 -65
  71. data/benchmarks/bm_panko_json.rb +0 -60
  72. data/benchmarks/bm_panko_object.rb +0 -46
  73. data/benchmarks/bm_plain_object.rb +0 -99
  74. data/benchmarks/bm_serialization_descriptor.rb +0 -76
  75. data/benchmarks/bm_serializer_resolver.rb +0 -22
  76. data/benchmarks/bm_to_object.rb +0 -81
  77. data/benchmarks/profile.rb +0 -86
  78. data/benchmarks/sanity.rb +0 -83
  79. data/benchmarks/setup.rb +0 -56
  80. data/benchmarks/type_casts/bm_active_record.rb +0 -58
  81. data/benchmarks/type_casts/bm_panko.rb +0 -65
  82. data/benchmarks/type_casts/support.rb +0 -27
  83. data/docs/docs/associations.md +0 -107
  84. data/docs/docs/attributes.md +0 -150
  85. data/docs/docs/design-choices.md +0 -127
  86. data/docs/docs/getting-started.md +0 -70
  87. data/docs/docs/introduction.md +0 -13
  88. data/docs/docs/performance.md +0 -32
  89. data/docs/docs/response-bag.md +0 -83
  90. data/docs/docusaurus.config.js +0 -86
  91. data/docs/package-lock.json +0 -17872
  92. data/docs/package.json +0 -18
  93. data/docs/sidebars.json +0 -15
  94. data/docs/src/css/customTheme.css +0 -9
  95. data/docs/static/.DS_Store +0 -0
  96. data/docs/static/CNAME +0 -1
  97. data/docs/static/css/custom.css +0 -51
  98. data/docs/static/img/favicon.ico +0 -0
  99. data/docs/static/img/oss_logo.png +0 -0
  100. data/docs/static/img/undraw_code_review.svg +0 -1
  101. data/docs/static/img/undraw_monitor.svg +0 -1
  102. data/docs/static/img/undraw_note_list.svg +0 -1
  103. data/docs/static/img/undraw_online.svg +0 -1
  104. data/docs/static/img/undraw_open_source.svg +0 -1
  105. data/docs/static/img/undraw_operating_system.svg +0 -1
  106. data/docs/static/img/undraw_react.svg +0 -1
  107. data/docs/static/img/undraw_tweetstorm.svg +0 -1
  108. data/docs/static/img/undraw_youtube_tutorial.svg +0 -1
  109. data/docs/static/index.html +0 -14
  110. data/ext/panko_serializer/attributes_writer/active_record.c +0 -181
  111. data/ext/panko_serializer/attributes_writer/active_record.h +0 -17
  112. data/ext/panko_serializer/attributes_writer/attributes_writer.c +0 -55
  113. data/ext/panko_serializer/attributes_writer/attributes_writer.h +0 -35
  114. data/ext/panko_serializer/attributes_writer/common.c +0 -10
  115. data/ext/panko_serializer/attributes_writer/common.h +0 -9
  116. data/ext/panko_serializer/attributes_writer/hash.c +0 -13
  117. data/ext/panko_serializer/attributes_writer/hash.h +0 -7
  118. data/ext/panko_serializer/attributes_writer/plain.c +0 -13
  119. data/ext/panko_serializer/attributes_writer/plain.h +0 -7
  120. data/ext/panko_serializer/attributes_writer/type_cast/time_conversion.c +0 -156
  121. data/ext/panko_serializer/attributes_writer/type_cast/time_conversion.h +0 -10
  122. data/ext/panko_serializer/attributes_writer/type_cast/type_cast.c +0 -398
  123. data/ext/panko_serializer/attributes_writer/type_cast/type_cast.h +0 -81
  124. data/ext/panko_serializer/common.h +0 -9
  125. data/ext/panko_serializer/extconf.rb +0 -28
  126. data/ext/panko_serializer/panko_serializer.c +0 -181
  127. data/ext/panko_serializer/panko_serializer.h +0 -12
  128. data/ext/panko_serializer/serialization_descriptor/association.c +0 -90
  129. data/ext/panko_serializer/serialization_descriptor/association.h +0 -20
  130. data/ext/panko_serializer/serialization_descriptor/attribute.c +0 -96
  131. data/ext/panko_serializer/serialization_descriptor/attribute.h +0 -27
  132. data/ext/panko_serializer/serialization_descriptor/serialization_descriptor.c +0 -177
  133. data/ext/panko_serializer/serialization_descriptor/serialization_descriptor.h +0 -30
  134. data/gemfiles/7.2.0.gemfile +0 -41
  135. data/gemfiles/7.2.0.gemfile.lock +0 -221
  136. data/gemfiles/8.0.0.gemfile +0 -41
  137. data/gemfiles/8.0.0.gemfile.lock +0 -239
  138. data/gemfiles/8.1.0.gemfile +0 -41
  139. data/gemfiles/8.1.0.gemfile.lock +0 -248
  140. data/lib/panko/association.rb +0 -17
  141. data/lib/panko/attribute.rb +0 -29
  142. data/lib/panko/object_writer.rb +0 -68
  143. data/lib/panko/serialization_descriptor.rb +0 -180
  144. data/panko_serializer.gemspec +0 -36
@@ -1,41 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "~> 8.0.0"
6
- gem "activemodel", "~> 8.0.0"
7
- gem "activerecord", "~> 8.0.0", group: :test
8
- gem "trilogy"
9
- gem "sqlite3", ">= 2.1"
10
-
11
- group :benchmarks do
12
- gem "vernier"
13
- gem "stackprof"
14
- gem "pg"
15
- gem "benchmark-ips"
16
- gem "active_model_serializers", "~> 0.10"
17
- gem "terminal-table"
18
- gem "memory_profiler"
19
- end
20
-
21
- group :test do
22
- gem "faker"
23
- gem "temping"
24
- end
25
-
26
- group :development do
27
- gem "byebug"
28
- gem "rake"
29
- gem "rspec", "~> 3.0"
30
- gem "rake-compiler"
31
- end
32
-
33
- group :development, :test do
34
- gem "rubocop"
35
- gem "standard"
36
- gem "standard-performance"
37
- gem "rubocop-performance"
38
- gem "rubocop-rspec"
39
- end
40
-
41
- gemspec path: "../"
@@ -1,239 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- panko_serializer (0.8.3)
5
- activesupport
6
- oj (> 3.11.0, < 4.0.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (8.0.4)
12
- actionview (= 8.0.4)
13
- activesupport (= 8.0.4)
14
- nokogiri (>= 1.8.5)
15
- rack (>= 2.2.4)
16
- rack-session (>= 1.0.1)
17
- rack-test (>= 0.6.3)
18
- rails-dom-testing (~> 2.2)
19
- rails-html-sanitizer (~> 1.6)
20
- useragent (~> 0.16)
21
- actionview (8.0.4)
22
- activesupport (= 8.0.4)
23
- builder (~> 3.1)
24
- erubi (~> 1.11)
25
- rails-dom-testing (~> 2.2)
26
- rails-html-sanitizer (~> 1.6)
27
- active_model_serializers (0.10.15)
28
- actionpack (>= 4.1)
29
- activemodel (>= 4.1)
30
- case_transform (>= 0.2)
31
- jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
32
- activemodel (8.0.4)
33
- activesupport (= 8.0.4)
34
- activerecord (8.0.4)
35
- activemodel (= 8.0.4)
36
- activesupport (= 8.0.4)
37
- timeout (>= 0.4.0)
38
- activesupport (8.0.4)
39
- base64
40
- benchmark (>= 0.3)
41
- bigdecimal
42
- concurrent-ruby (~> 1.0, >= 1.3.1)
43
- connection_pool (>= 2.2.5)
44
- drb
45
- i18n (>= 1.6, < 2)
46
- logger (>= 1.4.2)
47
- minitest (>= 5.1)
48
- securerandom (>= 0.3)
49
- tzinfo (~> 2.0, >= 2.0.5)
50
- uri (>= 0.13.1)
51
- appraisal (2.5.0)
52
- bundler
53
- rake
54
- thor (>= 0.14.0)
55
- ast (2.4.3)
56
- base64 (0.3.0)
57
- benchmark (0.5.0)
58
- benchmark-ips (2.14.0)
59
- bigdecimal (3.3.1)
60
- builder (3.3.0)
61
- byebug (12.0.0)
62
- case_transform (0.2)
63
- activesupport
64
- concurrent-ruby (1.3.5)
65
- connection_pool (2.5.4)
66
- crass (1.0.6)
67
- diff-lcs (1.6.2)
68
- drb (2.2.3)
69
- erubi (1.13.1)
70
- faker (3.5.2)
71
- i18n (>= 1.8.11, < 2)
72
- i18n (1.14.7)
73
- concurrent-ruby (~> 1.0)
74
- json (2.13.2)
75
- jsonapi-renderer (0.2.2)
76
- language_server-protocol (3.17.0.5)
77
- lint_roller (1.1.0)
78
- logger (1.7.0)
79
- loofah (2.24.1)
80
- crass (~> 1.0.2)
81
- nokogiri (>= 1.12.0)
82
- memory_profiler (1.1.0)
83
- mini_portile2 (2.8.9)
84
- minitest (5.26.2)
85
- nokogiri (1.18.9)
86
- mini_portile2 (~> 2.8.2)
87
- racc (~> 1.4)
88
- nokogiri (1.18.9-aarch64-linux-gnu)
89
- racc (~> 1.4)
90
- nokogiri (1.18.9-arm-linux-gnu)
91
- racc (~> 1.4)
92
- nokogiri (1.18.9-arm64-darwin)
93
- racc (~> 1.4)
94
- nokogiri (1.18.9-x86_64-darwin)
95
- racc (~> 1.4)
96
- nokogiri (1.18.9-x86_64-linux-gnu)
97
- racc (~> 1.4)
98
- oj (3.16.11)
99
- bigdecimal (>= 3.0)
100
- ostruct (>= 0.2)
101
- ostruct (0.6.3)
102
- parallel (1.27.0)
103
- parser (3.3.9.0)
104
- ast (~> 2.4.1)
105
- racc
106
- pg (1.6.1)
107
- pg (1.6.1-aarch64-linux)
108
- pg (1.6.1-arm64-darwin)
109
- pg (1.6.1-x86_64-darwin)
110
- pg (1.6.1-x86_64-linux)
111
- prism (1.4.0)
112
- racc (1.8.1)
113
- rack (3.2.0)
114
- rack-session (2.1.1)
115
- base64 (>= 0.1.0)
116
- rack (>= 3.0.0)
117
- rack-test (2.2.0)
118
- rack (>= 1.3)
119
- rails-dom-testing (2.3.0)
120
- activesupport (>= 5.0.0)
121
- minitest
122
- nokogiri (>= 1.6)
123
- rails-html-sanitizer (1.6.2)
124
- loofah (~> 2.21)
125
- nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
126
- rainbow (3.1.1)
127
- rake (13.3.0)
128
- rake-compiler (1.3.0)
129
- rake
130
- regexp_parser (2.11.2)
131
- rspec (3.13.1)
132
- rspec-core (~> 3.13.0)
133
- rspec-expectations (~> 3.13.0)
134
- rspec-mocks (~> 3.13.0)
135
- rspec-core (3.13.5)
136
- rspec-support (~> 3.13.0)
137
- rspec-expectations (3.13.5)
138
- diff-lcs (>= 1.2.0, < 2.0)
139
- rspec-support (~> 3.13.0)
140
- rspec-mocks (3.13.5)
141
- diff-lcs (>= 1.2.0, < 2.0)
142
- rspec-support (~> 3.13.0)
143
- rspec-support (3.13.5)
144
- rubocop (1.75.8)
145
- json (~> 2.3)
146
- language_server-protocol (~> 3.17.0.2)
147
- lint_roller (~> 1.1.0)
148
- parallel (~> 1.10)
149
- parser (>= 3.3.0.2)
150
- rainbow (>= 2.2.2, < 4.0)
151
- regexp_parser (>= 2.9.3, < 3.0)
152
- rubocop-ast (>= 1.44.0, < 2.0)
153
- ruby-progressbar (~> 1.7)
154
- unicode-display_width (>= 2.4.0, < 4.0)
155
- rubocop-ast (1.46.0)
156
- parser (>= 3.3.7.2)
157
- prism (~> 1.4)
158
- rubocop-performance (1.25.0)
159
- lint_roller (~> 1.1)
160
- rubocop (>= 1.75.0, < 2.0)
161
- rubocop-ast (>= 1.38.0, < 2.0)
162
- rubocop-rspec (3.6.0)
163
- lint_roller (~> 1.1)
164
- rubocop (~> 1.72, >= 1.72.1)
165
- ruby-progressbar (1.13.0)
166
- securerandom (0.4.1)
167
- sqlite3 (2.7.3-aarch64-linux-gnu)
168
- sqlite3 (2.7.3-arm-linux-gnu)
169
- sqlite3 (2.7.3-arm64-darwin)
170
- sqlite3 (2.7.3-x86-linux-gnu)
171
- sqlite3 (2.7.3-x86_64-darwin)
172
- sqlite3 (2.7.3-x86_64-linux-gnu)
173
- stackprof (0.2.27)
174
- standard (1.50.0)
175
- language_server-protocol (~> 3.17.0.2)
176
- lint_roller (~> 1.0)
177
- rubocop (~> 1.75.5)
178
- standard-custom (~> 1.0.0)
179
- standard-performance (~> 1.8)
180
- standard-custom (1.0.2)
181
- lint_roller (~> 1.0)
182
- rubocop (~> 1.50)
183
- standard-performance (1.8.0)
184
- lint_roller (~> 1.1)
185
- rubocop-performance (~> 1.25.0)
186
- temping (4.3.0)
187
- activerecord (>= 6.0, < 8.1)
188
- activesupport (>= 6.0, < 8.1)
189
- terminal-table (4.0.0)
190
- unicode-display_width (>= 1.1.1, < 4)
191
- thor (1.4.0)
192
- timeout (0.4.4)
193
- trilogy (2.9.0)
194
- tzinfo (2.0.6)
195
- concurrent-ruby (~> 1.0)
196
- unicode-display_width (3.1.5)
197
- unicode-emoji (~> 4.0, >= 4.0.4)
198
- unicode-emoji (4.0.4)
199
- uri (1.1.1)
200
- useragent (0.16.11)
201
- vernier (1.8.0)
202
-
203
- PLATFORMS
204
- aarch64-linux
205
- arm-linux
206
- arm64-darwin
207
- x86-linux
208
- x86_64-darwin
209
- x86_64-linux
210
-
211
- DEPENDENCIES
212
- active_model_serializers (~> 0.10)
213
- activemodel (~> 8.0.0)
214
- activerecord (~> 8.0.0)
215
- activesupport (~> 8.0.0)
216
- appraisal
217
- benchmark-ips
218
- byebug
219
- faker
220
- memory_profiler
221
- panko_serializer!
222
- pg
223
- rake
224
- rake-compiler
225
- rspec (~> 3.0)
226
- rubocop
227
- rubocop-performance
228
- rubocop-rspec
229
- sqlite3 (>= 2.1)
230
- stackprof
231
- standard
232
- standard-performance
233
- temping
234
- terminal-table
235
- trilogy
236
- vernier
237
-
238
- BUNDLED WITH
239
- 2.7.2
@@ -1,41 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "~> 8.1.0"
6
- gem "activemodel", "~> 8.1.0"
7
- gem "activerecord", "~> 8.1.0", group: :test
8
- gem "trilogy"
9
- gem "sqlite3", ">= 2.1"
10
-
11
- group :benchmarks do
12
- gem "vernier"
13
- gem "stackprof"
14
- gem "pg"
15
- gem "benchmark-ips"
16
- gem "active_model_serializers", "~> 0.10"
17
- gem "terminal-table"
18
- gem "memory_profiler"
19
- end
20
-
21
- group :test do
22
- gem "faker"
23
- gem "temping"
24
- end
25
-
26
- group :development do
27
- gem "byebug"
28
- gem "rake"
29
- gem "rspec", "~> 3.0"
30
- gem "rake-compiler"
31
- end
32
-
33
- group :development, :test do
34
- gem "rubocop"
35
- gem "standard"
36
- gem "standard-performance"
37
- gem "rubocop-performance"
38
- gem "rubocop-rspec"
39
- end
40
-
41
- gemspec path: "../"
@@ -1,248 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- panko_serializer (0.8.3)
5
- activesupport
6
- oj (> 3.11.0, < 4.0.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (8.1.1)
12
- actionview (= 8.1.1)
13
- activesupport (= 8.1.1)
14
- nokogiri (>= 1.8.5)
15
- rack (>= 2.2.4)
16
- rack-session (>= 1.0.1)
17
- rack-test (>= 0.6.3)
18
- rails-dom-testing (~> 2.2)
19
- rails-html-sanitizer (~> 1.6)
20
- useragent (~> 0.16)
21
- actionview (8.1.1)
22
- activesupport (= 8.1.1)
23
- builder (~> 3.1)
24
- erubi (~> 1.11)
25
- rails-dom-testing (~> 2.2)
26
- rails-html-sanitizer (~> 1.6)
27
- active_model_serializers (0.10.15)
28
- actionpack (>= 4.1)
29
- activemodel (>= 4.1)
30
- case_transform (>= 0.2)
31
- jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
32
- activemodel (8.1.1)
33
- activesupport (= 8.1.1)
34
- activerecord (8.1.1)
35
- activemodel (= 8.1.1)
36
- activesupport (= 8.1.1)
37
- timeout (>= 0.4.0)
38
- activesupport (8.1.1)
39
- base64
40
- bigdecimal
41
- concurrent-ruby (~> 1.0, >= 1.3.1)
42
- connection_pool (>= 2.2.5)
43
- drb
44
- i18n (>= 1.6, < 2)
45
- json
46
- logger (>= 1.4.2)
47
- minitest (>= 5.1)
48
- securerandom (>= 0.3)
49
- tzinfo (~> 2.0, >= 2.0.5)
50
- uri (>= 0.13.1)
51
- appraisal (2.5.0)
52
- bundler
53
- rake
54
- thor (>= 0.14.0)
55
- ast (2.4.3)
56
- base64 (0.3.0)
57
- benchmark-ips (2.14.0)
58
- bigdecimal (3.3.1)
59
- builder (3.3.0)
60
- byebug (12.0.0)
61
- case_transform (0.2)
62
- activesupport
63
- concurrent-ruby (1.3.5)
64
- connection_pool (2.5.4)
65
- crass (1.0.6)
66
- diff-lcs (1.6.2)
67
- drb (2.2.3)
68
- erubi (1.13.1)
69
- faker (3.5.2)
70
- i18n (>= 1.8.11, < 2)
71
- i18n (1.14.7)
72
- concurrent-ruby (~> 1.0)
73
- json (2.16.0)
74
- jsonapi-renderer (0.2.2)
75
- language_server-protocol (3.17.0.5)
76
- lint_roller (1.1.0)
77
- logger (1.7.0)
78
- loofah (2.24.1)
79
- crass (~> 1.0.2)
80
- nokogiri (>= 1.12.0)
81
- memory_profiler (1.1.0)
82
- minitest (5.26.2)
83
- nokogiri (1.18.10-aarch64-linux-gnu)
84
- racc (~> 1.4)
85
- nokogiri (1.18.10-aarch64-linux-musl)
86
- racc (~> 1.4)
87
- nokogiri (1.18.10-arm-linux-gnu)
88
- racc (~> 1.4)
89
- nokogiri (1.18.10-arm-linux-musl)
90
- racc (~> 1.4)
91
- nokogiri (1.18.10-arm64-darwin)
92
- racc (~> 1.4)
93
- nokogiri (1.18.10-x86_64-darwin)
94
- racc (~> 1.4)
95
- nokogiri (1.18.10-x86_64-linux-gnu)
96
- racc (~> 1.4)
97
- nokogiri (1.18.10-x86_64-linux-musl)
98
- racc (~> 1.4)
99
- oj (3.16.12)
100
- bigdecimal (>= 3.0)
101
- ostruct (>= 0.2)
102
- ostruct (0.6.3)
103
- parallel (1.27.0)
104
- parser (3.3.10.0)
105
- ast (~> 2.4.1)
106
- racc
107
- pg (1.6.2)
108
- pg (1.6.2-aarch64-linux)
109
- pg (1.6.2-aarch64-linux-musl)
110
- pg (1.6.2-arm64-darwin)
111
- pg (1.6.2-x86_64-darwin)
112
- pg (1.6.2-x86_64-linux)
113
- pg (1.6.2-x86_64-linux-musl)
114
- prism (1.6.0)
115
- racc (1.8.1)
116
- rack (3.2.4)
117
- rack-session (2.1.1)
118
- base64 (>= 0.1.0)
119
- rack (>= 3.0.0)
120
- rack-test (2.2.0)
121
- rack (>= 1.3)
122
- rails-dom-testing (2.3.0)
123
- activesupport (>= 5.0.0)
124
- minitest
125
- nokogiri (>= 1.6)
126
- rails-html-sanitizer (1.6.2)
127
- loofah (~> 2.21)
128
- nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
129
- rainbow (3.1.1)
130
- rake (13.3.1)
131
- rake-compiler (1.3.0)
132
- rake
133
- regexp_parser (2.11.3)
134
- rspec (3.13.2)
135
- rspec-core (~> 3.13.0)
136
- rspec-expectations (~> 3.13.0)
137
- rspec-mocks (~> 3.13.0)
138
- rspec-core (3.13.6)
139
- rspec-support (~> 3.13.0)
140
- rspec-expectations (3.13.5)
141
- diff-lcs (>= 1.2.0, < 2.0)
142
- rspec-support (~> 3.13.0)
143
- rspec-mocks (3.13.7)
144
- diff-lcs (>= 1.2.0, < 2.0)
145
- rspec-support (~> 3.13.0)
146
- rspec-support (3.13.6)
147
- rubocop (1.81.7)
148
- json (~> 2.3)
149
- language_server-protocol (~> 3.17.0.2)
150
- lint_roller (~> 1.1.0)
151
- parallel (~> 1.10)
152
- parser (>= 3.3.0.2)
153
- rainbow (>= 2.2.2, < 4.0)
154
- regexp_parser (>= 2.9.3, < 3.0)
155
- rubocop-ast (>= 1.47.1, < 2.0)
156
- ruby-progressbar (~> 1.7)
157
- unicode-display_width (>= 2.4.0, < 4.0)
158
- rubocop-ast (1.48.0)
159
- parser (>= 3.3.7.2)
160
- prism (~> 1.4)
161
- rubocop-performance (1.25.0)
162
- lint_roller (~> 1.1)
163
- rubocop (>= 1.75.0, < 2.0)
164
- rubocop-ast (>= 1.38.0, < 2.0)
165
- rubocop-rspec (3.8.0)
166
- lint_roller (~> 1.1)
167
- rubocop (~> 1.81)
168
- ruby-progressbar (1.13.0)
169
- securerandom (0.4.1)
170
- sqlite3 (2.8.0-aarch64-linux-gnu)
171
- sqlite3 (2.8.0-aarch64-linux-musl)
172
- sqlite3 (2.8.0-arm-linux-gnu)
173
- sqlite3 (2.8.0-arm-linux-musl)
174
- sqlite3 (2.8.0-arm64-darwin)
175
- sqlite3 (2.8.0-x86_64-darwin)
176
- sqlite3 (2.8.0-x86_64-linux-gnu)
177
- sqlite3 (2.8.0-x86_64-linux-musl)
178
- stackprof (0.2.27)
179
- standard (1.52.0)
180
- language_server-protocol (~> 3.17.0.2)
181
- lint_roller (~> 1.0)
182
- rubocop (~> 1.81.7)
183
- standard-custom (~> 1.0.0)
184
- standard-performance (~> 1.8)
185
- standard-custom (1.0.2)
186
- lint_roller (~> 1.0)
187
- rubocop (~> 1.50)
188
- standard-performance (1.8.0)
189
- lint_roller (~> 1.1)
190
- rubocop-performance (~> 1.25.0)
191
- temping (4.4.0)
192
- activerecord (>= 6.0, < 8.2)
193
- activesupport (>= 6.0, < 8.2)
194
- terminal-table (4.0.0)
195
- unicode-display_width (>= 1.1.1, < 4)
196
- thor (1.4.0)
197
- timeout (0.4.4)
198
- trilogy (2.9.0)
199
- tzinfo (2.0.6)
200
- concurrent-ruby (~> 1.0)
201
- unicode-display_width (3.2.0)
202
- unicode-emoji (~> 4.1)
203
- unicode-emoji (4.1.0)
204
- uri (1.1.1)
205
- useragent (0.16.11)
206
- vernier (1.8.1)
207
-
208
- PLATFORMS
209
- aarch64-linux
210
- aarch64-linux-gnu
211
- aarch64-linux-musl
212
- arm-linux-gnu
213
- arm-linux-musl
214
- arm64-darwin
215
- x86_64-darwin
216
- x86_64-linux
217
- x86_64-linux-gnu
218
- x86_64-linux-musl
219
-
220
- DEPENDENCIES
221
- active_model_serializers (~> 0.10)
222
- activemodel (~> 8.1.0)
223
- activerecord (~> 8.1.0)
224
- activesupport (~> 8.1.0)
225
- appraisal
226
- benchmark-ips
227
- byebug
228
- faker
229
- memory_profiler
230
- panko_serializer!
231
- pg
232
- rake
233
- rake-compiler
234
- rspec (~> 3.0)
235
- rubocop
236
- rubocop-performance
237
- rubocop-rspec
238
- sqlite3 (>= 2.1)
239
- stackprof
240
- standard
241
- standard-performance
242
- temping
243
- terminal-table
244
- trilogy
245
- vernier
246
-
247
- BUNDLED WITH
248
- 2.7.2
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Panko
4
- class Association
5
- def duplicate
6
- Panko::Association.new(
7
- name_sym,
8
- name_str,
9
- Panko::SerializationDescriptor.duplicate(descriptor)
10
- )
11
- end
12
-
13
- def inspect
14
- "<Panko::Association name=#{name_str.inspect}>"
15
- end
16
- end
17
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Panko
4
- class Attribute
5
- def self.create(name, alias_name: nil)
6
- alias_name = alias_name.to_s unless alias_name.nil?
7
- Attribute.new(name.to_s, alias_name)
8
- end
9
-
10
- def ==(other)
11
- return name.to_sym == other if other.is_a? Symbol
12
- return name == other.name && alias_name == other.alias_name if other.is_a? Panko::Attribute
13
-
14
- super
15
- end
16
-
17
- def hash
18
- name.to_sym.hash
19
- end
20
-
21
- def eql?(other)
22
- self.==(other)
23
- end
24
-
25
- def inspect
26
- "<Panko::Attribute name=#{name.inspect} alias_name=#{alias_name.inspect}>"
27
- end
28
- end
29
- end
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Panko::ObjectWriter
4
- def initialize
5
- @values = []
6
- @keys = []
7
-
8
- @next_key = nil
9
- @output = nil
10
- end
11
-
12
- def push_object(key = nil)
13
- @values << {}
14
- @keys << key
15
- end
16
-
17
- def push_array(key = nil)
18
- @values << []
19
- @keys << key
20
- end
21
-
22
- def push_key(key)
23
- @next_key = key
24
- end
25
-
26
- def push_value(value, key = nil)
27
- unless @next_key.nil?
28
- raise "push_value is called with key after push_key is called" unless key.nil?
29
- key = @next_key
30
- @next_key = nil
31
- end
32
-
33
- @values.last[key] = value.as_json
34
- end
35
-
36
- def push_json(value, key = nil)
37
- if value.is_a?(String)
38
- value = begin
39
- Oj.load(value)
40
- rescue
41
- nil
42
- end
43
- end
44
-
45
- push_value(value, key)
46
- end
47
-
48
- def pop
49
- result = @values.pop
50
-
51
- if @values.empty?
52
- @output = result
53
- return
54
- end
55
-
56
- scope_key = @keys.pop
57
- if scope_key.nil?
58
- @values.last << result
59
- else
60
- @values.last[scope_key] = result
61
- end
62
- end
63
-
64
- def output
65
- raise "Output is called before poping all" unless @values.empty?
66
- @output
67
- end
68
- end