pakyow-core 1.0.0.rc5 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/pakyow/{environment/actions → actions}/dispatch.rb +0 -0
- data/lib/pakyow/{environment/actions → actions}/input_parser.rb +0 -0
- data/lib/pakyow/{environment/actions → actions}/logger.rb +0 -0
- data/lib/pakyow/{environment/actions → actions}/normalizer.rb +0 -0
- data/lib/pakyow/{app.rb → application.rb} +26 -26
- data/lib/pakyow/application/behavior/aspects.rb +51 -0
- data/lib/pakyow/application/behavior/endpoints.rb +43 -0
- data/lib/pakyow/application/behavior/frameworks.rb +47 -0
- data/lib/pakyow/application/behavior/helpers.rb +107 -0
- data/lib/pakyow/{environment → application}/behavior/initializers.rb +4 -4
- data/lib/pakyow/application/behavior/isolating.rb +71 -0
- data/lib/pakyow/application/behavior/operations.rb +49 -0
- data/lib/pakyow/application/behavior/pipeline.rb +60 -0
- data/lib/pakyow/application/behavior/plugins.rb +151 -0
- data/lib/pakyow/application/behavior/rescuing.rb +53 -0
- data/lib/pakyow/application/behavior/restarting.rb +72 -0
- data/lib/pakyow/application/behavior/sessions.rb +38 -0
- data/lib/pakyow/{behavior → application}/config.rb +1 -1
- data/lib/pakyow/{app → application}/connection.rb +4 -4
- data/lib/pakyow/{app → application}/connection/behavior/session.rb +1 -1
- data/lib/pakyow/{app → application}/connection/behavior/values.rb +1 -1
- data/lib/pakyow/{app → application}/connection/behavior/verifier.rb +1 -1
- data/lib/pakyow/{app → application}/connection/session/base.rb +1 -1
- data/lib/pakyow/{app → application}/connection/session/cookie.rb +2 -2
- data/lib/pakyow/application/helpers/app.rb +30 -0
- data/lib/pakyow/application/helpers/connection.rb +47 -0
- data/lib/pakyow/behavior/initializers.rb +3 -3
- data/lib/pakyow/behavior/input_parsing.rb +55 -0
- data/lib/pakyow/behavior/plugins.rb +3 -130
- data/lib/pakyow/behavior/restarting.rb +28 -46
- data/lib/pakyow/behavior/running.rb +127 -0
- data/lib/pakyow/behavior/silencing.rb +21 -0
- data/lib/pakyow/behavior/timezone.rb +19 -0
- data/lib/pakyow/behavior/verification.rb +1 -1
- data/lib/pakyow/behavior/verifier.rb +30 -0
- data/lib/pakyow/behavior/watching.rb +73 -0
- data/lib/pakyow/config.rb +168 -0
- data/lib/pakyow/environment.rb +31 -31
- data/lib/pakyow/helper.rb +9 -0
- data/lib/pakyow/loader.rb +7 -1
- data/lib/pakyow/plugin.rb +22 -21
- metadata +42 -42
- data/lib/pakyow/behavior/aspects.rb +0 -49
- data/lib/pakyow/behavior/endpoints.rb +0 -41
- data/lib/pakyow/behavior/frameworks.rb +0 -45
- data/lib/pakyow/behavior/helpers.rb +0 -108
- data/lib/pakyow/behavior/isolating.rb +0 -69
- data/lib/pakyow/behavior/operations.rb +0 -47
- data/lib/pakyow/behavior/pipeline.rb +0 -58
- data/lib/pakyow/behavior/rescuing.rb +0 -51
- data/lib/pakyow/behavior/sessions.rb +0 -36
- data/lib/pakyow/environment/behavior/config.rb +0 -172
- data/lib/pakyow/environment/behavior/input_parsing.rb +0 -57
- data/lib/pakyow/environment/behavior/plugins.rb +0 -23
- data/lib/pakyow/environment/behavior/restarting.rb +0 -54
- data/lib/pakyow/environment/behavior/running.rb +0 -129
- data/lib/pakyow/environment/behavior/silencing.rb +0 -23
- data/lib/pakyow/environment/behavior/timezone.rb +0 -21
- data/lib/pakyow/environment/behavior/verifier.rb +0 -32
- data/lib/pakyow/environment/behavior/watching.rb +0 -75
- data/lib/pakyow/helpers/app.rb +0 -28
- data/lib/pakyow/helpers/connection.rb +0 -45
data/lib/pakyow/environment.rb
CHANGED
@@ -15,23 +15,23 @@ require "pakyow/support/deep_freeze"
|
|
15
15
|
require "pakyow/support/pipeline"
|
16
16
|
require "pakyow/support/inflector"
|
17
17
|
|
18
|
-
require "pakyow/
|
19
|
-
require "pakyow/
|
20
|
-
require "pakyow/
|
21
|
-
require "pakyow/
|
22
|
-
require "pakyow/
|
23
|
-
require "pakyow/
|
24
|
-
require "pakyow/
|
25
|
-
require "pakyow/
|
26
|
-
require "pakyow/
|
27
|
-
require "pakyow/
|
28
|
-
|
29
|
-
require "pakyow/
|
30
|
-
require "pakyow/
|
31
|
-
require "pakyow/
|
32
|
-
require "pakyow/
|
33
|
-
|
34
|
-
require "pakyow/
|
18
|
+
require "pakyow/config"
|
19
|
+
require "pakyow/behavior/initializers"
|
20
|
+
require "pakyow/behavior/input_parsing"
|
21
|
+
require "pakyow/behavior/plugins"
|
22
|
+
require "pakyow/behavior/silencing"
|
23
|
+
require "pakyow/behavior/timezone"
|
24
|
+
require "pakyow/behavior/running"
|
25
|
+
require "pakyow/behavior/watching"
|
26
|
+
require "pakyow/behavior/restarting"
|
27
|
+
require "pakyow/behavior/verifier"
|
28
|
+
|
29
|
+
require "pakyow/actions/dispatch"
|
30
|
+
require "pakyow/actions/input_parser"
|
31
|
+
require "pakyow/actions/logger"
|
32
|
+
require "pakyow/actions/normalizer"
|
33
|
+
|
34
|
+
require "pakyow/application"
|
35
35
|
|
36
36
|
require "pakyow/logger/destination"
|
37
37
|
require "pakyow/logger/multiplexed"
|
@@ -41,7 +41,7 @@ require "pakyow/logger/thread_local"
|
|
41
41
|
# mounted in the environment, each one handling requests at some path.
|
42
42
|
#
|
43
43
|
# Pakyow.configure do
|
44
|
-
# mount Pakyow::
|
44
|
+
# mount Pakyow::Application, at: "/"
|
45
45
|
# end
|
46
46
|
#
|
47
47
|
# = Configuration
|
@@ -103,16 +103,16 @@ module Pakyow
|
|
103
103
|
|
104
104
|
include Support::Configurable
|
105
105
|
|
106
|
-
include
|
107
|
-
include
|
108
|
-
include
|
109
|
-
include
|
110
|
-
include
|
111
|
-
include
|
112
|
-
include
|
113
|
-
include
|
114
|
-
include
|
115
|
-
include
|
106
|
+
include Config
|
107
|
+
include Behavior::Initializers
|
108
|
+
include Behavior::InputParsing
|
109
|
+
include Behavior::Plugins
|
110
|
+
include Behavior::Silencing
|
111
|
+
include Behavior::Timezone
|
112
|
+
include Behavior::Running
|
113
|
+
include Behavior::Watching
|
114
|
+
include Behavior::Restarting
|
115
|
+
include Behavior::Verifier
|
116
116
|
|
117
117
|
include Support::Pipeline
|
118
118
|
action Actions::Logger
|
@@ -150,7 +150,7 @@ module Pakyow
|
|
150
150
|
# Mounts an app at a path.
|
151
151
|
#
|
152
152
|
# The app can be any rack endpoint, but must implement an
|
153
|
-
# initializer like {
|
153
|
+
# initializer like {Application#initialize}.
|
154
154
|
#
|
155
155
|
# @param app the rack endpoint to mount
|
156
156
|
# @param at [String] where the endpoint should be mounted
|
@@ -276,7 +276,7 @@ module Pakyow
|
|
276
276
|
else
|
277
277
|
local_frameworks = (only || frameworks.keys) - Array.ensure(without)
|
278
278
|
|
279
|
-
Pakyow::
|
279
|
+
Pakyow::Application.make(Support::ObjectName.namespace(app_name, "application")) {
|
280
280
|
config.name = app_name
|
281
281
|
include_frameworks(*local_frameworks)
|
282
282
|
}.tap do |app|
|
@@ -335,7 +335,7 @@ module Pakyow
|
|
335
335
|
|
336
336
|
# @api private
|
337
337
|
def initialize_app_for_mount(mount)
|
338
|
-
if mount[:app].ancestors.include?(Pakyow::
|
338
|
+
if mount[:app].ancestors.include?(Pakyow::Application)
|
339
339
|
mount[:app].new(env, mount_path: mount[:path], &mount[:block])
|
340
340
|
else
|
341
341
|
mount[:app].new
|
data/lib/pakyow/loader.rb
CHANGED
@@ -25,7 +25,13 @@ module Pakyow
|
|
25
25
|
code << "end\n"
|
26
26
|
end
|
27
27
|
|
28
|
-
eval(code, TOPLEVEL_BINDING, @path, 1 - target.__object_name.namespace.parts.count - 1)
|
28
|
+
object = eval(code, TOPLEVEL_BINDING, @path, 1 - target.__object_name.namespace.parts.count - 1)
|
29
|
+
|
30
|
+
if object.respond_to?(:__source_location)
|
31
|
+
object.__source_location = [@path, 1]
|
32
|
+
end
|
33
|
+
|
34
|
+
object
|
29
35
|
end
|
30
36
|
end
|
31
37
|
end
|
data/lib/pakyow/plugin.rb
CHANGED
@@ -6,17 +6,17 @@ require "pakyow/support/definable"
|
|
6
6
|
require "pakyow/support/hookable"
|
7
7
|
require "pakyow/support/pipeline"
|
8
8
|
|
9
|
-
require "pakyow/behavior/aspects"
|
10
|
-
require "pakyow/behavior/endpoints"
|
11
|
-
require "pakyow/behavior/frameworks"
|
12
|
-
require "pakyow/behavior/helpers"
|
13
|
-
require "pakyow/behavior/isolating"
|
14
|
-
require "pakyow/behavior/operations"
|
15
|
-
require "pakyow/behavior/pipeline"
|
16
|
-
require "pakyow/behavior/rescuing"
|
17
|
-
require "pakyow/behavior/restarting"
|
18
|
-
|
19
|
-
require "pakyow/
|
9
|
+
require "pakyow/application/behavior/aspects"
|
10
|
+
require "pakyow/application/behavior/endpoints"
|
11
|
+
require "pakyow/application/behavior/frameworks"
|
12
|
+
require "pakyow/application/behavior/helpers"
|
13
|
+
require "pakyow/application/behavior/isolating"
|
14
|
+
require "pakyow/application/behavior/operations"
|
15
|
+
require "pakyow/application/behavior/pipeline"
|
16
|
+
require "pakyow/application/behavior/rescuing"
|
17
|
+
require "pakyow/application/behavior/restarting"
|
18
|
+
|
19
|
+
require "pakyow/application"
|
20
20
|
require "pakyow/endpoints"
|
21
21
|
|
22
22
|
require "pakyow/plugin/helper_caller"
|
@@ -24,6 +24,7 @@ require "pakyow/plugin/helper_caller"
|
|
24
24
|
module Pakyow
|
25
25
|
# Base plugin class.
|
26
26
|
#
|
27
|
+
# @api private
|
27
28
|
class Plugin
|
28
29
|
require "pakyow/plugin/state"
|
29
30
|
|
@@ -57,19 +58,19 @@ module Pakyow
|
|
57
58
|
|
58
59
|
# Use the same events as app.
|
59
60
|
#
|
60
|
-
events(*
|
61
|
+
events(*Application.events)
|
61
62
|
|
62
63
|
# Include behavior so that plugin behaves like an app.
|
63
64
|
#
|
64
|
-
include Behavior::Aspects
|
65
|
-
include Behavior::Endpoints
|
66
|
-
include Behavior::Frameworks
|
67
|
-
include Behavior::Helpers
|
68
|
-
include Behavior::Isolating
|
69
|
-
include Behavior::Operations
|
70
|
-
include Behavior::Pipeline
|
71
|
-
include Behavior::Rescuing
|
72
|
-
include Behavior::Restarting
|
65
|
+
include Application::Behavior::Aspects
|
66
|
+
include Application::Behavior::Endpoints
|
67
|
+
include Application::Behavior::Frameworks
|
68
|
+
include Application::Behavior::Helpers
|
69
|
+
include Application::Behavior::Isolating
|
70
|
+
include Application::Behavior::Operations
|
71
|
+
include Application::Behavior::Pipeline
|
72
|
+
include Application::Behavior::Rescuing
|
73
|
+
include Application::Behavior::Restarting
|
73
74
|
|
74
75
|
attr_reader :parent
|
75
76
|
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pakyow-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Powell
|
8
|
-
- Bret Young
|
9
8
|
autorequire:
|
10
9
|
bindir: commands
|
11
10
|
cert_chain: []
|
12
|
-
date: 2019-07-
|
11
|
+
date: 2019-07-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: pakyow-support
|
@@ -17,14 +16,14 @@ dependencies:
|
|
17
16
|
requirements:
|
18
17
|
- - '='
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.0.0
|
19
|
+
version: 1.0.0
|
21
20
|
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
24
|
- - '='
|
26
25
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.0.0
|
26
|
+
version: 1.0.0
|
28
27
|
- !ruby/object:Gem::Dependency
|
29
28
|
name: async
|
30
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -194,7 +193,7 @@ dependencies:
|
|
194
193
|
- !ruby/object:Gem::Version
|
195
194
|
version: '12.3'
|
196
195
|
description: Core functionality for Pakyow
|
197
|
-
email: bryan@
|
196
|
+
email: bryan@bryanp.org
|
198
197
|
executables:
|
199
198
|
- pakyow
|
200
199
|
extensions: []
|
@@ -205,28 +204,44 @@ files:
|
|
205
204
|
- README.md
|
206
205
|
- commands/pakyow
|
207
206
|
- lib/pakyow.rb
|
208
|
-
- lib/pakyow/
|
209
|
-
- lib/pakyow/
|
210
|
-
- lib/pakyow/
|
211
|
-
- lib/pakyow/
|
212
|
-
- lib/pakyow/
|
213
|
-
- lib/pakyow/
|
214
|
-
- lib/pakyow/
|
215
|
-
- lib/pakyow/behavior/
|
216
|
-
- lib/pakyow/behavior/
|
217
|
-
- lib/pakyow/behavior/
|
218
|
-
- lib/pakyow/behavior/
|
219
|
-
- lib/pakyow/behavior/
|
207
|
+
- lib/pakyow/actions/dispatch.rb
|
208
|
+
- lib/pakyow/actions/input_parser.rb
|
209
|
+
- lib/pakyow/actions/logger.rb
|
210
|
+
- lib/pakyow/actions/normalizer.rb
|
211
|
+
- lib/pakyow/application.rb
|
212
|
+
- lib/pakyow/application/behavior/aspects.rb
|
213
|
+
- lib/pakyow/application/behavior/endpoints.rb
|
214
|
+
- lib/pakyow/application/behavior/frameworks.rb
|
215
|
+
- lib/pakyow/application/behavior/helpers.rb
|
216
|
+
- lib/pakyow/application/behavior/initializers.rb
|
217
|
+
- lib/pakyow/application/behavior/isolating.rb
|
218
|
+
- lib/pakyow/application/behavior/operations.rb
|
219
|
+
- lib/pakyow/application/behavior/pipeline.rb
|
220
|
+
- lib/pakyow/application/behavior/plugins.rb
|
221
|
+
- lib/pakyow/application/behavior/rescuing.rb
|
222
|
+
- lib/pakyow/application/behavior/restarting.rb
|
223
|
+
- lib/pakyow/application/behavior/sessions.rb
|
224
|
+
- lib/pakyow/application/config.rb
|
225
|
+
- lib/pakyow/application/connection.rb
|
226
|
+
- lib/pakyow/application/connection/behavior/session.rb
|
227
|
+
- lib/pakyow/application/connection/behavior/values.rb
|
228
|
+
- lib/pakyow/application/connection/behavior/verifier.rb
|
229
|
+
- lib/pakyow/application/connection/session/base.rb
|
230
|
+
- lib/pakyow/application/connection/session/cookie.rb
|
231
|
+
- lib/pakyow/application/helpers/app.rb
|
232
|
+
- lib/pakyow/application/helpers/connection.rb
|
220
233
|
- lib/pakyow/behavior/initializers.rb
|
221
|
-
- lib/pakyow/behavior/
|
222
|
-
- lib/pakyow/behavior/operations.rb
|
223
|
-
- lib/pakyow/behavior/pipeline.rb
|
234
|
+
- lib/pakyow/behavior/input_parsing.rb
|
224
235
|
- lib/pakyow/behavior/plugins.rb
|
225
|
-
- lib/pakyow/behavior/rescuing.rb
|
226
236
|
- lib/pakyow/behavior/restarting.rb
|
227
|
-
- lib/pakyow/behavior/
|
237
|
+
- lib/pakyow/behavior/running.rb
|
238
|
+
- lib/pakyow/behavior/silencing.rb
|
239
|
+
- lib/pakyow/behavior/timezone.rb
|
228
240
|
- lib/pakyow/behavior/verification.rb
|
241
|
+
- lib/pakyow/behavior/verifier.rb
|
242
|
+
- lib/pakyow/behavior/watching.rb
|
229
243
|
- lib/pakyow/cli.rb
|
244
|
+
- lib/pakyow/config.rb
|
230
245
|
- lib/pakyow/connection.rb
|
231
246
|
- lib/pakyow/connection/multipart_input.rb
|
232
247
|
- lib/pakyow/connection/multipart_parser.rb
|
@@ -235,20 +250,6 @@ files:
|
|
235
250
|
- lib/pakyow/connection/statuses.rb
|
236
251
|
- lib/pakyow/endpoints.rb
|
237
252
|
- lib/pakyow/environment.rb
|
238
|
-
- lib/pakyow/environment/actions/dispatch.rb
|
239
|
-
- lib/pakyow/environment/actions/input_parser.rb
|
240
|
-
- lib/pakyow/environment/actions/logger.rb
|
241
|
-
- lib/pakyow/environment/actions/normalizer.rb
|
242
|
-
- lib/pakyow/environment/behavior/config.rb
|
243
|
-
- lib/pakyow/environment/behavior/initializers.rb
|
244
|
-
- lib/pakyow/environment/behavior/input_parsing.rb
|
245
|
-
- lib/pakyow/environment/behavior/plugins.rb
|
246
|
-
- lib/pakyow/environment/behavior/restarting.rb
|
247
|
-
- lib/pakyow/environment/behavior/running.rb
|
248
|
-
- lib/pakyow/environment/behavior/silencing.rb
|
249
|
-
- lib/pakyow/environment/behavior/timezone.rb
|
250
|
-
- lib/pakyow/environment/behavior/verifier.rb
|
251
|
-
- lib/pakyow/environment/behavior/watching.rb
|
252
253
|
- lib/pakyow/error.rb
|
253
254
|
- lib/pakyow/errors.rb
|
254
255
|
- lib/pakyow/framework.rb
|
@@ -272,8 +273,7 @@ files:
|
|
272
273
|
- lib/pakyow/generators/project/default/frontend/pages/keep
|
273
274
|
- lib/pakyow/generators/project/default/public/favicon.ico
|
274
275
|
- lib/pakyow/generators/project/default/public/robots.txt
|
275
|
-
- lib/pakyow/
|
276
|
-
- lib/pakyow/helpers/connection.rb
|
276
|
+
- lib/pakyow/helper.rb
|
277
277
|
- lib/pakyow/info.rb
|
278
278
|
- lib/pakyow/integrations/bootsnap.rb
|
279
279
|
- lib/pakyow/integrations/bundler/require.rb
|
@@ -317,7 +317,7 @@ files:
|
|
317
317
|
- lib/pakyow/validations/presence.rb
|
318
318
|
- lib/pakyow/validator.rb
|
319
319
|
- lib/pakyow/verifier.rb
|
320
|
-
homepage: https://pakyow.
|
320
|
+
homepage: https://pakyow.com
|
321
321
|
licenses:
|
322
322
|
- LGPL-3.0
|
323
323
|
metadata: {}
|
@@ -332,9 +332,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
332
332
|
version: 2.5.0
|
333
333
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
334
334
|
requirements:
|
335
|
-
- - "
|
335
|
+
- - ">="
|
336
336
|
- !ruby/object:Gem::Version
|
337
|
-
version:
|
337
|
+
version: '0'
|
338
338
|
requirements: []
|
339
339
|
rubygems_version: 3.0.3
|
340
340
|
signing_key:
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "pakyow/support/extension"
|
4
|
-
|
5
|
-
require "pakyow/loader"
|
6
|
-
|
7
|
-
module Pakyow
|
8
|
-
module Behavior
|
9
|
-
# Maintains known aspects and loads them.
|
10
|
-
#
|
11
|
-
module Aspects
|
12
|
-
extend Support::Extension
|
13
|
-
|
14
|
-
apply_extension do
|
15
|
-
setting :aspects, []
|
16
|
-
|
17
|
-
after "load" do
|
18
|
-
config.aspects.each do |aspect|
|
19
|
-
load_aspect(aspect)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class_methods do
|
25
|
-
# Registers an app aspect by name.
|
26
|
-
#
|
27
|
-
def aspect(name)
|
28
|
-
(config.aspects << name.to_sym).uniq!
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class)
|
35
|
-
__load_aspect(aspect, path: path, target: target)
|
36
|
-
end
|
37
|
-
|
38
|
-
def __load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class)
|
39
|
-
Dir.glob(File.join(path, "*.rb")) do |file_path|
|
40
|
-
Loader.new(file_path).call(target)
|
41
|
-
end
|
42
|
-
|
43
|
-
Dir.glob(File.join(path, "*")).select { |sub_path| File.directory?(sub_path) }.each do |directory|
|
44
|
-
__load_aspect(aspect, path: directory, target: target)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "pakyow/support/extension"
|
4
|
-
|
5
|
-
require "pakyow/endpoints"
|
6
|
-
|
7
|
-
module Pakyow
|
8
|
-
module Behavior
|
9
|
-
module Endpoints
|
10
|
-
extend Support::Extension
|
11
|
-
|
12
|
-
apply_extension do
|
13
|
-
after "initialize" do
|
14
|
-
load_endpoints
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
prepend_methods do
|
19
|
-
def initialize(*)
|
20
|
-
@endpoints = ::Pakyow::Endpoints.new
|
21
|
-
|
22
|
-
super
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# Instance of {Endpoints} for path building.
|
27
|
-
#
|
28
|
-
attr_reader :endpoints
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def load_endpoints
|
33
|
-
state.values.each do |state_object|
|
34
|
-
state_object.instances.each do |state_instance|
|
35
|
-
@endpoints.load(state_instance)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "pakyow/support/extension"
|
4
|
-
|
5
|
-
module Pakyow
|
6
|
-
module Behavior
|
7
|
-
# Manages {Framework} instances.
|
8
|
-
#
|
9
|
-
module Frameworks
|
10
|
-
extend Support::Extension
|
11
|
-
|
12
|
-
apply_extension do
|
13
|
-
setting :loaded_frameworks, []
|
14
|
-
end
|
15
|
-
|
16
|
-
class_methods do
|
17
|
-
# Includes one or more frameworks into the app class.
|
18
|
-
#
|
19
|
-
def include_frameworks(*frameworks)
|
20
|
-
tap do
|
21
|
-
frameworks.each do |framework_name|
|
22
|
-
include_framework(framework_name)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# Includes a framework into the app class.
|
28
|
-
#
|
29
|
-
def include_framework(framework_name)
|
30
|
-
framework_name = framework_name.to_sym
|
31
|
-
Pakyow.frameworks.fetch(framework_name).new(self).boot
|
32
|
-
(config.loaded_frameworks << framework_name).uniq!
|
33
|
-
rescue KeyError => error
|
34
|
-
raise UnknownFramework.build(error, framework: framework_name)
|
35
|
-
end
|
36
|
-
|
37
|
-
# Returns true if +framework+ is loaded.
|
38
|
-
#
|
39
|
-
def includes_framework?(framework_name)
|
40
|
-
config.loaded_frameworks.include?(framework_name.to_sym)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|