not_found_catcher 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3fe3735ef2612d8ed88e21966bb9a4a5c6d8139
4
- data.tar.gz: 50564927e40e1034e0b8f9e11a12390c1813f9ca
3
+ metadata.gz: be729cb9d47f23ef15271fa995c3df3d4715ce66
4
+ data.tar.gz: c98e3a14011a8b2f4a01ed69be9aef1d694867f1
5
5
  SHA512:
6
- metadata.gz: 65513e6047ab9b2ca7d50c0c25d86920d8ab455de998eab12fc74efa05a151c36eb5a7bce28a25e65082211c7c280cde919009215b0df0a53d63669788ecb458
7
- data.tar.gz: 21629de87a8d906a49b8a627098aa5edef5ad92e48fb38fc04039e15b1b8e407c832349da72e5c1266c097d220910b83b75c8ada38749907141a92fe4d10bac6
6
+ metadata.gz: ad9568bab8851ad595f17b0d7f5631ee040cd10e555a5a3b312cb317666103240180ddad49c02c27234e460e2ee028e80030b4ad809b47824f0bebbef81e563f
7
+ data.tar.gz: 165c2abf4a01399a2661263d9055e81066ced355260f17e92318c1a6bde1364e44a14cad8cca424ed6c8924be480901cacc2f266b20441b162b36ad2aa040326
@@ -0,0 +1,43 @@
1
+
2
+ .not_found_catcher div.field,
3
+ .n.not_found_catcher ot_found_catcher div.actions {
4
+ margin-bottom: 10px;
5
+ }
6
+
7
+ .not_found_catcher #notice {
8
+ color: green;
9
+ }
10
+
11
+ .not_found_catcher .field_with_errors {
12
+ padding: 2px;
13
+ background-color: red;
14
+ display: table;
15
+ }
16
+
17
+ .not_found_catcher #error_explanation {
18
+ width: 450px;
19
+ border: 2px solid red;
20
+ padding: 7px 7px 0;
21
+ margin-bottom: 20px;
22
+ background-color: #f0f0f0;
23
+ }
24
+
25
+ .not_found_catcher #error_explanation h2 {
26
+ text-align: left;
27
+ font-weight: bold;
28
+ padding: 5px 5px 5px 15px;
29
+ font-size: 12px;
30
+ margin: -7px -7px 0;
31
+ background-color: #c00;
32
+ color: #fff;
33
+ }
34
+
35
+ .not_found_catcher #error_explanation ul li {
36
+ font-size: 12px;
37
+ list-style: square;
38
+ }
39
+
40
+ .not_found_catcher label {
41
+ display: block;
42
+ }
43
+
@@ -21,7 +21,9 @@ module NotFoundCatcher
21
21
  @obj.save
22
22
  f.html {redirect_to root_path}
23
23
  else
24
- render :edit
24
+ f.html {
25
+ render :edit
26
+ }
25
27
  end
26
28
 
27
29
  end
@@ -41,6 +43,7 @@ module NotFoundCatcher
41
43
  end
42
44
 
43
45
  private
46
+
44
47
  def load_object
45
48
  @obj = NotFoundCatcher.request_store.find(params[:id]).model
46
49
  end
@@ -68,6 +68,16 @@ class NotFoundCatcher::RequestStore
68
68
  rule
69
69
  end
70
70
 
71
+ def find_by_redirect(key)
72
+ rule = nil
73
+ store.transaction(true) do
74
+ store.roots.each do |k|
75
+ rule = store[k] if store[k].redirect == key
76
+ end
77
+ end
78
+ rule
79
+ end
80
+
71
81
  ##
72
82
  # Store yaml
73
83
  def store
@@ -7,6 +7,8 @@ module NotFoundCatcher
7
7
  attribute :http_method, :string
8
8
  attribute :redirect, :string
9
9
 
10
+ validate :check_redirect_uniqueness
11
+
10
12
 
11
13
  def persisted?
12
14
  true
@@ -26,7 +28,16 @@ module NotFoundCatcher
26
28
 
27
29
  end
28
30
 
29
- delegate :destroy,to: :request_parser
31
+ delegate :destroy, to: :request_parser
32
+
33
+
34
+ private
35
+
36
+ def check_redirect_uniqueness
37
+ unless self.redirect.blank?
38
+ self.errors.add(:redirect, :not_unique) if NotFoundCatcher.request_store.find_by_redirect(self.redirect)
39
+ end
40
+ end
30
41
 
31
42
  end
32
43
  end
@@ -2,11 +2,11 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Not found catcher</title>
5
- <%= stylesheet_link_tag "not_found_catcher/application", media: "all" %>
5
+ <%= stylesheet_link_tag "not_found_catcher/application", media: "all" %>
6
6
  <%= javascript_include_tag "not_found_catcher/application" %>
7
7
  <%= csrf_meta_tags %>
8
8
  </head>
9
- <body>
9
+ <body class="not_found_catcher">
10
10
 
11
11
  <%= yield %>
12
12
 
@@ -1,3 +1,3 @@
1
1
  module NotFoundCatcher
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: not_found_catcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marino Bonetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-05 00:00:00.000000000 Z
11
+ date: 2019-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,20 +44,6 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: sqlite3
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
47
  description: 'Mountable Engine to catch not_found_errors and to administrate redirects '
62
48
  email:
63
49
  - marinobonetti@gmail.com
@@ -71,6 +57,7 @@ files:
71
57
  - app/assets/config/not_found_catcher_manifest.js
72
58
  - app/assets/javascripts/not_found_catcher/application.js
73
59
  - app/assets/stylesheets/not_found_catcher/application.css
60
+ - app/assets/stylesheets/not_found_catcher/scaffold.css
74
61
  - app/controllers/not_found_catcher/application_controller.rb
75
62
  - app/controllers/not_found_catcher/exceptions_controller.rb
76
63
  - app/controllers/not_found_catcher/roles_controller.rb