pakyow-core 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08c8101521e66a391edfb1260937f66edbf09636d02cf2b4ed1a168752f69b01'
4
- data.tar.gz: 3b43d74cb96581704b48ff4d1a8c63c76ce32438705df9a031f87f41d87e4c10
3
+ metadata.gz: b25fae34605893ca73a6ae5f244b0705eab56f924a5383982d204034e76bc4ff
4
+ data.tar.gz: 9774485b7de8a3a2366ec51c5d6ff442a4f4c75d20707c3cccc2a07ded3d316e
5
5
  SHA512:
6
- metadata.gz: a7f430afd35c1279a4e0df05b88b9b82eca11db61c4bbdcd3d996abf45b80ec9cd2523f882ca6be236fa1a9d7c5ad6145a89c268c6b63a5ec498fc48e28702f7
7
- data.tar.gz: 89cf3982784d6d90699cb0c7d5e0b53dea4469cfb66c735e9d1b68d087b97595ea3b070ffc2b7ae6e016c72d5ce29de251cb3d22f760c8a10cbfce36947079c0
6
+ metadata.gz: 7322f92da626b39fab842d3003d0dee9efe58fae5c7d03771b369ca0d3750f5e55f5c6342ce225140fd29b0ac6e53fc44947f8de1b35337156246de9507ec38e
7
+ data.tar.gz: b378d973b2a88d880aff0e6eb4538670e14cba02ab67b6b5f3a86212fc87dbd8668b66003e25dfcc19772aeddc8cc084663eb0e0d46c5340ac76c9a18dcbe177
data/CHANGELOG.md CHANGED
@@ -1,9 +1,76 @@
1
- # UNRELEASED
1
+ # v1.0.2 (unreleased)
2
2
 
3
- # 1.0.1
3
+ * `fix` **Relocate `version.rb` from the meta gem into `pakyow/core`.**
4
+ - Makes it possible to use `pakyow/core` and other gems without needing the meta gem.
4
5
 
5
- * Rename "navigable" to "navigator" in the generated app
6
+ *Related links:*
7
+ - [Pull Request #320][pr-320]
6
8
 
7
- # 1.0.0
9
+ * `fix` **Query string missing from normalized uris.**
10
+
11
+ *Related links:*
12
+ - [Pull Request #315][pr-315]
13
+
14
+ * `fix` **Remove recursive require from `logger/colorizer.rb`.**
15
+
16
+ *Related links:*
17
+ - [Pull Request #311][pr-311]
18
+
19
+ * `fix` **Always load `config/application` relative to `Pakyow.config.root`.**
20
+
21
+ *Related links:*
22
+ - [Pull Request #310][pr-310]
23
+
24
+ * `fix` **Issue with `Pakyow::Error` not detecting gems in rvm.**
25
+
26
+ *Related links:*
27
+ - [Pull Request #306][pr-306]
28
+
29
+ * `fix` **Correct several issues with incorrect error backtraces, improve performance.**
30
+
31
+ *Related links:*
32
+ - [Commit cdb9e15][cdb9e15]
33
+
34
+ * `fix` **App connection path is relative to to the app mount path.**
35
+
36
+ *Related links:*
37
+ - [Commit fc6209f][fc6209f]
38
+
39
+ * `fix` **Backend aspects now load alphabetically on every system.**
40
+
41
+ *Related links:*
42
+ - [Commit 47189b7][47189b7]
43
+
44
+ * `fix` **Respawn into the correct environment by clearing `tmp/restart.txt`.**
45
+
46
+ *Related links:*
47
+ - [Commit c9d5544][c9d5544]
48
+
49
+ * `fix` **CLI short code arguments are now passed to the task in the correct order.**
50
+
51
+ *Related links:*
52
+ - [Commit 8604c1e][8604c1e]
53
+
54
+ [pr-320]: https://github.com/pakyow/pakyow/pull/320
55
+ [pr-315]: https://github.com/pakyow/pakyow/pull/315
56
+ [pr-311]: https://github.com/pakyow/pakyow/pull/311
57
+ [pr-310]: https://github.com/pakyow/pakyow/pull/310
58
+ [pr-306]: https://github.com/pakyow/pakyow/pull/306
59
+ [cdb9e15]: https://github.com/pakyow/pakyow/commit/cdb9e15f9840da4b5e909dc29b68c70ffa996a36
60
+ [fc6209f]: https://github.com/pakyow/pakyow/commit/fc6209fa12f1a0865cbd1a9c7c7f74e853a83a2a
61
+ [47189b7]: https://github.com/pakyow/pakyow/commit/47189b7d9fbb443f593f8e1573ddd6532ece9008
62
+ [c9d5544]: https://github.com/pakyow/pakyow/commit/cdb9e15f9840da4b5e909dc29b68c70ffa996a36
63
+ [8604c1e]: https://github.com/pakyow/pakyow/commit/8604c1e43a559acba9ab123586eb85d71df92691
64
+
65
+ # v1.0.1
66
+
67
+ * Rename `navigable` to `navigator` in the generated app.
68
+
69
+ *Related links:*
70
+ - [Commit bc7d9a3][bc7d9a3]
71
+
72
+ [bc7d9a3]: https://github.com/pakyow/pakyow/commit/bc7d9a39031a28e05c91a614d7e447ab061ede21
73
+
74
+ # v1.0.0
8
75
 
9
76
  * Hello, Web
@@ -11,11 +11,11 @@ module Pakyow
11
11
 
12
12
  def call(connection)
13
13
  if strict_www? && require_www? && !www?(connection) && !subdomain?(connection)
14
- redirect!(connection, File.join(add_www(connection), connection.path))
14
+ redirect!(connection, File.join(add_www(connection), connection.fullpath))
15
15
  elsif strict_www? && !require_www? && www?(connection)
16
- redirect!(connection, File.join(remove_www(connection), connection.path))
16
+ redirect!(connection, File.join(remove_www(connection), connection.fullpath))
17
17
  elsif strict_path? && slash?(connection)
18
- redirect!(connection, String.normalize_path(connection.path))
18
+ redirect!(connection, String.normalize_path(connection.fullpath))
19
19
  end
20
20
  end
21
21
 
@@ -211,6 +211,11 @@ module Pakyow
211
211
  Pakyow.app(Marshal.load(state)[:name])
212
212
  end
213
213
 
214
+ # @api private
215
+ def top
216
+ self
217
+ end
218
+
214
219
  # @api private
215
220
  def perform(app_connection)
216
221
  @__pipeline.call(app_connection)
@@ -37,11 +37,11 @@ module Pakyow
37
37
  end
38
38
 
39
39
  def __load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class)
40
- Dir.glob(File.join(path, "*.rb")) do |file_path|
40
+ Dir.glob(File.join(path, "*.rb")).sort.each do |file_path|
41
41
  Loader.new(file_path).call(target)
42
42
  end
43
43
 
44
- Dir.glob(File.join(path, "*")).select { |sub_path| File.directory?(sub_path) }.each do |directory|
44
+ Dir.glob(File.join(path, "*")).select { |sub_path| File.directory?(sub_path) }.sort.each do |directory|
45
45
  __load_aspect(aspect, path: directory, target: target)
46
46
  end
47
47
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "delegate"
4
4
 
5
+ require "pakyow/support/core_refinements/string/normalization"
5
6
  require "pakyow/support/hookable"
6
7
 
7
8
  module Pakyow
@@ -20,6 +21,8 @@ module Pakyow
20
21
  include Behavior::Verifier
21
22
  include Behavior::Values
22
23
 
24
+ using Support::Refinements::String::Normalization
25
+
23
26
  def initialize(app, connection)
24
27
  performing :initialize do
25
28
  @app = app; __setobj__(connection)
@@ -32,6 +35,16 @@ module Pakyow
32
35
  end
33
36
  end
34
37
 
38
+ def path
39
+ unless instance_variable_defined?(:@path)
40
+ @path = String.normalize_path(
41
+ __getobj__.path.split(@app.mount_path, 2)[1]
42
+ )
43
+ end
44
+
45
+ @path
46
+ end
47
+
35
48
  def method
36
49
  __getobj__.method
37
50
  end
data/lib/pakyow/cli.rb CHANGED
@@ -103,7 +103,7 @@ module Pakyow
103
103
  end
104
104
 
105
105
  def parse_with_unknown_args
106
- parser, unknown, original, unparsed = yield, Array.new, @argv.dup, Array.new
106
+ parser, original, unparsed = yield, @argv.dup, Array.new
107
107
 
108
108
  begin
109
109
  parser.order!(@argv) do |arg|
@@ -114,10 +114,10 @@ module Pakyow
114
114
  end
115
115
  end
116
116
  rescue OptionParser::InvalidOption => error
117
- unknown.concat(error.args); retry
117
+ unparsed.concat(error.args); retry
118
118
  end
119
119
 
120
- @argv = (original & (@argv | unknown)) + unparsed
120
+ @argv = (original & @argv) + unparsed
121
121
  end
122
122
 
123
123
  def setup_environment
@@ -182,7 +182,7 @@ module Pakyow
182
182
  # Loads apps located in the current project.
183
183
  #
184
184
  def load_apps
185
- require "./config/application"
185
+ require File.join(config.root, "config/application")
186
186
  end
187
187
 
188
188
  # Prepares the environment for booting.
@@ -2,8 +2,6 @@
2
2
 
3
3
  require "pakyow/support/cli/style"
4
4
 
5
- require "pakyow/logger"
6
-
7
5
  module Pakyow
8
6
  class Logger
9
7
  # Helpers for colorizing log messages.
data/lib/pakyow/plugin.rb CHANGED
@@ -207,6 +207,10 @@ module Pakyow
207
207
  end
208
208
  end
209
209
 
210
+ def top
211
+ parent.top
212
+ end
213
+
210
214
  private
211
215
 
212
216
  def build_key
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pakyow
4
+ # Pakyow's current version.
5
+ #
6
+ VERSION = "1.0.2"
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pakyow-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: commands
10
10
  cert_chain: []
11
- date: 2019-07-16 00:00:00.000000000 Z
11
+ date: 2019-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pakyow-support
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.1
19
+ version: 1.0.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.1
26
+ version: 1.0.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.19'
33
+ version: '1.23'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.19'
40
+ version: '1.23'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: async-http
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.46.3
47
+ version: 0.49.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.46.3
54
+ version: 0.49.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: async-io
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.23'
61
+ version: '1.27'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.23'
68
+ version: '1.27'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.4'
89
+ version: '1.5'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.4'
96
+ version: '1.5'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: dry-types
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.1'
103
+ version: '1.2'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.1'
110
+ version: '1.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: filewatcher
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0.9'
131
+ version: 0.9.2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0.9'
138
+ version: 0.9.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: mini_mime
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '12.3'
187
+ version: '13.0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '12.3'
194
+ version: '13.0'
195
195
  description: Core functionality for Pakyow
196
196
  email: bryan@bryanp.org
197
197
  executables:
@@ -317,6 +317,7 @@ files:
317
317
  - lib/pakyow/validations/presence.rb
318
318
  - lib/pakyow/validator.rb
319
319
  - lib/pakyow/verifier.rb
320
+ - lib/pakyow/version.rb
320
321
  homepage: https://pakyow.com
321
322
  licenses:
322
323
  - LGPL-3.0