souls 0.17.4 → 0.17.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/souls +2 -0
- data/lib/souls/generate.rb +44 -0
- data/lib/souls/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48f5dacba8fb3bd0da68f45b83208de7007abb6392b7d0c8eb9176755b97c185
|
4
|
+
data.tar.gz: 64283afa2ca8decda20078855d116d8c9dd7e3979dd8ce50560e9591dfcc5135
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 507ef37fd28f186e6f7a4cc6c5e8528a5b48443afb989f247e60dab26fe4a1005733283caedb1391cc1bc0f3288ba099774ff25c3d573c2a5530ea331bfadb76
|
7
|
+
data.tar.gz: 8ae0b00d12c3acab94babcf5cb6cf19fa4a8923b26c82c5b1790de317d16fd421bf4f97e572615561d1ac7f90c6a918122625cf1420d371ef980d76870015651
|
data/exe/souls
CHANGED
data/lib/souls/generate.rb
CHANGED
@@ -59,6 +59,50 @@ module Souls
|
|
59
59
|
[file_path]
|
60
60
|
end
|
61
61
|
|
62
|
+
def rspec_policy class_name: "souls"
|
63
|
+
dir_name = "./spec/policies"
|
64
|
+
FileUtils.mkdir_p dir_name unless Dir.exist? dir_name
|
65
|
+
file_path = "./spec/policies/#{class_name}_policy_spec.rb"
|
66
|
+
File.open(file_path, "w") do |new_line|
|
67
|
+
new_line.write <<~EOS
|
68
|
+
describe #{class_name.camelize}Policy do
|
69
|
+
subject { described_class.new(user, #{class_name.underscore}) }
|
70
|
+
|
71
|
+
let(:#{class_name.underscore}) { FactoryBot.create(:#{class_name.underscore}) }
|
72
|
+
|
73
|
+
context "being a visitor" do
|
74
|
+
let(:user) { FactoryBot.create(:user) }
|
75
|
+
|
76
|
+
it { is_expected.to permit_action(:index) }
|
77
|
+
it { is_expected.to permit_action(:show) }
|
78
|
+
it { is_expected.to forbid_actions([:create, :update, :delete]) }
|
79
|
+
end
|
80
|
+
|
81
|
+
context "being a retailer" do
|
82
|
+
let(:user) { FactoryBot.create(:user, user_role: 1) }
|
83
|
+
|
84
|
+
it { is_expected.to permit_action(:index) }
|
85
|
+
it { is_expected.to permit_action(:show) }
|
86
|
+
it { is_expected.to forbid_actions([:create, :update, :delete]) }
|
87
|
+
end
|
88
|
+
|
89
|
+
context "being a staff" do
|
90
|
+
let(:user) { FactoryBot.create(:user, user_role: 3) }
|
91
|
+
|
92
|
+
it { is_expected.to permit_actions([:create, :update, :delete]) }
|
93
|
+
end
|
94
|
+
|
95
|
+
context "being an administrator" do
|
96
|
+
let(:user) { FactoryBot.create(:user, user_role: 4) }
|
97
|
+
|
98
|
+
it { is_expected.to permit_actions([:create, :update, :delete]) }
|
99
|
+
end
|
100
|
+
end
|
101
|
+
EOS
|
102
|
+
end
|
103
|
+
[file_path]
|
104
|
+
end
|
105
|
+
|
62
106
|
def resolver_head class_name: "souls"
|
63
107
|
FileUtils.mkdir_p "./app/graphql/resolvers" unless Dir.exist? "./app/graphql/resolvers"
|
64
108
|
file_path = "./app/graphql/resolvers/#{class_name.singularize}_search.rb"
|
data/lib/souls/version.rb
CHANGED