pakyow-core 1.0.0.rc3 → 1.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pakyow/app.rb +1 -1
- data/lib/pakyow/app/connection/session/{abstract.rb → base.rb} +1 -1
- data/lib/pakyow/app/connection/session/cookie.rb +2 -2
- data/lib/pakyow/environment.rb +3 -3
- data/lib/pakyow/plugin.rb +2 -2
- data/lib/pakyow/validations/acceptance.rb +1 -5
- data/lib/pakyow/validations/email.rb +1 -5
- data/lib/pakyow/validations/length.rb +1 -5
- data/lib/pakyow/validations/presence.rb +1 -5
- data/lib/pakyow/validator.rb +11 -6
- data/lib/pakyow/verifier.rb +19 -4
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2459ddb34a6178feacae487fae09c9c63da79c6bc2e972c9f87a5b62eef5223
|
4
|
+
data.tar.gz: dced9f2b9edfacb5d882974dc5d75f00bb5a6530d4c80557f3887dd3f6caadd6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b992515ae92571231c20dad536fb82fb22b750a0b72bc4fc01742787610d7977c39da170347a28ab2bad0b14d4a9cf683b38552b4c48320e094ea186daf19ac
|
7
|
+
data.tar.gz: '029912f307a40c71748e4103f7fec56b1bfef1a6e8ce8807bb4d2fc7dd8b3b76e35afa7bf1ffb128f9afd858001c77c95e2dcf194096213b006ae93813828eed'
|
data/lib/pakyow/app.rb
CHANGED
@@ -188,7 +188,7 @@ module Pakyow
|
|
188
188
|
app_connection = isolated(:Connection).new(self, connection)
|
189
189
|
super(app_connection)
|
190
190
|
rescue => error
|
191
|
-
if respond_to?(:controller_for_connection) && controller = controller_for_connection(app_connection)
|
191
|
+
if app_connection && respond_to?(:controller_for_connection) && controller = controller_for_connection(app_connection)
|
192
192
|
controller.handle_error(error)
|
193
193
|
else
|
194
194
|
raise error
|
@@ -6,7 +6,7 @@ module Pakyow
|
|
6
6
|
class App
|
7
7
|
class Connection
|
8
8
|
module Session
|
9
|
-
class
|
9
|
+
class Base < DelegateClass(Support::IndifferentHash)
|
10
10
|
def initialize(connection, options, values = Support::IndifferentHash.new)
|
11
11
|
@connection, @options = connection, options
|
12
12
|
super(values)
|
@@ -5,13 +5,13 @@ require "base64"
|
|
5
5
|
require "pakyow/support/indifferentize"
|
6
6
|
require "pakyow/support/message_verifier"
|
7
7
|
|
8
|
-
require "pakyow/app/connection/session/
|
8
|
+
require "pakyow/app/connection/session/base"
|
9
9
|
|
10
10
|
module Pakyow
|
11
11
|
class App
|
12
12
|
class Connection
|
13
13
|
module Session
|
14
|
-
class Cookie <
|
14
|
+
class Cookie < Base
|
15
15
|
def initialize(connection, options)
|
16
16
|
if (cookie = connection.cookies[options.name]) && cookie.is_a?(Support::IndifferentHash)
|
17
17
|
super(connection, options, Support::IndifferentHash.new(cookie[:value].to_h))
|
data/lib/pakyow/environment.rb
CHANGED
@@ -125,9 +125,9 @@ module Pakyow
|
|
125
125
|
class_state :tasks, default: []
|
126
126
|
class_state :mounts, default: []
|
127
127
|
class_state :frameworks, default: {}
|
128
|
-
class_state :booted, default: false,
|
129
|
-
class_state :server, default: nil,
|
130
|
-
class_state :env, default: nil,
|
128
|
+
class_state :booted, default: false, reader: false
|
129
|
+
class_state :server, default: nil, reader: false
|
130
|
+
class_state :env, default: nil, reader: false
|
131
131
|
class_state :setup_error, default: nil
|
132
132
|
|
133
133
|
class << self
|
data/lib/pakyow/plugin.rb
CHANGED
@@ -260,7 +260,7 @@ module Pakyow
|
|
260
260
|
#
|
261
261
|
@parent.endpoints << Endpoint.new(
|
262
262
|
name: [config.name.to_s, endpoint.name].join("_"),
|
263
|
-
method:
|
263
|
+
method: endpoint.method,
|
264
264
|
builder: endpoint.builder
|
265
265
|
)
|
266
266
|
|
@@ -276,7 +276,7 @@ module Pakyow
|
|
276
276
|
|
277
277
|
@parent.endpoints << Endpoint.new(
|
278
278
|
name: endpoint_name,
|
279
|
-
method:
|
279
|
+
method: endpoint.method,
|
280
280
|
builder: endpoint.builder
|
281
281
|
)
|
282
282
|
end
|
@@ -19,10 +19,6 @@ module Pakyow
|
|
19
19
|
module Acceptance
|
20
20
|
using Support::Refinements::Array::Ensurable
|
21
21
|
|
22
|
-
def self.name
|
23
|
-
:acceptance
|
24
|
-
end
|
25
|
-
|
26
22
|
def self.message(**)
|
27
23
|
"must be accepted"
|
28
24
|
end
|
@@ -32,6 +28,6 @@ module Pakyow
|
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
35
|
-
Validator.register_validation(Acceptance)
|
31
|
+
Validator.register_validation(Acceptance, :acceptance)
|
36
32
|
end
|
37
33
|
end
|
@@ -10,10 +10,6 @@ module Pakyow
|
|
10
10
|
module Email
|
11
11
|
REGEX = /\A[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\z/i
|
12
12
|
|
13
|
-
def self.name
|
14
|
-
:email
|
15
|
-
end
|
16
|
-
|
17
13
|
def self.message(**)
|
18
14
|
"must be a valid email address"
|
19
15
|
end
|
@@ -23,6 +19,6 @@ module Pakyow
|
|
23
19
|
end
|
24
20
|
end
|
25
21
|
|
26
|
-
Validator.register_validation(Email)
|
22
|
+
Validator.register_validation(Email, :email)
|
27
23
|
end
|
28
24
|
end
|
@@ -8,10 +8,6 @@ module Pakyow
|
|
8
8
|
#
|
9
9
|
# @api public
|
10
10
|
module Length
|
11
|
-
def self.name
|
12
|
-
:length
|
13
|
-
end
|
14
|
-
|
15
11
|
def self.message(minimum: nil, maximum: nil, **)
|
16
12
|
if minimum && maximum
|
17
13
|
"must have between #{minimum} and #{maximum} characters"
|
@@ -39,6 +35,6 @@ module Pakyow
|
|
39
35
|
end
|
40
36
|
end
|
41
37
|
|
42
|
-
Validator.register_validation(Length)
|
38
|
+
Validator.register_validation(Length, :length)
|
43
39
|
end
|
44
40
|
end
|
@@ -15,10 +15,6 @@ module Pakyow
|
|
15
15
|
#
|
16
16
|
# @api public
|
17
17
|
module Presence
|
18
|
-
def self.name
|
19
|
-
:presence
|
20
|
-
end
|
21
|
-
|
22
18
|
def self.message(**)
|
23
19
|
"cannot be blank"
|
24
20
|
end
|
@@ -34,6 +30,6 @@ module Pakyow
|
|
34
30
|
end
|
35
31
|
end
|
36
32
|
|
37
|
-
Validator.register_validation(Presence)
|
33
|
+
Validator.register_validation(Presence, :presence)
|
38
34
|
end
|
39
35
|
end
|
data/lib/pakyow/validator.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "pakyow/support/class_state"
|
4
|
+
require "pakyow/support/extension"
|
4
5
|
|
5
6
|
require "pakyow/errors"
|
6
7
|
|
7
8
|
module Pakyow
|
8
9
|
class Validator
|
9
10
|
class Result
|
10
|
-
def initialize
|
11
|
+
def initialize(key)
|
12
|
+
@key = key
|
11
13
|
@errors = []
|
12
14
|
end
|
13
15
|
|
@@ -19,9 +21,12 @@ module Pakyow
|
|
19
21
|
@errors.empty?
|
20
22
|
end
|
21
23
|
|
22
|
-
def messages
|
24
|
+
def messages(type: :default)
|
23
25
|
@errors.map { |validation, options|
|
24
|
-
|
26
|
+
Verifier.formatted_message(
|
27
|
+
(options[:message] || validation.message(**options)),
|
28
|
+
type: type, key: @key
|
29
|
+
)
|
25
30
|
}
|
26
31
|
end
|
27
32
|
end
|
@@ -30,8 +35,8 @@ module Pakyow
|
|
30
35
|
class_state :validation_objects, default: {}
|
31
36
|
|
32
37
|
class << self
|
33
|
-
def register_validation(validation_object)
|
34
|
-
@validation_objects[
|
38
|
+
def register_validation(validation_object, validation_name)
|
39
|
+
@validation_objects[validation_name] = validation_object
|
35
40
|
end
|
36
41
|
|
37
42
|
# @api private
|
@@ -68,7 +73,7 @@ module Pakyow
|
|
68
73
|
end
|
69
74
|
|
70
75
|
def call(values, context: nil)
|
71
|
-
result = Result.new
|
76
|
+
result = Result.new(@key)
|
72
77
|
|
73
78
|
@validations.each do |validation, options|
|
74
79
|
unless validation.valid?(values, key: @key, context: context, **options)
|
data/lib/pakyow/verifier.rb
CHANGED
@@ -38,18 +38,20 @@ module Pakyow
|
|
38
38
|
!@validation.nil?
|
39
39
|
end
|
40
40
|
|
41
|
-
def messages
|
41
|
+
def messages(type: :default)
|
42
42
|
if validating?
|
43
|
-
messages = @validation.messages
|
43
|
+
messages = @validation.messages(type: type)
|
44
44
|
else
|
45
45
|
messages = {}
|
46
46
|
|
47
47
|
@errors.each_pair do |key, value|
|
48
|
-
messages[key] = value
|
48
|
+
messages[key] = value.map { |each_value|
|
49
|
+
Verifier.formatted_message(each_value, type: type, key: key)
|
50
|
+
}
|
49
51
|
end
|
50
52
|
|
51
53
|
@nested.each_pair do |key, verifier|
|
52
|
-
nested_messages = verifier.messages
|
54
|
+
nested_messages = verifier.messages(type: type)
|
53
55
|
|
54
56
|
unless nested_messages.empty?
|
55
57
|
messages[key] = nested_messages
|
@@ -61,6 +63,19 @@ module Pakyow
|
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
66
|
+
class << self
|
67
|
+
def formatted_message(message, type:, key:)
|
68
|
+
case type
|
69
|
+
when :full
|
70
|
+
"#{key} #{message}"
|
71
|
+
when :presentable
|
72
|
+
"#{Support.inflector.humanize(key)} #{message}"
|
73
|
+
else
|
74
|
+
message
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
64
79
|
using Support::Refinements::Array::Ensurable
|
65
80
|
|
66
81
|
extend Forwardable
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.rc4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Powell
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: commands
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-07-
|
12
|
+
date: 2019-07-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pakyow-support
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - '='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.0.0.
|
20
|
+
version: 1.0.0.rc4
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - '='
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.0.0.
|
27
|
+
version: 1.0.0.rc4
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: async
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,7 +210,7 @@ files:
|
|
210
210
|
- lib/pakyow/app/connection/behavior/session.rb
|
211
211
|
- lib/pakyow/app/connection/behavior/values.rb
|
212
212
|
- lib/pakyow/app/connection/behavior/verifier.rb
|
213
|
-
- lib/pakyow/app/connection/session/
|
213
|
+
- lib/pakyow/app/connection/session/base.rb
|
214
214
|
- lib/pakyow/app/connection/session/cookie.rb
|
215
215
|
- lib/pakyow/behavior/aspects.rb
|
216
216
|
- lib/pakyow/behavior/config.rb
|