respond_for_helper 1.1.3 → 1.3.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/.github/workflows/ci.yml +10 -45
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +3 -0
- data/LICENSE +0 -0
- data/README.md +12 -5
- data/Rakefile +0 -0
- data/gemfiles/rails70.gemfile +9 -0
- data/gemfiles/rails71.gemfile +0 -0
- data/gemfiles/{rails61.gemfile → rails72.gemfile} +2 -2
- data/gemfiles/rails80.gemfile +6 -0
- data/gemfiles/rails81.gemfile +6 -0
- data/lib/respond_for_helper/behaviour.rb +9 -1
- data/lib/respond_for_helper/config.rb +0 -0
- data/lib/respond_for_helper/controller.rb +0 -0
- data/lib/respond_for_helper/flashes/base.rb +47 -47
- data/lib/respond_for_helper/flashes/timestamp.rb +0 -0
- data/lib/respond_for_helper/formats/any.rb +0 -0
- data/lib/respond_for_helper/formats/base.rb +61 -61
- data/lib/respond_for_helper/formats/html.rb +55 -44
- data/lib/respond_for_helper/formats/json.rb +31 -31
- data/lib/respond_for_helper/formats/turbo_stream.rb +0 -0
- data/lib/respond_for_helper/helper.rb +0 -0
- data/lib/respond_for_helper/locales/en.yml +0 -0
- data/lib/respond_for_helper/locales/ja.yml +0 -0
- data/lib/respond_for_helper/lookups/flash.rb +0 -0
- data/lib/respond_for_helper/lookups/format.rb +0 -0
- data/lib/respond_for_helper/railtie.rb +0 -0
- data/lib/respond_for_helper/respond.rb +0 -0
- data/lib/respond_for_helper/version.rb +1 -1
- data/lib/respond_for_helper.rb +0 -0
- data/respond_for_helper.gemspec +4 -2
- metadata +14 -21
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/gemfiles/rails50.gemfile +0 -7
- data/gemfiles/rails51.gemfile +0 -7
- data/gemfiles/rails52.gemfile +0 -7
- data/gemfiles/rails60.gemfile +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65624f3dfb671956c2018d91f55dc85b0dfede2b950d6e7ee15bf7b03d0c98d7
|
|
4
|
+
data.tar.gz: 4605533073a64add5ef7871e9b470df0f2f559f06413b68874b158ac67d7235e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 149e10caad6344452bca2f39c7f0cbd7515a1b2743896a3530418e4a0c70ae64a723142725a1c077e37ad3b7dc382abe023abb577cbb1aba5d5cd86d1a097eb8
|
|
7
|
+
data.tar.gz: b247e6ffa14686c6b13e1bc5dd4c398aba31b2912ac992f222a6220d6b6f7af94521caf7b85b52a114fae304f7607babc7ad0f083c384f3b23ffbc202fc79ce9
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -8,57 +8,19 @@ jobs:
|
|
|
8
8
|
strategy:
|
|
9
9
|
fail-fast: false
|
|
10
10
|
matrix:
|
|
11
|
-
ruby: [
|
|
12
|
-
gemfile: ['
|
|
11
|
+
ruby: ['3.0', 3.1, 3.2, 3.3, 3.4, '4.0']
|
|
12
|
+
gemfile: ['rails70', 'rails71', 'rails72', 'rails80', 'rails81']
|
|
13
13
|
exclude:
|
|
14
|
-
- ruby: 2.3
|
|
15
|
-
gemfile: rails60
|
|
16
|
-
- ruby: 2.3
|
|
17
|
-
gemfile: rails61
|
|
18
|
-
- ruby: 2.3
|
|
19
|
-
gemfile: rails70
|
|
20
|
-
- ruby: 2.3
|
|
21
|
-
gemfile: rails71
|
|
22
|
-
- ruby: 2.4
|
|
23
|
-
gemfile: rails60
|
|
24
|
-
- ruby: 2.4
|
|
25
|
-
gemfile: rails61
|
|
26
|
-
- ruby: 2.4
|
|
27
|
-
gemfile: rails70
|
|
28
|
-
- ruby: 2.4
|
|
29
|
-
gemfile: rails71
|
|
30
|
-
- ruby: 2.5
|
|
31
|
-
gemfile: rails70
|
|
32
|
-
- ruby: 2.5
|
|
33
|
-
gemfile: rails71
|
|
34
|
-
- ruby: 2.6
|
|
35
|
-
gemfile: rails70
|
|
36
|
-
- ruby: 2.6
|
|
37
|
-
gemfile: rails71
|
|
38
14
|
- ruby: 3.0
|
|
39
|
-
gemfile:
|
|
15
|
+
gemfile: rails72
|
|
40
16
|
- ruby: 3.0
|
|
41
|
-
gemfile:
|
|
17
|
+
gemfile: rails80
|
|
42
18
|
- ruby: 3.0
|
|
43
|
-
gemfile:
|
|
19
|
+
gemfile: rails81
|
|
44
20
|
- ruby: 3.1
|
|
45
|
-
gemfile:
|
|
21
|
+
gemfile: rails80
|
|
46
22
|
- ruby: 3.1
|
|
47
|
-
gemfile:
|
|
48
|
-
- ruby: 3.1
|
|
49
|
-
gemfile: rails52
|
|
50
|
-
- ruby: 3.2
|
|
51
|
-
gemfile: rails50
|
|
52
|
-
- ruby: 3.2
|
|
53
|
-
gemfile: rails51
|
|
54
|
-
- ruby: 3.2
|
|
55
|
-
gemfile: rails52
|
|
56
|
-
- ruby: 3.3
|
|
57
|
-
gemfile: rails50
|
|
58
|
-
- ruby: 3.3
|
|
59
|
-
gemfile: rails51
|
|
60
|
-
- ruby: 3.3
|
|
61
|
-
gemfile: rails52
|
|
23
|
+
gemfile: rails81
|
|
62
24
|
|
|
63
25
|
name: ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}
|
|
64
26
|
|
|
@@ -71,6 +33,9 @@ jobs:
|
|
|
71
33
|
with:
|
|
72
34
|
ruby-version: ${{ matrix.ruby }}
|
|
73
35
|
bundler-cache: true
|
|
36
|
+
- name: Bundle list
|
|
37
|
+
run: |
|
|
38
|
+
bundle list
|
|
74
39
|
- name: Prepare test
|
|
75
40
|
run: |
|
|
76
41
|
cd spec/dummy
|
data/.gitignore
CHANGED
|
File without changes
|
data/.rspec
CHANGED
|
File without changes
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
@@ -4,8 +4,8 @@ A rails helper for responding request format.
|
|
|
4
4
|
|
|
5
5
|
## Dependencies
|
|
6
6
|
|
|
7
|
-
* ruby
|
|
8
|
-
* rails
|
|
7
|
+
* ruby 3.0+
|
|
8
|
+
* rails 7.0+
|
|
9
9
|
|
|
10
10
|
## Installation
|
|
11
11
|
|
|
@@ -54,18 +54,25 @@ respond_for @item, html: true, json: true, any: false
|
|
|
54
54
|
|
|
55
55
|
```ruby
|
|
56
56
|
# Specify redirect location when succeeded.
|
|
57
|
-
# The value should be one of
|
|
57
|
+
# The value should be one of symbol (action name), string or proc.
|
|
58
|
+
respond_for @item, location: :index
|
|
58
59
|
respond_for @item, location: url_for(@item)
|
|
60
|
+
respond_for @item, location: -> { url_for(@item) }
|
|
59
61
|
|
|
60
62
|
# Specify template when failed.
|
|
61
63
|
# The value should be one of symbol (action name) or proc.
|
|
62
64
|
respond_for @item, failure_template: :some_template
|
|
65
|
+
respond_for @item, failure_template: -> { :some_template }
|
|
63
66
|
|
|
64
|
-
# Specify notice message when succeeded.
|
|
67
|
+
# Specify notice message when succeeded by symbol, string or proc.
|
|
68
|
+
respond_for @item, notice: :notice
|
|
65
69
|
respond_for @item, notice: 'Create was succceeded'
|
|
70
|
+
respond_for @item, notice: -> { 'Create was succceeded' }
|
|
66
71
|
|
|
67
|
-
# Specify alert message when failed.
|
|
72
|
+
# Specify alert message when failed by symbol, string or proc.
|
|
73
|
+
respond_for @item, alert: :alert
|
|
68
74
|
respond_for @item, alert: 'Create was failed'
|
|
75
|
+
respond_for @item, alert: -> { 'Create was failed' }
|
|
69
76
|
```
|
|
70
77
|
|
|
71
78
|
`respond_for` also supports block like `respond_to`:
|
data/Rakefile
CHANGED
|
File without changes
|
data/gemfiles/rails70.gemfile
CHANGED
data/gemfiles/rails71.gemfile
CHANGED
|
File without changes
|
|
@@ -4,12 +4,13 @@ module RespondForHelper
|
|
|
4
4
|
class Behaviour
|
|
5
5
|
TYPES = [:render, :redirect, :head]
|
|
6
6
|
|
|
7
|
-
attr_accessor :type, :target, :flash, :options
|
|
7
|
+
attr_accessor :type, :target, :flash, :flash_message, :options
|
|
8
8
|
|
|
9
9
|
def initialize(attrs)
|
|
10
10
|
@type = attrs.delete(:type)
|
|
11
11
|
@target = attrs.delete(:target)
|
|
12
12
|
@flash = attrs.delete(:flash)
|
|
13
|
+
@flash_message = attrs.delete(:flash_message)
|
|
13
14
|
@options = attrs
|
|
14
15
|
end
|
|
15
16
|
|
|
@@ -46,6 +47,7 @@ module RespondForHelper
|
|
|
46
47
|
|
|
47
48
|
if @format == :html
|
|
48
49
|
merge_html_options(behaviour)
|
|
50
|
+
merge_flash_options(behaviour)
|
|
49
51
|
end
|
|
50
52
|
|
|
51
53
|
behaviour
|
|
@@ -110,6 +112,12 @@ module RespondForHelper
|
|
|
110
112
|
end
|
|
111
113
|
end
|
|
112
114
|
|
|
115
|
+
def merge_flash_options(behaviour)
|
|
116
|
+
if @options[behaviour.flash]
|
|
117
|
+
behaviour.flash_message = @options[behaviour.flash]
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
113
121
|
def change_to_render(behaviour)
|
|
114
122
|
behaviour.type = :render
|
|
115
123
|
behaviour.options[:status] = @result == :success ? :ok : :unprocessable_entity
|
|
File without changes
|
|
File without changes
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RespondForHelper
|
|
4
|
-
module Flashes
|
|
5
|
-
class Base
|
|
6
|
-
def initialize(type, options = {})
|
|
7
|
-
@type = type
|
|
8
|
-
@options = options
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def call
|
|
12
|
-
I18n.t("respond_for.format", **translations.merge(message: message))
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
private
|
|
16
|
-
|
|
17
|
-
def translations
|
|
18
|
-
format_keys.each_with_object({}) do |key, map|
|
|
19
|
-
map[key] = if @options[key]
|
|
20
|
-
I18n.t("respond_for.#{key}", value: @options[key], default: '')
|
|
21
|
-
else
|
|
22
|
-
''
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def format_keys
|
|
28
|
-
I18n.t("respond_for.format").scan(/\%\{(\w+)\}/).flatten.map(&:to_sym)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def message
|
|
32
|
-
@options[@type] || I18n.t(i18n_path, default: i18n_extra_paths)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def i18n_path
|
|
36
|
-
"respond_for.message.#{@options[:controller_path]}.#{@options[:action_name]}.#{@type}"
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def i18n_extra_paths
|
|
40
|
-
[ :"respond_for.message.defaults.#{@options[:action_name]}.#{@type}",
|
|
41
|
-
:"respond_for.message.#{@options[:controller_path]}.default.#{@type}",
|
|
42
|
-
:"respond_for.message.defaults.default.#{@type}",
|
|
43
|
-
'' ]
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RespondForHelper
|
|
4
|
+
module Flashes
|
|
5
|
+
class Base
|
|
6
|
+
def initialize(type, options = {})
|
|
7
|
+
@type = type
|
|
8
|
+
@options = options
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def call
|
|
12
|
+
I18n.t("respond_for.format", **translations.merge(message: message))
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def translations
|
|
18
|
+
format_keys.each_with_object({}) do |key, map|
|
|
19
|
+
map[key] = if @options[key]
|
|
20
|
+
I18n.t("respond_for.#{key}", value: @options[key], default: '')
|
|
21
|
+
else
|
|
22
|
+
''
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def format_keys
|
|
28
|
+
I18n.t("respond_for.format").scan(/\%\{(\w+)\}/).flatten.map(&:to_sym)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def message
|
|
32
|
+
@options[@type] || I18n.t(i18n_path, default: i18n_extra_paths)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def i18n_path
|
|
36
|
+
"respond_for.message.#{@options[:controller_path]}.#{@options[:action_name]}.#{@type}"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def i18n_extra_paths
|
|
40
|
+
[ :"respond_for.message.defaults.#{@options[:action_name]}.#{@type}",
|
|
41
|
+
:"respond_for.message.#{@options[:controller_path]}.default.#{@type}",
|
|
42
|
+
:"respond_for.message.defaults.default.#{@type}",
|
|
43
|
+
'' ]
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RespondForHelper
|
|
4
|
-
module Formats
|
|
5
|
-
class Base
|
|
6
|
-
class_attribute :format
|
|
7
|
-
|
|
8
|
-
attr_reader :controller, :item, :format, :result, :behaviour
|
|
9
|
-
delegate :request, :render, :head, :redirect_to, :flash, :url_for, :action_name, to: :controller
|
|
10
|
-
|
|
11
|
-
def initialize(controller, item, success, options)
|
|
12
|
-
@controller = controller
|
|
13
|
-
@item = item
|
|
14
|
-
@result = success ? :success : :failure
|
|
15
|
-
@options = options
|
|
16
|
-
|
|
17
|
-
@format = self.class.format.to_sym
|
|
18
|
-
@behaviour = Behaviours.new(@controller, @format, @result, @options).call
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def call
|
|
22
|
-
if respond_to?("_#{action_name}", true)
|
|
23
|
-
send("_#{action_name}")
|
|
24
|
-
else
|
|
25
|
-
perform
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
def perform
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def succeeded?
|
|
35
|
-
@result == :success
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def resolve_target(target)
|
|
39
|
-
if target.respond_to?(:call)
|
|
40
|
-
@controller.instance_exec(&target)
|
|
41
|
-
elsif target.is_a?(Symbol)
|
|
42
|
-
if respond_to?(target)
|
|
43
|
-
send(target)
|
|
44
|
-
elsif @behaviour.redirect?
|
|
45
|
-
resolve_url(target)
|
|
46
|
-
else
|
|
47
|
-
target
|
|
48
|
-
end
|
|
49
|
-
else
|
|
50
|
-
target
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def resolve_url(target)
|
|
55
|
-
url_for(action: target)
|
|
56
|
-
rescue ActionController::UrlGenerationError
|
|
57
|
-
url_for(action: target, id: @item)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RespondForHelper
|
|
4
|
+
module Formats
|
|
5
|
+
class Base
|
|
6
|
+
class_attribute :format
|
|
7
|
+
|
|
8
|
+
attr_reader :controller, :item, :format, :result, :behaviour
|
|
9
|
+
delegate :request, :render, :head, :redirect_to, :flash, :url_for, :action_name, to: :controller
|
|
10
|
+
|
|
11
|
+
def initialize(controller, item, success, options)
|
|
12
|
+
@controller = controller
|
|
13
|
+
@item = item
|
|
14
|
+
@result = success ? :success : :failure
|
|
15
|
+
@options = options
|
|
16
|
+
|
|
17
|
+
@format = self.class.format.to_sym
|
|
18
|
+
@behaviour = Behaviours.new(@controller, @format, @result, @options).call
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def call
|
|
22
|
+
if respond_to?("_#{action_name}", true)
|
|
23
|
+
send("_#{action_name}")
|
|
24
|
+
else
|
|
25
|
+
perform
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def perform
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def succeeded?
|
|
35
|
+
@result == :success
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def resolve_target(target)
|
|
39
|
+
if target.respond_to?(:call)
|
|
40
|
+
@controller.instance_exec(&target)
|
|
41
|
+
elsif target.is_a?(Symbol)
|
|
42
|
+
if respond_to?(target)
|
|
43
|
+
send(target)
|
|
44
|
+
elsif @behaviour.redirect?
|
|
45
|
+
resolve_url(target)
|
|
46
|
+
else
|
|
47
|
+
target
|
|
48
|
+
end
|
|
49
|
+
else
|
|
50
|
+
target
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def resolve_url(target)
|
|
55
|
+
url_for(action: target)
|
|
56
|
+
rescue ActionController::UrlGenerationError
|
|
57
|
+
url_for(action: target, id: @item)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -1,44 +1,55 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RespondForHelper
|
|
4
|
-
module Formats
|
|
5
|
-
class Html < Base
|
|
6
|
-
self.format = :html
|
|
7
|
-
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def perform
|
|
11
|
-
if @behaviour.flash? && !request.xhr?
|
|
12
|
-
perform_flash
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
if @behaviour.render?
|
|
16
|
-
perform_render
|
|
17
|
-
elsif @behaviour.redirect?
|
|
18
|
-
perform_redirect
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def perform_render
|
|
23
|
-
render resolve_target(@behaviour.target), @behaviour.options
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def perform_redirect
|
|
27
|
-
redirect_to resolve_target(@behaviour.target), @behaviour.options
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def perform_flash
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RespondForHelper
|
|
4
|
+
module Formats
|
|
5
|
+
class Html < Base
|
|
6
|
+
self.format = :html
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def perform
|
|
11
|
+
if @behaviour.flash? && !request.xhr?
|
|
12
|
+
perform_flash
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
if @behaviour.render?
|
|
16
|
+
perform_render
|
|
17
|
+
elsif @behaviour.redirect?
|
|
18
|
+
perform_redirect
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def perform_render
|
|
23
|
+
render resolve_target(@behaviour.target), @behaviour.options
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def perform_redirect
|
|
27
|
+
redirect_to resolve_target(@behaviour.target), @behaviour.options
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def perform_flash
|
|
31
|
+
flash_content[@behaviour.flash] ||= flash_message
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def flash_message
|
|
35
|
+
if @behaviour.flash_message.is_a?(Proc)
|
|
36
|
+
@controller.instance_exec(&@behaviour.flash_message)
|
|
37
|
+
elsif @behaviour.flash_message.is_a?(Symbol)
|
|
38
|
+
@controller.respond_for_message(@behaviour.flash_message, @options)
|
|
39
|
+
elsif @behaviour.flash_message.is_a?(String)
|
|
40
|
+
@behaviour.flash_message
|
|
41
|
+
else
|
|
42
|
+
@controller.respond_for_message(@behaviour.flash, @options)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def flash_content
|
|
47
|
+
if @behaviour.render?
|
|
48
|
+
flash.now
|
|
49
|
+
elsif @behaviour.redirect?
|
|
50
|
+
flash
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module RespondForHelper
|
|
4
|
-
module Formats
|
|
5
|
-
class Json < Base
|
|
6
|
-
self.format = :json
|
|
7
|
-
|
|
8
|
-
def item_errors
|
|
9
|
-
@item.errors
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
def perform
|
|
15
|
-
if @behaviour.render?
|
|
16
|
-
perform_render
|
|
17
|
-
elsif @behaviour.head?
|
|
18
|
-
perform_head
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def perform_render
|
|
23
|
-
render @behaviour.options.merge(json: resolve_target(@behaviour.target))
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def perform_head
|
|
27
|
-
head resolve_target(@behaviour.target), @behaviour.options
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RespondForHelper
|
|
4
|
+
module Formats
|
|
5
|
+
class Json < Base
|
|
6
|
+
self.format = :json
|
|
7
|
+
|
|
8
|
+
def item_errors
|
|
9
|
+
@item.errors
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
def perform
|
|
15
|
+
if @behaviour.render?
|
|
16
|
+
perform_render
|
|
17
|
+
elsif @behaviour.head?
|
|
18
|
+
perform_head
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def perform_render
|
|
23
|
+
render @behaviour.options.merge(json: resolve_target(@behaviour.target))
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def perform_head
|
|
27
|
+
head resolve_target(@behaviour.target), @behaviour.options
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/respond_for_helper.rb
CHANGED
|
File without changes
|
data/respond_for_helper.gemspec
CHANGED
|
@@ -17,12 +17,14 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
18
18
|
spec.require_paths = ["lib"]
|
|
19
19
|
|
|
20
|
-
spec.
|
|
20
|
+
spec.required_ruby_version = ">= 3.0"
|
|
21
|
+
|
|
22
|
+
spec.add_dependency "rails", ">= 7.0"
|
|
21
23
|
spec.add_dependency "i18n"
|
|
22
24
|
|
|
23
|
-
spec.add_development_dependency "sqlite3"
|
|
24
25
|
spec.add_development_dependency "rake"
|
|
25
26
|
spec.add_development_dependency "rspec-rails"
|
|
26
27
|
spec.add_development_dependency "simplecov"
|
|
27
28
|
spec.add_development_dependency "webrick"
|
|
29
|
+
spec.add_development_dependency "logger"
|
|
28
30
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: respond_for_helper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yoshikazu Kaneta
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rails
|
|
@@ -16,14 +15,14 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
18
|
+
version: '7.0'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - ">="
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
25
|
+
version: '7.0'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: i18n
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -39,7 +38,7 @@ dependencies:
|
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
39
|
version: '0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
41
|
+
name: rake
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - ">="
|
|
@@ -53,7 +52,7 @@ dependencies:
|
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
53
|
version: '0'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
55
|
+
name: rspec-rails
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - ">="
|
|
@@ -67,7 +66,7 @@ dependencies:
|
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
67
|
version: '0'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
69
|
+
name: simplecov
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
72
71
|
requirements:
|
|
73
72
|
- - ">="
|
|
@@ -81,7 +80,7 @@ dependencies:
|
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '0'
|
|
83
82
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
83
|
+
name: webrick
|
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
|
86
85
|
requirements:
|
|
87
86
|
- - ">="
|
|
@@ -95,7 +94,7 @@ dependencies:
|
|
|
95
94
|
- !ruby/object:Gem::Version
|
|
96
95
|
version: '0'
|
|
97
96
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
97
|
+
name: logger
|
|
99
98
|
requirement: !ruby/object:Gem::Requirement
|
|
100
99
|
requirements:
|
|
101
100
|
- - ">="
|
|
@@ -123,15 +122,11 @@ files:
|
|
|
123
122
|
- LICENSE
|
|
124
123
|
- README.md
|
|
125
124
|
- Rakefile
|
|
126
|
-
- bin/console
|
|
127
|
-
- bin/setup
|
|
128
|
-
- gemfiles/rails50.gemfile
|
|
129
|
-
- gemfiles/rails51.gemfile
|
|
130
|
-
- gemfiles/rails52.gemfile
|
|
131
|
-
- gemfiles/rails60.gemfile
|
|
132
|
-
- gemfiles/rails61.gemfile
|
|
133
125
|
- gemfiles/rails70.gemfile
|
|
134
126
|
- gemfiles/rails71.gemfile
|
|
127
|
+
- gemfiles/rails72.gemfile
|
|
128
|
+
- gemfiles/rails80.gemfile
|
|
129
|
+
- gemfiles/rails81.gemfile
|
|
135
130
|
- lib/respond_for_helper.rb
|
|
136
131
|
- lib/respond_for_helper/behaviour.rb
|
|
137
132
|
- lib/respond_for_helper/config.rb
|
|
@@ -155,7 +150,6 @@ files:
|
|
|
155
150
|
homepage: https://github.com/kanety/respond_for_helper
|
|
156
151
|
licenses: []
|
|
157
152
|
metadata: {}
|
|
158
|
-
post_install_message:
|
|
159
153
|
rdoc_options: []
|
|
160
154
|
require_paths:
|
|
161
155
|
- lib
|
|
@@ -163,15 +157,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
163
157
|
requirements:
|
|
164
158
|
- - ">="
|
|
165
159
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0'
|
|
160
|
+
version: '3.0'
|
|
167
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
162
|
requirements:
|
|
169
163
|
- - ">="
|
|
170
164
|
- !ruby/object:Gem::Version
|
|
171
165
|
version: '0'
|
|
172
166
|
requirements: []
|
|
173
|
-
rubygems_version: 3.
|
|
174
|
-
signing_key:
|
|
167
|
+
rubygems_version: 3.6.9
|
|
175
168
|
specification_version: 4
|
|
176
169
|
summary: A rails helper for responding request format
|
|
177
170
|
test_files: []
|
data/bin/console
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
require "bundler/setup"
|
|
4
|
-
require "respond_for_helper"
|
|
5
|
-
|
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
|
8
|
-
|
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
10
|
-
# require "pry"
|
|
11
|
-
# Pry.start
|
|
12
|
-
|
|
13
|
-
require "irb"
|
|
14
|
-
IRB.start
|
data/bin/setup
DELETED
data/gemfiles/rails50.gemfile
DELETED
data/gemfiles/rails51.gemfile
DELETED
data/gemfiles/rails52.gemfile
DELETED