cyberweb 0.7.9 → 0.8.17
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.
Potentially problematic release.
This version of cyberweb might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +242 -141
- data/cyberweb.gemspec +6 -6
- data/doc/README.gen +242 -142
- data/doc/todo/todo_for_the_cyberweb_project.md +13 -0
- data/examples/advanced/animated_colourful_border/animated_colourful_border.cgi +149 -0
- data/examples/advanced/no_right_click.cgi +1 -2
- data/examples/css/changing_border_colours_animation/changing_border_colours_animation.html +134 -0
- data/examples/css/editable_boxes_example/editable_boxes_example.html +75 -0
- data/examples/css/flexbox_example/flexbox_example.html +39 -0
- data/examples/css/keyboard_example/keyboard_example.html +238 -0
- data/examples/css/magic_card/magic_card.html +110 -0
- data/examples/css/overflow_example/overflow_example.html +125 -0
- data/examples/css/planet_example/planet_example.html +34 -0
- data/examples/css/progress_bar_examples/progress_bar_examples.html +316 -0
- data/examples/css/single_row_glow/single_row_glow.html +91 -0
- data/examples/css/slinky_animation/slinky_animation.html +292 -0
- data/examples/html/hbox_and_vbox_example.html +5 -5
- data/examples/javascript_and_jquery/all_in_one_example/all_in_one_example.cgi +38 -0
- data/lib/cyberweb/base/misc.rb +63 -25
- data/lib/cyberweb/cascading_style_sheets/border.css +61 -24
- data/lib/cyberweb/cascading_style_sheets/colours.css +2 -0
- data/lib/cyberweb/cascading_style_sheets/default.css +102 -89
- data/lib/cyberweb/cascading_style_sheets/glow_effects.css +36 -0
- data/lib/cyberweb/cascading_style_sheets/margin.css +11 -7
- data/lib/cyberweb/cascading_style_sheets/misc.css +7 -0
- data/lib/cyberweb/cascading_style_sheets/text_shadow.css +6 -1
- data/lib/cyberweb/generator/cgi.rb +9 -1
- data/lib/cyberweb/html_template/html_template.rb +7 -2
- data/lib/cyberweb/javascript_code/custom_functions.js +33 -2
- data/lib/cyberweb/javascript_code/math.js +0 -0
- data/lib/cyberweb/objectified/html_tags/progress.rb +8 -8
- data/lib/cyberweb/skeleton/README.md +2 -0
- data/lib/cyberweb/skeleton/html_keyboard.md +140 -0
- data/lib/cyberweb/toplevel_methods/is_an_image.rb +18 -0
- data/lib/cyberweb/toplevel_methods/listing.rb +2 -3
- data/lib/cyberweb/toplevel_methods/misc.rb +1 -57
- data/lib/cyberweb/toplevel_methods/registered_ids.rb +53 -37
- data/lib/cyberweb/toplevel_methods/sort_this_array_by_time.rb +65 -0
- data/lib/cyberweb/toplevel_methods/video.rb +32 -19
- data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +78 -49
- data/lib/cyberweb/utility_scripts/remove_this_image_from_that_webpage.rb +125 -0
- data/lib/cyberweb/version/version.rb +2 -2
- data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +28 -8
- data/lib/cyberweb/web_object/effects.rb +19 -0
- data/lib/cyberweb/web_object/html_tags.rb +199 -196
- data/lib/cyberweb/web_object/images.rb +83 -26
- data/lib/cyberweb/web_object/misc.rb +1048 -529
- data/lib/cyberweb/web_object/reset.rb +47 -29
- data/lib/cyberweb/yaml/custom_tags.yml +2 -0
- metadata +52 -52
@@ -37,6 +37,45 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
37
37
|
# ======================================================================= #
|
38
38
|
@internal_hash = {}
|
39
39
|
# ======================================================================= #
|
40
|
+
# === :html_string
|
41
|
+
#
|
42
|
+
# This is the main String of this class. It should be defined very
|
43
|
+
# early, ideally soon after @internal_hash has been declared.
|
44
|
+
#
|
45
|
+
# All the HTML code, all CSS components and so forth will be stored
|
46
|
+
# into this String. It will become the String that is served to the
|
47
|
+
# visitor by the web_object, such as as the result of a .cgi page.
|
48
|
+
# ======================================================================= #
|
49
|
+
@internal_hash[:html_string] = ''.dup
|
50
|
+
# ======================================================================= #
|
51
|
+
# === :debug
|
52
|
+
# ======================================================================= #
|
53
|
+
@internal_hash[:debug] = ::Cyberweb.debug? # ← Must come before load_yaml_configuration().
|
54
|
+
# ======================================================================= #
|
55
|
+
# === The configuration dataset
|
56
|
+
#
|
57
|
+
# Load up the main configuration next. This should come before
|
58
|
+
# we call use_commandline_mode().
|
59
|
+
# ======================================================================= #
|
60
|
+
load_yaml_configuration
|
61
|
+
use_commandline_mode
|
62
|
+
# ======================================================================= #
|
63
|
+
# === :listing_counter
|
64
|
+
#
|
65
|
+
# Keep track of the listing counter. This will have an initial value
|
66
|
+
# of 0.
|
67
|
+
# ======================================================================= #
|
68
|
+
reset_the_listing_counter
|
69
|
+
# ======================================================================= #
|
70
|
+
# === :clickable_image
|
71
|
+
#
|
72
|
+
# This variable keeps track as to which clickable image is to be used.
|
73
|
+
#
|
74
|
+
# In this context, a "clickable image" means that an image will be
|
75
|
+
# shown that the user can click onto.
|
76
|
+
# ======================================================================= #
|
77
|
+
@internal_hash[:clickable_image] = :dot109
|
78
|
+
# ======================================================================= #
|
40
79
|
# === :main_CSS_rules
|
41
80
|
# ======================================================================= #
|
42
81
|
@internal_hash[:main_CSS_rules] = ''.dup
|
@@ -72,16 +111,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
72
111
|
# ======================================================================= #
|
73
112
|
@internal_hash[:body_content] = ''
|
74
113
|
# ======================================================================= #
|
75
|
-
# === :html_string
|
76
|
-
#
|
77
|
-
# This is the main String of this class.
|
78
|
-
#
|
79
|
-
# All the HTML code, all CSS components and so forth will be stored
|
80
|
-
# into this String. It will become the String that is served to the
|
81
|
-
# visitor by the web_object, such as as the result of a .cgi page.
|
82
|
-
# ======================================================================= #
|
83
|
-
@internal_hash[:html_string] = ''.dup
|
84
|
-
# ======================================================================= #
|
85
114
|
# === :save_into_this_html_page
|
86
115
|
# ======================================================================= #
|
87
116
|
@internal_hash[:save_into_this_html_page] = '/Depot/j/foobar.html'
|
@@ -100,10 +129,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
100
129
|
# ======================================================================= #
|
101
130
|
@internal_hash[:show_source] = false
|
102
131
|
# ======================================================================= #
|
103
|
-
# === :debug
|
104
|
-
# ======================================================================= #
|
105
|
-
@internal_hash[:debug] = ::Cyberweb.debug? # ← Must come before load_yaml_configuration().
|
106
|
-
# ======================================================================= #
|
107
132
|
# === :use_unicode
|
108
133
|
#
|
109
134
|
# Whether we want to make use of Unicode or not, in a given .cgi or
|
@@ -245,21 +270,6 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
245
270
|
# with the correct dataset.
|
246
271
|
# ======================================================================= #
|
247
272
|
set_proper_base_directory # Initial setup.
|
248
|
-
# ======================================================================= #
|
249
|
-
# === :listing_counter
|
250
|
-
#
|
251
|
-
# Keep track of the listing counter. This will have an initial value
|
252
|
-
# of 0.
|
253
|
-
# ======================================================================= #
|
254
|
-
reset_the_listing_counter
|
255
|
-
# ======================================================================= #
|
256
|
-
# === The configuration dataset
|
257
|
-
#
|
258
|
-
# Load up the main configuration next. This should come before
|
259
|
-
# we call use_commandline_mode().
|
260
|
-
# ======================================================================= #
|
261
|
-
load_yaml_configuration
|
262
|
-
use_commandline_mode
|
263
273
|
set_title
|
264
274
|
use_utf_encoding # Use ISO or UTF encoding. Current default is UTF.
|
265
275
|
# add_http_response_header
|
@@ -279,4 +289,12 @@ class WebObject < ::Cyberweb::Base # === Cyberweb::WebObject
|
|
279
289
|
determine_the_relative_path
|
280
290
|
end
|
281
291
|
|
292
|
+
# ========================================================================= #
|
293
|
+
# === reset_the_listing_counter
|
294
|
+
# ========================================================================= #
|
295
|
+
def reset_the_listing_counter
|
296
|
+
@internal_hash[:listing_counter] = 0
|
297
|
+
end; alias reset_counter reset_the_listing_counter # === reset_counter
|
298
|
+
alias reset_the_main_counter reset_the_listing_counter # === reset_the_main_counter
|
299
|
+
|
282
300
|
end; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cyberweb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert A. Heiler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colours
|
@@ -66,41 +66,22 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
I used the cyberweb project for many years to augment my
|
87
|
-
ruby-cgi scripts. For these basic needs the cyberweb projects
|
88
|
-
works fairly well. Since as of May 2021, sinatra is another
|
89
|
-
option in this regard, so the cyberweb project tries to adjust
|
90
|
-
to different use cases when necessary.
|
91
|
-
|
92
|
-
.cgi scripts are not that common to see in use past the year
|
93
|
-
2015. Nonetheless I still consider .cgi scripts to be extremely
|
94
|
-
SIMPLE to use.
|
95
|
-
|
96
|
-
If you need a framework that is more sophisticated then it is
|
97
|
-
recommended to look at sinatra and padrino instead.
|
98
|
-
|
99
|
-
For more information about the cyberweb project, please look at the
|
100
|
-
following link:
|
101
|
-
|
102
|
-
https://www.rubydoc.info/gems/cyberweb/
|
103
|
-
|
69
|
+
description: "\nCyberweb is a tool-set project for the www.\n\nThe project attempts
|
70
|
+
to explore different ideas, including use\ncases as an (incomplete) web \"framework\".
|
71
|
+
Thus, the project is\nof a somewhat large size as-is these days.\n\nAs a project,
|
72
|
+
cyberweb is quite far away from being feature-complete\nor reasonably finished -
|
73
|
+
consider the project to be more a\nproof-of-concept work at this point in time,
|
74
|
+
rather than something \nthat should be used in production.\n\nThe cyberweb project
|
75
|
+
in its present state is not fully documented,\nwhich is unfortunate - the documentation
|
76
|
+
will be subsequently\nimproved, until a 1.0 release will eventually be made available.\n\nI
|
77
|
+
used the cyberweb project for many years to augment my\nruby-cgi scripts. For these
|
78
|
+
basic needs the cyberweb projects\nworks fairly well. Since as of May 2021, sinatra
|
79
|
+
is another\noption in this regard, so the cyberweb project tries to adjust\nto different
|
80
|
+
use cases when necessary.\n\n.cgi scripts are not that commonly seen in use past
|
81
|
+
the year\n2015. Nonetheless I still consider .cgi scripts to be \nextremely SIMPLE
|
82
|
+
to use.\n\nIf you need a framework that is more sophisticated then it is\nrecommended
|
83
|
+
to look at sinatra and padrino instead.\n\nFor more information about the cyberweb
|
84
|
+
project, please look at the\nfollowing link:\n\n https://www.rubydoc.info/gems/cyberweb/\n\n"
|
104
85
|
email: shevy@inbox.lt
|
105
86
|
executables:
|
106
87
|
- cyberweb
|
@@ -127,6 +108,7 @@ files:
|
|
127
108
|
- doc/render_web_base.md
|
128
109
|
- doc/todo/todo_for_the_cyberweb_project.md
|
129
110
|
- examples/README.md
|
111
|
+
- examples/advanced/animated_colourful_border/animated_colourful_border.cgi
|
130
112
|
- examples/advanced/animated_css_example/animated_css_example.html
|
131
113
|
- examples/advanced/animated_submarine/animated_submarine.html
|
132
114
|
- examples/advanced/animated_windmill/animated_windmill.html
|
@@ -165,6 +147,7 @@ files:
|
|
165
147
|
- examples/css/border_image_example/border_image_example.html
|
166
148
|
- examples/css/box_shadow/box_shadow_example.html
|
167
149
|
- examples/css/caret_colour_example.html
|
150
|
+
- examples/css/changing_border_colours_animation/changing_border_colours_animation.html
|
168
151
|
- examples/css/christmas_snow_globe_animation.html
|
169
152
|
- examples/css/css_border_spacing_example.html
|
170
153
|
- examples/css/css_bubbles.html
|
@@ -183,9 +166,11 @@ files:
|
|
183
166
|
- examples/css/day_night_toggle/day_night_toggle.html
|
184
167
|
- examples/css/different_colour_on_selected_text/different_colour_on_selected_text.html
|
185
168
|
- examples/css/differentially_glowing_text_example/differentially_glowing_text_example.html
|
169
|
+
- examples/css/editable_boxes_example/editable_boxes_example.html
|
186
170
|
- examples/css/examples_with_borders/examples_with_borders.html
|
187
171
|
- examples/css/fade_in_and_fade_out_effect.html
|
188
172
|
- examples/css/fleeing_dinosaur_animation/fleeing_dinosaur_animation.html
|
173
|
+
- examples/css/flexbox_example/flexbox_example.html
|
189
174
|
- examples/css/flying_birds_example/flying_birds_example.html
|
190
175
|
- examples/css/folding_cards_example/folding_cards_example.html
|
191
176
|
- examples/css/font_size_examples.html
|
@@ -193,17 +178,22 @@ files:
|
|
193
178
|
- examples/css/grow_example.html
|
194
179
|
- examples/css/happy_toaster_example/happy_toaster_example.html
|
195
180
|
- examples/css/important_style/important_style.html
|
181
|
+
- examples/css/keyboard_example/keyboard_example.html
|
196
182
|
- examples/css/landing_on_mars_animation/landing_on_mars_animation.html
|
197
183
|
- examples/css/letter_spacing_example.cgi
|
198
184
|
- examples/css/lighthouse_example/lighthouse_example.html
|
185
|
+
- examples/css/magic_card/magic_card.html
|
199
186
|
- examples/css/meter_example/meter_example.html
|
200
187
|
- examples/css/motorcycle_on_the_go/motorcycle_on_the_go.html
|
201
188
|
- examples/css/on_hover_glow_effect/on_hover_glow_effect.html
|
202
189
|
- examples/css/on_mouse_button_pressed.html
|
203
190
|
- examples/css/our_solar_system/our_solar_system.html
|
204
191
|
- examples/css/outline/outline_versus_border_example.html
|
192
|
+
- examples/css/overflow_example/overflow_example.html
|
193
|
+
- examples/css/planet_example/planet_example.html
|
205
194
|
- examples/css/planets.html
|
206
195
|
- examples/css/polaroid_card_effect_example/polaroid_card_effect_example.html
|
196
|
+
- examples/css/progress_bar_examples/progress_bar_examples.html
|
207
197
|
- examples/css/responsive_image_gallery/responsive_image_gallery.html
|
208
198
|
- examples/css/rotating_DNA/rotating_DNA.html
|
209
199
|
- examples/css/rotating_sphere_example/rotating_sphere_example.html
|
@@ -211,7 +201,9 @@ files:
|
|
211
201
|
- examples/css/shadow_example_in_CSS/shadow_example_in_CSS.cgi
|
212
202
|
- examples/css/shaking_shapes_example.html
|
213
203
|
- examples/css/simple_stars_example/simple_stars_example.html
|
204
|
+
- examples/css/single_row_glow/single_row_glow.html
|
214
205
|
- examples/css/slide_checkbox_example/slide_checkbox_example.html
|
206
|
+
- examples/css/slinky_animation/slinky_animation.html
|
215
207
|
- examples/css/speak_bubble_quote_example/speak_bubble_quote_example.html
|
216
208
|
- examples/css/speedy_truck_example/speedy_truck_example.html
|
217
209
|
- examples/css/sticky_div_example/sticky_div_example.html
|
@@ -286,6 +278,7 @@ files:
|
|
286
278
|
- examples/html/test_mkv_codec/test_mkv_codec.html
|
287
279
|
- examples/html/two_columns_flex_example.html
|
288
280
|
- examples/javascript_and_jquery/README.md
|
281
|
+
- examples/javascript_and_jquery/all_in_one_example/all_in_one_example.cgi
|
289
282
|
- examples/javascript_and_jquery/arrays/arrays_example_in_javascript.html
|
290
283
|
- examples/javascript_and_jquery/autocomplete_on_an_input_field/autocomplete_on_an_input_field.html
|
291
284
|
- examples/javascript_and_jquery/change_the_background_colour_dynamically/change_the_background_colour_dynamically.html
|
@@ -644,6 +637,8 @@ files:
|
|
644
637
|
- lib/cyberweb/sinatra/base/set_use_this_port.rb
|
645
638
|
- lib/cyberweb/sinatra/base/use_this_port.rb
|
646
639
|
- lib/cyberweb/sinatra/custom_extensions.rb
|
640
|
+
- lib/cyberweb/skeleton/README.md
|
641
|
+
- lib/cyberweb/skeleton/html_keyboard.md
|
647
642
|
- lib/cyberweb/standalone_classes/all_css_classes.rb
|
648
643
|
- lib/cyberweb/standalone_classes/calculator.rb
|
649
644
|
- lib/cyberweb/standalone_classes/correct_image_entries_in_html_file.rb
|
@@ -710,6 +705,7 @@ files:
|
|
710
705
|
- lib/cyberweb/toplevel_methods/input.rb
|
711
706
|
- lib/cyberweb/toplevel_methods/internal_hash.rb
|
712
707
|
- lib/cyberweb/toplevel_methods/io.rb
|
708
|
+
- lib/cyberweb/toplevel_methods/is_an_image.rb
|
713
709
|
- lib/cyberweb/toplevel_methods/javascript.rb
|
714
710
|
- lib/cyberweb/toplevel_methods/jquery.rb
|
715
711
|
- lib/cyberweb/toplevel_methods/last_modified.rb
|
@@ -755,6 +751,7 @@ files:
|
|
755
751
|
- lib/cyberweb/toplevel_methods/show_and_display.rb
|
756
752
|
- lib/cyberweb/toplevel_methods/show_configuration.rb
|
757
753
|
- lib/cyberweb/toplevel_methods/sitemap.rb
|
754
|
+
- lib/cyberweb/toplevel_methods/sort_this_array_by_time.rb
|
758
755
|
- lib/cyberweb/toplevel_methods/spacer.rb
|
759
756
|
- lib/cyberweb/toplevel_methods/string_body_start.rb
|
760
757
|
- lib/cyberweb/toplevel_methods/string_content.rb
|
@@ -782,6 +779,7 @@ files:
|
|
782
779
|
- lib/cyberweb/utility_scripts/images_to_html/misc.rb
|
783
780
|
- lib/cyberweb/utility_scripts/new_tags.rb
|
784
781
|
- lib/cyberweb/utility_scripts/obtain_css_rules.rb
|
782
|
+
- lib/cyberweb/utility_scripts/remove_this_image_from_that_webpage.rb
|
785
783
|
- lib/cyberweb/utility_scripts/simple_index/README.md
|
786
784
|
- lib/cyberweb/utility_scripts/simple_index/simple_index.rb
|
787
785
|
- lib/cyberweb/version/version.rb
|
@@ -792,6 +790,7 @@ files:
|
|
792
790
|
- lib/cyberweb/web_images/map_symbol_to_image_location.rb
|
793
791
|
- lib/cyberweb/web_images/web_images.rb
|
794
792
|
- lib/cyberweb/web_object/display_output_and_report.rb
|
793
|
+
- lib/cyberweb/web_object/effects.rb
|
795
794
|
- lib/cyberweb/web_object/english.rb
|
796
795
|
- lib/cyberweb/web_object/favicon.rb
|
797
796
|
- lib/cyberweb/web_object/html_tags.rb
|
@@ -934,7 +933,7 @@ post_install_message: |2+
|
|
934
933
|
|
935
934
|
For more information, have a look at:
|
936
935
|
|
937
|
-
https://www.rubydoc.info/gems/cyberweb/0.
|
936
|
+
https://www.rubydoc.info/gems/cyberweb/0.8.17
|
938
937
|
|
939
938
|
rdoc_options: []
|
940
939
|
require_paths:
|
@@ -948,25 +947,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
948
947
|
requirements:
|
949
948
|
- - ">="
|
950
949
|
- !ruby/object:Gem::Version
|
951
|
-
version: 3.
|
950
|
+
version: 3.4.5
|
952
951
|
requirements: []
|
953
|
-
rubygems_version: 3.
|
952
|
+
rubygems_version: 3.4.5
|
954
953
|
signing_key:
|
955
954
|
specification_version: 4
|
956
955
|
summary: 'Cyberweb is a tool-set project for the www. The project attempts to explore
|
957
956
|
different ideas, including use cases as an (incomplete) web "framework". Thus, the
|
958
|
-
project is of a somewhat
|
957
|
+
project is of a somewhat large size as-is these days. As a project, cyberweb is
|
959
958
|
quite far away from being feature-complete or reasonably finished - consider the
|
960
|
-
project to be more a proof-of-concept
|
961
|
-
in production. The cyberweb project in its present state is not
|
962
|
-
which is unfortunate - the documentation will be subsequently
|
963
|
-
1.0 release will eventually be made available. I used the cyberweb
|
964
|
-
many years to augment my ruby-cgi scripts. For these basic needs the
|
965
|
-
works fairly well. Since as of May 2021, sinatra is another option
|
966
|
-
so the cyberweb project tries to adjust to different use cases when
|
967
|
-
scripts are not that
|
968
|
-
consider .cgi scripts to be
|
969
|
-
is more sophisticated then it is recommended to look at sinatra and padrino
|
970
|
-
more information about the cyberweb project, please look at the following
|
959
|
+
project to be more a proof-of-concept work at this point in time, rather than something that
|
960
|
+
should be used in production. The cyberweb project in its present state is not
|
961
|
+
fully documented, which is unfortunate - the documentation will be subsequently
|
962
|
+
improved, until a 1.0 release will eventually be made available. I used the cyberweb
|
963
|
+
project for many years to augment my ruby-cgi scripts. For these basic needs the
|
964
|
+
cyberweb projects works fairly well. Since as of May 2021, sinatra is another option
|
965
|
+
in this regard, so the cyberweb project tries to adjust to different use cases when
|
966
|
+
necessary. .cgi scripts are not that commonly seen in use past the year 2015. Nonetheless
|
967
|
+
I still consider .cgi scripts to be extremely SIMPLE to use. If you need a framework
|
968
|
+
that is more sophisticated then it is recommended to look at sinatra and padrino
|
969
|
+
instead. For more information about the cyberweb project, please look at the following
|
970
|
+
link: https://www.rubydoc.info/gems/cyberweb/'
|
971
971
|
test_files: []
|
972
972
|
...
|