pakyow-core 1.0.1 → 1.0.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.
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