ovto 0.5.0 → 0.6.2

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +2 -3
  5. data/Gemfile.lock +23 -27
  6. data/book/SUMMARY.md +2 -0
  7. data/book/api/actions.md +1 -1
  8. data/book/api/middleware.md +99 -0
  9. data/book/api/pure_component.md +3 -0
  10. data/docs/api/Array.html +190 -0
  11. data/docs/api/Hash.html +196 -0
  12. data/docs/api/Ovto/Actions.html +128 -40
  13. data/docs/api/Ovto/App.html +254 -40
  14. data/docs/api/Ovto/Component/MoreThanOneNode.html +6 -6
  15. data/docs/api/Ovto/Component.html +96 -29
  16. data/docs/api/Ovto/Middleware/Actions.html +428 -0
  17. data/docs/api/Ovto/Middleware/Base.html +605 -0
  18. data/docs/api/Ovto/Middleware/Component.html +354 -0
  19. data/docs/api/Ovto/Middleware.html +286 -0
  20. data/docs/api/Ovto/PureComponent/StateIsNotAvailable.html +6 -6
  21. data/docs/api/Ovto/PureComponent.html +11 -11
  22. data/docs/api/Ovto/Runtime.html +7 -7
  23. data/docs/api/Ovto/State/MissingValue.html +6 -6
  24. data/docs/api/Ovto/State/{UnknownKey.html → UnknownStateKey.html} +11 -11
  25. data/docs/api/Ovto/State.html +59 -43
  26. data/docs/api/Ovto/WiredActionSet.html +636 -0
  27. data/docs/api/Ovto/WiredActions.html +78 -35
  28. data/docs/api/Ovto.html +223 -30
  29. data/docs/api/_index.html +77 -11
  30. data/docs/api/actions.html +29 -3
  31. data/docs/api/app.html +28 -2
  32. data/docs/api/class_list.html +3 -3
  33. data/docs/api/component.html +30 -4
  34. data/docs/api/css/style.css +3 -2
  35. data/docs/api/fetch.html +30 -4
  36. data/docs/api/file.README.html +76 -78
  37. data/docs/api/file_list.html +2 -2
  38. data/docs/api/frames.html +2 -2
  39. data/docs/api/index.html +76 -78
  40. data/docs/api/js/app.js +14 -3
  41. data/docs/api/method_list.html +303 -31
  42. data/docs/api/middleware.html +498 -0
  43. data/docs/api/pure_component.html +428 -0
  44. data/docs/api/state.html +28 -2
  45. data/docs/api/top-level-namespace.html +11 -9
  46. data/docs/guides/debugging.html +28 -2
  47. data/docs/guides/development.html +28 -2
  48. data/docs/guides/install.html +28 -2
  49. data/docs/guides/tutorial.html +28 -2
  50. data/docs/index.html +28 -2
  51. data/docs/search_index.json +1 -1
  52. data/examples/sinatra/Gemfile +2 -0
  53. data/examples/sinatra/Gemfile.lock +32 -30
  54. data/examples/sinatra/app.rb +1 -4
  55. data/examples/sinatra/config.ru +6 -6
  56. data/examples/static/Gemfile.lock +9 -9
  57. data/lib/ovto/actions.rb +11 -0
  58. data/lib/ovto/app.rb +37 -13
  59. data/lib/ovto/component.rb +130 -67
  60. data/lib/ovto/middleware.rb +121 -0
  61. data/lib/ovto/pure_component.rb +1 -1
  62. data/lib/ovto/state.rb +13 -5
  63. data/lib/ovto/version.rb +1 -1
  64. data/lib/ovto/wired_action_set.rb +40 -0
  65. data/lib/ovto/wired_actions.rb +49 -11
  66. data/lib/ovto.rb +26 -0
  67. data/ovto.gemspec +1 -1
  68. metadata +21 -11
  69. data/docs/api/pure_component.md +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4b96687f3ed63679cd1390c78a55ccc070bcd696fae6ea398869deb48ec89e1
4
- data.tar.gz: 80bc3fb5dd02ddb6f49d7cb30d79189512a6a970dc5a48131819b3f976765cb4
3
+ metadata.gz: b2ddaa76c727e4560af0bf287745897dae5188f764cae396a2f648fa675e7414
4
+ data.tar.gz: 9d3b11c75753e7603ae9b280235e0aa0fc0bb2893489f6ea388721de7dcd6ede
5
5
  SHA512:
6
- metadata.gz: e5111857b2b9072efdf43e006fef98c06eede869d333ec1fa95171d708c6299f7ac2a2aa84aee2e81219e0e8e02be3b2a3039da908796ea0640e2f43b1c2e8d9
7
- data.tar.gz: d99fbee3030cc11b4b6186f4b61d134fdb7c983a62d4dab37a115c1fe021f41a0ed0f7e7b1081ac00292c893e90bf4f0934bfa27f4eb83551c4fc0127b90e776
6
+ metadata.gz: 9cd38d6c1f29d3a0f4221bda5c5c390ddf83507e2f6265d6257b95bb72fe096e01b179659784d640aea75f425f56be8438b7bb84fc75f15e59239d465a208736
7
+ data.tar.gz: 6516be94dced6512bfaeca2e9b6ce4315d241f459d4d4c24340f90ab07458ea259c37ecd4a169c0794e4ace7f824c43dc1aa27aed6109d54ca153af62a27b277
data/.gitmodules CHANGED
@@ -0,0 +1,3 @@
1
+ [submodule "opal-rspec"]
2
+ path = opal-rspec
3
+ url = https://github.com/opal/opal-rspec.git
data/CHANGELOG.md CHANGED
@@ -1,4 +1,17 @@
1
- ## HEAD
1
+ ## v0.6.2 (2021-10-22)
2
+
3
+ - Loosen requirement of version of thor gem (allow 1.x)
4
+
5
+ ## v0.6.1 (2021-10-22)
6
+
7
+ - Update Opal to 1.2
8
+
9
+ ## v0.6.0 (2020-02-29)
10
+
11
+ - feat: Ovto::Middleware (#18)
12
+ - Experimental. API may change during 0.6.x
13
+ - feat(State): default_proc (#17)
14
+ - feat(o): `o SubComp do ...end` now passes the block to `SubComp#render` (#16)
2
15
 
3
16
  ## v0.5.0 (2019-12-22)
4
17
 
@@ -20,7 +33,6 @@ New features
20
33
  Example:
21
34
 
22
35
  o 'div', `{nodeName: ....}`
23
-
24
36
 
25
37
  ## v0.3.0 (2018-12-24)
26
38
 
data/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
1
  source "https://rubygems.org"
2
- gem 'opal', '>= 1.0.0'
3
- gem 'c_lexer'
4
- gem 'opal-rspec', '>= 0.8.0.alpha1'
2
+ gem 'opal', '>= 1.2.0'
3
+ gem 'opal-rspec', '>= 0.8.0.alpha3'
5
4
  gem 'opal-sprockets'
6
5
  gem 'rake'
7
6
  gem 'ovto', path: '.'
data/Gemfile.lock CHANGED
@@ -1,52 +1,48 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ovto (0.5.0)
4
+ ovto (0.6.2)
5
5
  opal (>= 0.11, < 2)
6
6
  rack (~> 2.0)
7
- thor (~> 0.20)
7
+ thor (>= 0.20)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- ast (2.4.0)
13
- c_lexer (2.6.4.1.1)
14
- ast (~> 2.4.0)
15
- parser (= 2.6.4.1)
16
- concurrent-ruby (1.1.5)
17
- opal (1.0.2)
12
+ ast (2.4.2)
13
+ concurrent-ruby (1.1.9)
14
+ opal (1.2.0)
18
15
  ast (>= 2.3.0)
19
- parser (~> 2.6)
20
- opal-rspec (0.8.0.alpha2)
21
- opal (>= 0.11, < 1.1)
22
- opal-sprockets
23
- rake (~> 12.0)
24
- opal-sprockets (0.4.8.1.0.3.7)
25
- opal (~> 1.0.0)
26
- sprockets (~> 3.7)
16
+ parser (~> 3.0)
17
+ opal-rspec (0.8.0.alpha3)
18
+ opal (>= 1.0.0, < 2.0)
19
+ opal-sprockets (< 2.0)
20
+ rake (>= 12.0)
21
+ opal-sprockets (1.0.2)
22
+ opal (>= 1.0, < 2.0)
23
+ sprockets (~> 4.0)
27
24
  tilt (>= 1.4)
28
- parser (2.6.4.1)
29
- ast (~> 2.4.0)
30
- rack (2.0.8)
31
- rake (12.3.3)
32
- sprockets (3.7.2)
25
+ parser (3.0.2.0)
26
+ ast (~> 2.4.1)
27
+ rack (2.2.3)
28
+ rake (13.0.6)
29
+ sprockets (4.0.2)
33
30
  concurrent-ruby (~> 1.0)
34
31
  rack (> 1, < 3)
35
- thor (0.20.3)
32
+ thor (1.1.0)
36
33
  tilt (2.0.10)
37
- yard (0.9.20)
34
+ yard (0.9.26)
38
35
 
39
36
  PLATFORMS
40
37
  ruby
41
38
 
42
39
  DEPENDENCIES
43
- c_lexer
44
- opal (>= 1.0.0)
45
- opal-rspec (>= 0.8.0.alpha1)
40
+ opal (>= 1.2.0)
41
+ opal-rspec (>= 0.8.0.alpha3)
46
42
  opal-sprockets
47
43
  ovto!
48
44
  rake
49
45
  yard
50
46
 
51
47
  BUNDLED WITH
52
- 2.0.2
48
+ 2.2.22
data/book/SUMMARY.md CHANGED
@@ -7,6 +7,8 @@
7
7
  - [Ovto::State](api/state.md)
8
8
  - [Ovto::Actions](api/actions.md)
9
9
  - [Ovto::Component](api/component.md)
10
+ - [Ovto::PureComponent](api/pure_component.md)
11
+ - [Ovto::Middleware](api/middleware.md)
10
12
  - [Ovto.fetch](api/fetch.md)
11
13
  - Guides
12
14
  - [Debugging](guides/debugging.md)
data/book/api/actions.md CHANGED
@@ -15,7 +15,7 @@ require 'ovto'
15
15
 
16
16
  class MyApp < Ovto::App
17
17
  class State < Ovto::State
18
- item :count, 0
18
+ item :count, default: 0
19
19
  end
20
20
 
21
21
  class Actions < Ovto::Actions
@@ -0,0 +1,99 @@
1
+ # Ovto::Middleware
2
+
3
+ When you are making a big app with Ovto, you may want to extract
4
+ certain parts which are independent from the app. Ovto::Middleware is
5
+ for such cases.
6
+
7
+ - A middleware has its own namespace of state and actions
8
+ - that is, you don't need to add prefixes to the names of states and actions of a middleware.
9
+
10
+ ## Example
11
+
12
+ ```rb
13
+ # 1. Middleware name must be valid as a method name in Ruby
14
+ class MyMiddleware < Ovto::Middleware("my_middleware")
15
+ def setup
16
+ # Called on app startup
17
+ end
18
+
19
+ # 2. Make a subclass of MyMiddleware's State
20
+ class State < MyMiddleware::State
21
+ item :count, default: 0
22
+ end
23
+
24
+ # 3. Make a subclass of MyMiddleware's Actions
25
+ class Actions < MyMiddleware::Actions
26
+ def increment(by:)
27
+ return {count: state.count + by}
28
+ end
29
+ end
30
+
31
+ # 4. Make a subclass of MyMiddleware's Component
32
+ class SomeComponent < MyMiddleware::Component
33
+ def render
34
+ o 'div' do
35
+ o 'span', state.count
36
+ o 'button', onclick: ->{ actions.increment(by: 1) }
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+ class MyApp < Ovto::App
43
+ # 5. Declare middlewares to use
44
+ use MyMiddleware
45
+
46
+ class State < Ovto::State; end
47
+ class Actions < Ovto::Actions; end
48
+
49
+ class MainComponent < Ovto::Component
50
+ def render
51
+ o 'div.counter' do
52
+ o MyMiddleware::SomeComponent
53
+ end
54
+ end
55
+ end
56
+ end
57
+ ```
58
+
59
+ ## Advanced
60
+
61
+ ### Getting middlware state from app
62
+
63
+ ```rb
64
+ class MyApp < Ovto::App
65
+ def MainComponent < Ovto::Component
66
+ def render
67
+ o 'span', state._middlewares.middleware1.some_state
68
+ end
69
+ end
70
+ end
71
+ ```
72
+
73
+ ### Calling middlware action from app
74
+
75
+ ```rb
76
+ class MyApp < Ovto::App
77
+ # From actions
78
+ def Actions < Ovto::Actions
79
+ def some_action
80
+ actions.middleware1.some_action()
81
+ end
82
+ end
83
+
84
+ # From component
85
+ def MainComponent < Ovto::Component
86
+ def render
87
+ o 'button', onclick: ->{ actions.middleware1.some_action() }
88
+ end
89
+ end
90
+ end
91
+ ```
92
+
93
+ ### Using a middleware from another middleware
94
+
95
+ ```rb
96
+ class Middleware1 < Ovto::Middleware("middleware1")
97
+ use Middleware2
98
+ end
99
+ ```
@@ -2,6 +2,9 @@
2
2
 
3
3
  It almost the same as `Ovto::Component`, but it caches the `render` method calling with arguments of the method.
4
4
 
5
+ ## When to use PureComponent?
6
+
7
+ Use it when your app is slow and need more speed.
5
8
 
6
9
  ## Cache strategy
7
10
 
@@ -0,0 +1,190 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Array
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Array";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (A)</a> &raquo;
40
+
41
+
42
+ <span class="title">Array</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Array
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Array</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/mighty_inspect.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <h2>
111
+ Instance Method Summary
112
+ <small><a href="#" class="summary_toggle">collapse</a></small>
113
+ </h2>
114
+
115
+ <ul class="summary">
116
+
117
+ <li class="public ">
118
+ <span class="summary_signature">
119
+
120
+ <a href="#mighty_inspect-instance_method" title="#mighty_inspect (instance method)">#<strong>mighty_inspect</strong> &#x21d2; Object </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+ <span class="summary_desc"><div class='inline'></div></span>
135
+
136
+ </li>
137
+
138
+
139
+ </ul>
140
+
141
+
142
+
143
+
144
+ <div id="instance_method_details" class="method_details_list">
145
+ <h2>Instance Method Details</h2>
146
+
147
+
148
+ <div class="method_details first">
149
+ <h3 class="signature first" id="mighty_inspect-instance_method">
150
+
151
+ #<strong>mighty_inspect</strong> &#x21d2; <tt>Object</tt>
152
+
153
+
154
+
155
+
156
+
157
+ </h3><table class="source_code">
158
+ <tr>
159
+ <td>
160
+ <pre class="lines">
161
+
162
+
163
+ 18
164
+ 19
165
+ 20</pre>
166
+ </td>
167
+ <td>
168
+ <pre class="code"><span class="info file"># File 'lib/mighty_inspect.rb', line 18</span>
169
+
170
+ <span class='kw'>def</span> <span class='id identifier rubyid_mighty_inspect'>mighty_inspect</span>
171
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="MightyInspect.html" title="MightyInspect (module)">MightyInspect</a></span></span><span class='period'>.</span><span class='id identifier rubyid_mighty_inspect'><span class='object_link'><a href="MightyInspect.html#mighty_inspect-class_method" title="MightyInspect.mighty_inspect (method)">mighty_inspect</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>]</span><span class='tstring_end'>&quot;</span></span>
172
+ <span class='kw'>end</span></pre>
173
+ </td>
174
+ </tr>
175
+ </table>
176
+ </div>
177
+
178
+ </div>
179
+
180
+ </div>
181
+
182
+ <div id="footer">
183
+ Generated on Fri Oct 22 08:18:18 2021 by
184
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
185
+ 0.9.26 (ruby-3.0.2).
186
+ </div>
187
+
188
+ </div>
189
+ </body>
190
+ </html>
@@ -0,0 +1,196 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Hash
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Hash";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (H)</a> &raquo;
40
+
41
+
42
+ <span class="title">Hash</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Hash
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Hash</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/mighty_inspect.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <h2>
111
+ Instance Method Summary
112
+ <small><a href="#" class="summary_toggle">collapse</a></small>
113
+ </h2>
114
+
115
+ <ul class="summary">
116
+
117
+ <li class="public ">
118
+ <span class="summary_signature">
119
+
120
+ <a href="#mighty_inspect-instance_method" title="#mighty_inspect (instance method)">#<strong>mighty_inspect</strong> &#x21d2; Object </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+ <span class="summary_desc"><div class='inline'></div></span>
135
+
136
+ </li>
137
+
138
+
139
+ </ul>
140
+
141
+
142
+
143
+
144
+ <div id="instance_method_details" class="method_details_list">
145
+ <h2>Instance Method Details</h2>
146
+
147
+
148
+ <div class="method_details first">
149
+ <h3 class="signature first" id="mighty_inspect-instance_method">
150
+
151
+ #<strong>mighty_inspect</strong> &#x21d2; <tt>Object</tt>
152
+
153
+
154
+
155
+
156
+
157
+ </h3><table class="source_code">
158
+ <tr>
159
+ <td>
160
+ <pre class="lines">
161
+
162
+
163
+ 24
164
+ 25
165
+ 26
166
+ 27
167
+ 28
168
+ 29</pre>
169
+ </td>
170
+ <td>
171
+ <pre class="code"><span class="info file"># File 'lib/mighty_inspect.rb', line 24</span>
172
+
173
+ <span class='kw'>def</span> <span class='id identifier rubyid_mighty_inspect'>mighty_inspect</span>
174
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>{</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
175
+ <span class='const'><span class='object_link'><a href="MightyInspect.html" title="MightyInspect (module)">MightyInspect</a></span></span><span class='period'>.</span><span class='id identifier rubyid_mighty_inspect'><span class='object_link'><a href="MightyInspect.html#mighty_inspect-class_method" title="MightyInspect.mighty_inspect (method)">mighty_inspect</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_k'>k</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> =&gt; </span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
176
+ <span class='const'><span class='object_link'><a href="MightyInspect.html" title="MightyInspect (module)">MightyInspect</a></span></span><span class='period'>.</span><span class='id identifier rubyid_mighty_inspect'><span class='object_link'><a href="MightyInspect.html#mighty_inspect-class_method" title="MightyInspect.mighty_inspect (method)">mighty_inspect</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span>
177
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>}</span><span class='tstring_end'>&quot;</span></span>
178
+ <span class='kw'>end</span></pre>
179
+ </td>
180
+ </tr>
181
+ </table>
182
+ </div>
183
+
184
+ </div>
185
+
186
+ </div>
187
+
188
+ <div id="footer">
189
+ Generated on Fri Oct 22 08:18:18 2021 by
190
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
191
+ 0.9.26 (ruby-3.0.2).
192
+ </div>
193
+
194
+ </div>
195
+ </body>
196
+ </html>