ajax_error_render 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b4423547ad5a02c729a193fe0405be62ae03aec524ca4e98778e38b2efdb697e
4
+ data.tar.gz: 90221dba75ad5bcb240d7a75de4888669b8d4b798f172e5faa04b0949ed4c018
5
+ SHA512:
6
+ metadata.gz: 89c4e6d848f4eaaa38734011120cd31de7bedcd0103fb27af436cd46ab73c66eb3146ff53c9f3ee707475d3e4dcac86476bbde753806208abd369242fda91728
7
+ data.tar.gz: dad349e47a7e26ba7732b747d1ee3a9b70b9a6e1178585e529b0e22f3ed08635eca9545b38720d641a541cc46bda001bb3840a3d254de9eaf060cc509889b5e7
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2022 shun0211
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # AjaxErrorRender
2
+ Formの送信をAjaxで通信で行った際、エラーメッセージを返すメソッドの提供をします。
3
+ このメソッドでは、#errorのHTML要素のinnerHTMLにエラーメッセージを挿入します。
4
+
5
+ ## Installation
6
+ Add this line to your application's Gemfile:
7
+
8
+ ```ruby
9
+ gem 'ajax_error_render'
10
+ ```
11
+
12
+ ```bash
13
+ $ bundle install
14
+ ```
15
+
16
+ Or install it yourself as:
17
+ ```bash
18
+ $ gem install ajax_error_render
19
+ ```
20
+
21
+ ## Usage
22
+ 1. viewファイルの作成\
23
+ 作成されるviewファイルは編集してカスタマイズすることができます。
24
+ ```bash
25
+ $ rails generate ajax_error_render:install
26
+ ```
27
+
28
+ 2. 使用するコントローラーでモジュールをincludeします。\
29
+ render_ajax_errorメソッドをモデルのインスタンスを引数に使用します。\
30
+ 例)
31
+ ```ruby
32
+ require 'ajax_error_render'
33
+
34
+ class UsersController < ApplicationController
35
+ include AjaxErrorRender
36
+
37
+ def create
38
+ @user = User.new(name: params[:user][:name])
39
+ if @user.save
40
+ redirect_to users_path
41
+ else
42
+ render_ajax_error(@user)
43
+ end
44
+ end
45
+ end
46
+ ```
47
+
48
+ ## License
49
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ require "bundler/setup"
2
+
3
+ require "bundler/gem_tasks"
@@ -0,0 +1,9 @@
1
+ <% if model.errors.any? %>
2
+ <div class="error-messages">
3
+ <% model.errors.full_messages.each do |message| %>
4
+ <li class="alert alert-danger">
5
+ <%= message %>
6
+ </li>
7
+ <% end %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,2 @@
1
+ let element = document.getElementById('error')
2
+ element.innerHTML = "<%= j render("errors/error", model: @model) %>"
@@ -0,0 +1,4 @@
1
+ module AjaxErrorRender
2
+ class Railtie < ::Rails::Railtie
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ module AjaxErrorRender
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,9 @@
1
+ require "ajax_error_render/version"
2
+ require "ajax_error_render/railtie"
3
+
4
+ module AjaxErrorRender
5
+ def render_ajax_error(model)
6
+ @model = model
7
+ render 'errors/error'
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate ajax_error_render:install
6
+
7
+ This will create:
8
+ app/views/errors/error.js.erb
9
+ app/views/errors/_error.html.erb
@@ -0,0 +1,10 @@
1
+ module AjaxErrorRender
2
+ class InstallGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('templates', __dir__)
4
+
5
+ def copy_ajax_error_render_file
6
+ copy_file "error.js.erb", "app/views/errors/error.js.erb"
7
+ copy_file "_error.html.erb", "app/views/errors/_error.html.erb"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ <% if model.errors.any? %>
2
+ <div class="error-messages">
3
+ <% model.errors.full_messages.each do |message| %>
4
+ <li class="alert alert-danger">
5
+ <%= message %>
6
+ </li>
7
+ <% end %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,2 @@
1
+ let element = document.getElementById('error')
2
+ element.innerHTML = "<%= j render("errors/error", model: @model) %>"
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ajax_error_render do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ajax_error_render
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - shun0211
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.1.4
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 6.1.4.4
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 6.1.4
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 6.1.4.4
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec-rails
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: pry-rails
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: puma
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: turbolinks
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '5'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '5'
89
+ - !ruby/object:Gem::Dependency
90
+ name: webpacker
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '5.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.0'
103
+ description: It is a Gem for creating and rendering the HTML of the error message
104
+ when there is a validation error for the request sent by ajax.
105
+ email:
106
+ - ss211_sabcabc12312395_18@yahoo.co.jp
107
+ executables: []
108
+ extensions: []
109
+ extra_rdoc_files: []
110
+ files:
111
+ - MIT-LICENSE
112
+ - README.md
113
+ - Rakefile
114
+ - app/views/errors/_error.html.erb
115
+ - app/views/errors/error.js.erb
116
+ - lib/ajax_error_render.rb
117
+ - lib/ajax_error_render/railtie.rb
118
+ - lib/ajax_error_render/version.rb
119
+ - lib/generators/USAGE
120
+ - lib/generators/ajax_error_render/install/install_generator.rb
121
+ - lib/generators/ajax_error_render/install/templates/_error.html.erb
122
+ - lib/generators/ajax_error_render/install/templates/error.js.erb
123
+ - lib/tasks/ajax_error_render_tasks.rake
124
+ homepage: https://github.com/shun0211/ajax_error_render
125
+ licenses:
126
+ - MIT
127
+ metadata:
128
+ homepage_uri: https://github.com/shun0211/ajax_error_render
129
+ post_install_message:
130
+ rdoc_options: []
131
+ require_paths:
132
+ - lib
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubygems_version: 3.2.22
145
+ signing_key:
146
+ specification_version: 4
147
+ summary: a friend with turbolinks and form_with
148
+ test_files: []