base_editing_bootstrap 0.8.0 → 0.9.1

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
  SHA256:
3
- metadata.gz: 5b1619def3100d40ea9c0af463dae74782d4a1a66b6b01fd823fb8a6fb4a7be0
4
- data.tar.gz: 81fb33920d91b1273f7055f6522552de71c0cb0098bae8b9af2e896fcbd21695
3
+ metadata.gz: 0c6c6f28177733d11676c8d4a02244cc35ecd6bdcd781810f5b8684e4d437740
4
+ data.tar.gz: e74338339bd8cbb23c41c3ab297305b0808bc7330e28d5007b7b333e1aa04273
5
5
  SHA512:
6
- metadata.gz: a22d5a35dfc17ff26c47373ee4815d8706f53dcf164f6fb9701c5855bfaa83b99f20be9e9e62c94f6acbcb6df36076b38d53a2d6589e6837271a7a4169daae3a
7
- data.tar.gz: dacc99dbc960c9e98170ce249238343036fdae23d7de23c4c439d3b0c80765168f6d0ad27a9de47b707663a130d865d5fd04100186f5440ca6573b3f28221aef
6
+ metadata.gz: 97129ae0001d5db7495a0f6001c6aeca698e226aeb78931296e0e14766f3fb4f11d8f138b881232668cc1703a76e6806ce0fd30f578d0764fd6bbb3cdf2cc661
7
+ data.tar.gz: d0925d777f781941e8951e34d8d83710f2459da0cbba0f9354902cd4a5498bd3da49ceb978cf99bb1bd440f603593e6bec63a1d5d5f6fa1fa439ac465dcb3fe3
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
  All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
3
3
 
4
4
  - - -
5
+ ## 0.9.1 - 2024-06-17
6
+ #### Bug Fixes
7
+ - Change http status check from symbol to number - (1ecd63d) - Marino Bonetti
8
+
9
+ - - -
10
+
11
+ ## 0.9.0 - 2024-06-16
12
+ #### Features
13
+ - Change default and docs for show - (f320698) - Marino Bonetti
14
+
15
+ - - -
16
+
5
17
  ## 0.8.0 - 2024-06-12
6
18
  #### Documentation
7
19
  - Update Documentation - (1c7c723) - Marino Bonetti
data/README.md CHANGED
@@ -190,12 +190,20 @@ Policy
190
190
  require 'rails_helper'
191
191
  ##
192
192
  # - check_default_responses default false, to check default responses
193
- # TODO should be configurable
194
- # [:show?, false],
193
+ #
194
+ # on true all are true
195
+ # [:show?, true],
195
196
  # [:destroy?, true],
196
197
  # [:update?, true],
197
198
  # [:create?, true],
198
199
  # [:index?, true],
200
+ #
201
+ # when hash keys are:
202
+ # - show
203
+ # - destroy
204
+ # - update
205
+ # - create
206
+ # - index
199
207
  #
200
208
  RSpec.describe ServicePolicy, type: :policy do
201
209
  it_behaves_like "a standard base model policy", :service, check_default_responses: false
@@ -7,7 +7,7 @@ class BaseModelPolicy < ApplicationPolicy
7
7
 
8
8
  def destroy? = general_rule
9
9
 
10
- def show? = false
10
+ def show? = general_rule
11
11
 
12
12
  # Questo metodo può essere anche scritto specifico per azione:
13
13
  # - permitted_attributes_for_create
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.9.1
@@ -88,7 +88,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
88
88
  it "response" do
89
89
  params = {q: {"foo_eq": "foo"}}
90
90
  get url_for_index, params: params
91
- expect(response).to have_http_status(:ok)
91
+ expect(response).to have_http_status(200)
92
92
  expect(assigns[:search_instance]).to be_an_instance_of(BaseEditingBootstrap::Searches::Base).and(have_attributes(
93
93
  user: user,
94
94
  params: ActionController::Parameters.new(params).permit!
@@ -101,7 +101,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
101
101
  describe "new" do
102
102
  it "response" do
103
103
  get url_for_new
104
- expect(response).to have_http_status(:ok)
104
+ expect(response).to have_http_status(200)
105
105
  expect(assigns[:object]).to be_an_instance_of(model)
106
106
  end
107
107
  end
@@ -111,7 +111,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
111
111
  describe "edit" do
112
112
  it "response" do
113
113
  get url_for_edit.call
114
- expect(response).to have_http_status(:ok)
114
+ expect(response).to have_http_status(200)
115
115
  expect(assigns[:object]).to be_an_instance_of(model)
116
116
  end
117
117
  end
@@ -122,7 +122,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
122
122
  it "response" do
123
123
  put url_for_update, params: {param_key => valid_attributes}
124
124
  expect(assigns[:object]).to be_an_instance_of(model)
125
- expect(response).to have_http_status(:see_other)
125
+ expect(response).to have_http_status(303)
126
126
  case BaseEditingBootstrap.after_success_update_redirect
127
127
  when :index
128
128
  expect(response).to redirect_to(url_for_index)
@@ -135,7 +135,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
135
135
  unless skip_invalid_checks
136
136
  it "not valid" do
137
137
  put url_for_update, params: {param_key => invalid_attributes}
138
- expect(response).to have_http_status(:unprocessable_entity)
138
+ expect(response).to have_http_status(422)
139
139
  end
140
140
  end
141
141
  end
@@ -146,7 +146,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
146
146
  it "response" do
147
147
  post url_for_create, params: {param_key => valid_attributes}
148
148
  expect(assigns[:object]).to be_an_instance_of(model)
149
- expect(response).to have_http_status(:see_other)
149
+ expect(response).to have_http_status(303)
150
150
  case BaseEditingBootstrap.after_success_create_redirect
151
151
  when :index
152
152
  expect(response).to redirect_to(url_for_index)
@@ -159,7 +159,7 @@ RSpec.shared_examples "base editing controller" do |factory: nil, only: [], exce
159
159
  unless skip_invalid_checks
160
160
  it "not valid" do
161
161
  post url_for_create, params: {param_key => invalid_attributes}
162
- expect(response).to have_http_status(:unprocessable_entity)
162
+ expect(response).to have_http_status(422)
163
163
  end
164
164
  end
165
165
  end
@@ -19,12 +19,47 @@ RSpec.shared_examples "a standard base model policy" do |factory, check_default_
19
19
 
20
20
  describe "standard_methods" do
21
21
  where(:method, :response) do
22
+
23
+ if check_default_responses == true
24
+ checks = {
25
+ show: true,
26
+ destroy: true,
27
+ update: true,
28
+ create: true,
29
+ index: true
30
+ }
31
+ elsif check_default_responses.is_a? Hash
32
+ checks = check_default_responses
33
+ elsif check_default_responses == false
34
+ checks = {}
35
+ else
36
+ raise <<-MESSAGE.strip_heredoc
37
+ Acceptable values for check_default_responses are:
38
+ - true
39
+ - false
40
+ - Hash with:
41
+ show
42
+ destroy
43
+ update
44
+ create
45
+ index
46
+ MESSAGE
47
+ end
48
+
49
+ checks.reverse_merge!(
50
+ show: true,
51
+ destroy: true,
52
+ update: true,
53
+ create: true,
54
+ index: true
55
+ )
56
+
22
57
  [
23
- [:show?, false],
24
- [:destroy?, true],
25
- [:update?, true],
26
- [:create?, true],
27
- [:index?, true],
58
+ [:show?, checks[:show]],
59
+ [:destroy?, checks[:destroy]],
60
+ [:update?, checks[:update]],
61
+ [:create?, checks[:create]],
62
+ [:index?, checks[:index]],
28
63
  ]
29
64
  end
30
65
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: base_editing_bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marino Bonetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-12 00:00:00.000000000 Z
11
+ date: 2024-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails