active_response 0.0.1 → 0.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 +4 -4
- data/lib/active_response/controller/core.rb +3 -0
- data/lib/active_response/controller/crud_defaults/create.rb +6 -5
- data/lib/active_response/controller/crud_defaults/destroy.rb +4 -3
- data/lib/active_response/controller/crud_defaults/show.rb +1 -1
- data/lib/active_response/controller/crud_defaults/update.rb +5 -4
- data/lib/active_response/controller/crud_defaults.rb +20 -5
- data/lib/active_response/controller/default_responses.rb +8 -8
- data/lib/active_response/controller/resource_helper.rb +10 -2
- data/lib/active_response/responders/base.rb +6 -0
- data/lib/active_response/responders/json.rb +1 -1
- data/lib/active_response/version.rb +1 -1
- metadata +8 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1893cd93a3fb1a9e483df1bccb129a047d78a7173c81a765a48b40e00e00ad4
|
4
|
+
data.tar.gz: 5564d1d078760e6a67bd10798baaeb5cec7c6e5f2ce3dc0c74fd8f88b8579a0d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85bf41e04adbe29d540c7c165d35efafebf2bc7f9c8d32ccf2ea8757597f3ca4541d29961fbf4db25660b7ba72fbe76c6a722c4c37619c8360b6b76d6e52418a
|
7
|
+
data.tar.gz: d8168d43e40047874536975b92abc7e45b904bf475bccbc936015e21c4f66cacd5fdd5ef83e15475a512a7e831750569b9df26994cd03ca2b7825b16ff1d998e
|
@@ -30,6 +30,7 @@ module ActiveResponse
|
|
30
30
|
|
31
31
|
def active_response_block
|
32
32
|
respond_to do |format|
|
33
|
+
active_response_custom_responses(format)
|
33
34
|
ActiveResponse::Responders::Base.available_formats.each do |symbol|
|
34
35
|
format.send(symbol) do
|
35
36
|
find_active_responder(format)
|
@@ -39,6 +40,8 @@ module ActiveResponse
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
43
|
+
def active_response_custom_responses(_format); end
|
44
|
+
|
42
45
|
def active_response_type
|
43
46
|
@active_responder.type
|
44
47
|
end
|
@@ -7,8 +7,8 @@ module ActiveResponse
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def create_execute
|
10
|
-
current_resource
|
11
|
-
current_resource
|
10
|
+
current_resource!.assign_attributes(permit_params)
|
11
|
+
current_resource!.save
|
12
12
|
end
|
13
13
|
|
14
14
|
def create_failure
|
@@ -17,7 +17,8 @@ module ActiveResponse
|
|
17
17
|
|
18
18
|
def create_failure_options
|
19
19
|
{
|
20
|
-
|
20
|
+
notice: active_response_failure_message,
|
21
|
+
resource: current_resource!
|
21
22
|
}
|
22
23
|
end
|
23
24
|
|
@@ -34,12 +35,12 @@ module ActiveResponse
|
|
34
35
|
include: create_includes,
|
35
36
|
location: create_success_location,
|
36
37
|
notice: active_response_success_message,
|
37
|
-
resource: current_resource
|
38
|
+
resource: current_resource!
|
38
39
|
}
|
39
40
|
end
|
40
41
|
|
41
42
|
def create_success_location
|
42
|
-
url_for(current_resource)
|
43
|
+
url_for(current_resource!)
|
43
44
|
end
|
44
45
|
end
|
45
46
|
end
|
@@ -7,7 +7,7 @@ module ActiveResponse
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def destroy_execute
|
10
|
-
current_resource
|
10
|
+
current_resource!.destroy
|
11
11
|
end
|
12
12
|
|
13
13
|
def destroy_failure
|
@@ -16,7 +16,8 @@ module ActiveResponse
|
|
16
16
|
|
17
17
|
def destroy_failure_options
|
18
18
|
{
|
19
|
-
|
19
|
+
notice: active_response_failure_message,
|
20
|
+
resource: current_resource!
|
20
21
|
}
|
21
22
|
end
|
22
23
|
|
@@ -28,7 +29,7 @@ module ActiveResponse
|
|
28
29
|
{
|
29
30
|
location: destroy_success_location,
|
30
31
|
notice: active_response_success_message,
|
31
|
-
resource: current_resource
|
32
|
+
resource: current_resource!
|
32
33
|
}
|
33
34
|
end
|
34
35
|
|
@@ -7,7 +7,7 @@ module ActiveResponse
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def update_execute
|
10
|
-
current_resource
|
10
|
+
current_resource!.update permit_params
|
11
11
|
end
|
12
12
|
|
13
13
|
def update_failure
|
@@ -16,7 +16,8 @@ module ActiveResponse
|
|
16
16
|
|
17
17
|
def update_failure_options
|
18
18
|
{
|
19
|
-
|
19
|
+
notice: active_response_failure_message,
|
20
|
+
resource: current_resource!
|
20
21
|
}
|
21
22
|
end
|
22
23
|
|
@@ -28,12 +29,12 @@ module ActiveResponse
|
|
28
29
|
{
|
29
30
|
location: update_success_location,
|
30
31
|
notice: active_response_success_message,
|
31
|
-
resource: current_resource
|
32
|
+
resource: current_resource!
|
32
33
|
}
|
33
34
|
end
|
34
35
|
|
35
36
|
def update_success_location
|
36
|
-
url_for(current_resource)
|
37
|
+
url_for(current_resource!)
|
37
38
|
end
|
38
39
|
end
|
39
40
|
end
|
@@ -19,6 +19,18 @@ module ActiveResponse
|
|
19
19
|
include Show
|
20
20
|
include Update
|
21
21
|
|
22
|
+
private
|
23
|
+
|
24
|
+
def active_response_failure_message
|
25
|
+
return send("#{action_name}_failure_message") if respond_to?("#{action_name}_failure_message", true)
|
26
|
+
I18n.t(failure_message_translation_key, failure_message_translation_opts)
|
27
|
+
end
|
28
|
+
|
29
|
+
def active_response_success_message
|
30
|
+
return send("#{action_name}_success_message") if respond_to?("#{action_name}_success_message", true)
|
31
|
+
I18n.t(success_message_translation_key, success_message_translation_opts)
|
32
|
+
end
|
33
|
+
|
22
34
|
def default_form_options(action)
|
23
35
|
{
|
24
36
|
locals: form_view_locals_for(action),
|
@@ -27,6 +39,14 @@ module ActiveResponse
|
|
27
39
|
}
|
28
40
|
end
|
29
41
|
|
42
|
+
def failure_message_translation_key
|
43
|
+
"active_response.actions.#{action_name}.failure"
|
44
|
+
end
|
45
|
+
|
46
|
+
def failure_message_translation_opts
|
47
|
+
{type: current_resource.class.to_s.humanize}
|
48
|
+
end
|
49
|
+
|
30
50
|
def form_view_for(action)
|
31
51
|
return send("#{action}_view") if respond_to?("#{action}_view", true)
|
32
52
|
default_form_view(action)
|
@@ -45,11 +65,6 @@ module ActiveResponse
|
|
45
65
|
{}
|
46
66
|
end
|
47
67
|
|
48
|
-
def active_response_success_message
|
49
|
-
return send("#{action_name}_success_message") if respond_to?("#{action_name}_success_message", true)
|
50
|
-
I18n.t(success_message_translation_key, success_message_translation_opts)
|
51
|
-
end
|
52
|
-
|
53
68
|
def success_message_translation_key
|
54
69
|
"active_response.actions.#{action_name}.success"
|
55
70
|
end
|
@@ -4,35 +4,35 @@ module ActiveResponse
|
|
4
4
|
module Controller
|
5
5
|
module DefaultResponses
|
6
6
|
def respond_with_collection(opts)
|
7
|
-
active_responder.collection(opts)
|
7
|
+
active_responder.collection(**opts)
|
8
8
|
end
|
9
9
|
|
10
10
|
def respond_with_destroyed(opts)
|
11
|
-
active_responder.destroyed(opts)
|
11
|
+
active_responder.destroyed(**opts)
|
12
12
|
end
|
13
13
|
|
14
14
|
def respond_with_form(opts)
|
15
|
-
active_responder.form(opts)
|
15
|
+
active_responder.form(**opts)
|
16
16
|
end
|
17
17
|
|
18
18
|
def respond_with_invalid_resource(opts)
|
19
|
-
active_responder.invalid_resource(opts)
|
19
|
+
active_responder.invalid_resource(**opts)
|
20
20
|
end
|
21
21
|
|
22
22
|
def respond_with_new_resource(opts)
|
23
|
-
active_responder.new_resource(opts)
|
23
|
+
active_responder.new_resource(**opts)
|
24
24
|
end
|
25
25
|
|
26
26
|
def respond_with_redirect(opts)
|
27
|
-
active_responder.redirect(opts)
|
27
|
+
active_responder.redirect(**opts)
|
28
28
|
end
|
29
29
|
|
30
30
|
def respond_with_resource(opts)
|
31
|
-
active_responder.resource(opts)
|
31
|
+
active_responder.resource(**opts)
|
32
32
|
end
|
33
33
|
|
34
34
|
def respond_with_updated_resource(opts)
|
35
|
-
active_responder.updated_resource(opts)
|
35
|
+
active_responder.updated_resource(**opts)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -11,18 +11,26 @@ module ActiveResponse
|
|
11
11
|
instance_variable_set(var, resolve_current_resource)
|
12
12
|
end
|
13
13
|
|
14
|
+
def current_resource!
|
15
|
+
current_resource || raise(ActiveRecord::RecordNotFound)
|
16
|
+
end
|
17
|
+
|
14
18
|
def controller_class
|
15
19
|
@controller_class ||= controller_name.classify.safe_constantize
|
16
20
|
end
|
17
21
|
|
18
22
|
def requested_resource
|
19
|
-
@requested_resource ||= controller_class
|
23
|
+
@requested_resource ||= controller_class&.find_by(id: resource_id)
|
20
24
|
end
|
21
25
|
|
22
26
|
# Instantiates a new record of the current controller type
|
23
27
|
# @return [ActiveRecord::Base] A fresh model instance
|
24
28
|
def new_resource
|
25
|
-
controller_class.new
|
29
|
+
controller_class.new(new_resource_params)
|
30
|
+
end
|
31
|
+
|
32
|
+
def new_resource_params
|
33
|
+
{}
|
26
34
|
end
|
27
35
|
|
28
36
|
def resolve_current_resource
|
metadata
CHANGED
@@ -1,49 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_response
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arthur Dingemans
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: active_model_serializers
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.10'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.10'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: railties
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - ">="
|
32
18
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
- - "<"
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '6'
|
19
|
+
version: '0'
|
37
20
|
type: :runtime
|
38
21
|
prerelease: false
|
39
22
|
version_requirements: !ruby/object:Gem::Requirement
|
40
23
|
requirements:
|
41
24
|
- - ">="
|
42
25
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
- - "<"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '6'
|
26
|
+
version: '0'
|
47
27
|
- !ruby/object:Gem::Dependency
|
48
28
|
name: rspec-rails
|
49
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +85,7 @@ homepage: https://github.com/ontola/active_response
|
|
105
85
|
licenses:
|
106
86
|
- MIT
|
107
87
|
metadata: {}
|
108
|
-
post_install_message:
|
88
|
+
post_install_message:
|
109
89
|
rdoc_options: []
|
110
90
|
require_paths:
|
111
91
|
- lib
|
@@ -120,8 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
100
|
- !ruby/object:Gem::Version
|
121
101
|
version: '0'
|
122
102
|
requirements: []
|
123
|
-
rubygems_version: 3.
|
124
|
-
signing_key:
|
103
|
+
rubygems_version: 3.1.2
|
104
|
+
signing_key:
|
125
105
|
specification_version: 4
|
126
106
|
summary: Define Responders to handle different kind of responses in different formats
|
127
107
|
test_files: []
|