moca_rlibs 0.0.2 → 0.0.3
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/.idea/.gitignore +8 -0
- data/.idea/misc.xml +4 -0
- data/.idea/modules.xml +8 -0
- data/.idea/rlibs.iml +69 -0
- data/.idea/vcs.xml +6 -0
- data/.rubocop.yml +16 -0
- data/Gemfile.lock +52 -10
- data/README.md +94 -0
- data/lib/moca_rlibs/grape_errors/bad_gateway.rb +14 -0
- data/lib/moca_rlibs/grape_errors/bad_request.rb +14 -0
- data/lib/moca_rlibs/grape_errors/conflict.rb +14 -0
- data/lib/moca_rlibs/grape_errors/forbidden.rb +14 -0
- data/lib/moca_rlibs/grape_errors/gateway_timeout.rb +14 -0
- data/lib/moca_rlibs/grape_errors/internal_server_error.rb +14 -0
- data/lib/moca_rlibs/grape_errors/not_found.rb +14 -0
- data/lib/moca_rlibs/grape_errors/reset_content.rb +14 -0
- data/lib/moca_rlibs/grape_errors/retry_required.rb +14 -0
- data/lib/moca_rlibs/grape_errors/service_unavailable.rb +14 -0
- data/lib/moca_rlibs/grape_errors/too_many_requests.rb +14 -0
- data/lib/moca_rlibs/grape_errors/unauthorized.rb +14 -0
- data/lib/moca_rlibs/grape_validators/email.rb +20 -0
- data/lib/moca_rlibs/grape_validators/email_rfc.rb +22 -0
- data/lib/moca_rlibs/grape_validators/email_strict.rb +22 -0
- data/lib/moca_rlibs/grape_validators/ends_with.rb +27 -0
- data/lib/moca_rlibs/grape_validators/length.rb +30 -0
- data/lib/moca_rlibs/grape_validators/max.rb +25 -0
- data/lib/moca_rlibs/grape_validators/min.rb +25 -0
- data/lib/moca_rlibs/grape_validators/only_alpha.rb +20 -0
- data/lib/moca_rlibs/grape_validators/only_alpha_numeric.rb +20 -0
- data/lib/moca_rlibs/grape_validators/only_ascii.rb +20 -0
- data/lib/moca_rlibs/grape_validators/only_numbers.rb +20 -0
- data/lib/moca_rlibs/grape_validators/starts_with.rb +27 -0
- data/lib/moca_rlibs/grape_validators/url.rb +20 -0
- data/lib/moca_rlibs/service.rb +29 -0
- data/lib/moca_rlibs/version.rb +1 -1
- data/lib/moca_rlibs.rb +29 -0
- data/moca_rlibs.gemspec +5 -0
- metadata +103 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df0c70ea60a992a5103f12d59597154ab11a0a2f3b4a2ac4855e3c631d228be6
|
4
|
+
data.tar.gz: 593606828276f8504273ac0ff94f457d670db02cee23fd1fcbbc2aa498ee513a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bb2f97ef08fe45d873b1ece91d21ea39e0a5fa4d349c65fdb13e2b6ae048dea85cfae4fb7663961ef8d81b441b1d2e59fea86e602e9215c4c830e3cffdb625f
|
7
|
+
data.tar.gz: 86284a59c185ca93ff85f7390cb28c1d1f2df962efd654dc6b1f2e23d0ac7a5b5e2625582ecd986e70dc33d516ef4088dfa1f96fc8ba2a25f743f569857b4bea
|
data/.idea/.gitignore
ADDED
data/.idea/misc.xml
ADDED
data/.idea/modules.xml
ADDED
data/.idea/rlibs.iml
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
3
|
+
<component name="ModuleRunConfigurationManager">
|
4
|
+
<shared />
|
5
|
+
</component>
|
6
|
+
<component name="NewModuleRootManager">
|
7
|
+
<content url="file://$MODULE_DIR$">
|
8
|
+
<sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
|
9
|
+
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
10
|
+
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
11
|
+
</content>
|
12
|
+
<orderEntry type="inheritedJdk" />
|
13
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
14
|
+
<orderEntry type="library" scope="PROVIDED" name="activemodel (v6.1.4.1, rbenv: 3.0.2) [gem]" level="application" />
|
15
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v6.1.4.1, rbenv: 3.0.2) [gem]" level="application" />
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="ast (v2.4.2, rbenv: 3.0.2) [gem]" level="application" />
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="builder (v3.2.4, rbenv: 3.0.2) [gem]" level="application" />
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.2.22, rbenv: 3.0.2) [gem]" level="application" />
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="codecov (v0.6.0, rbenv: 3.0.2) [gem]" level="application" />
|
20
|
+
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.1.9, rbenv: 3.0.2) [gem]" level="application" />
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.4.4, rbenv: 3.0.2) [gem]" level="application" />
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="docile (v1.4.0, rbenv: 3.0.2) [gem]" level="application" />
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-configurable (v0.13.0, rbenv: 3.0.2) [gem]" level="application" />
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-container (v0.9.0, rbenv: 3.0.2) [gem]" level="application" />
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-core (v0.7.1, rbenv: 3.0.2) [gem]" level="application" />
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-inflector (v0.2.1, rbenv: 3.0.2) [gem]" level="application" />
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-logic (v1.2.0, rbenv: 3.0.2) [gem]" level="application" />
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="dry-types (v1.5.1, rbenv: 3.0.2) [gem]" level="application" />
|
29
|
+
<orderEntry type="library" scope="PROVIDED" name="email_validator (v2.2.3, rbenv: 3.0.2) [gem]" level="application" />
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="grape (v1.6.0, rbenv: 3.0.2) [gem]" level="application" />
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v1.8.11, rbenv: 3.0.2) [gem]" level="application" />
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.14.4, rbenv: 3.0.2) [gem]" level="application" />
|
33
|
+
<orderEntry type="library" scope="PROVIDED" name="mustermann (v1.1.1, rbenv: 3.0.2) [gem]" level="application" />
|
34
|
+
<orderEntry type="library" scope="PROVIDED" name="mustermann-grape (v1.0.1, rbenv: 3.0.2) [gem]" level="application" />
|
35
|
+
<orderEntry type="library" scope="PROVIDED" name="parallel (v1.21.0, rbenv: 3.0.2) [gem]" level="application" />
|
36
|
+
<orderEntry type="library" scope="PROVIDED" name="parser (v3.0.2.0, rbenv: 3.0.2) [gem]" level="application" />
|
37
|
+
<orderEntry type="library" scope="PROVIDED" name="rack (v2.2.3, rbenv: 3.0.2) [gem]" level="application" />
|
38
|
+
<orderEntry type="library" scope="PROVIDED" name="rack-accept (v0.4.5, rbenv: 3.0.2) [gem]" level="application" />
|
39
|
+
<orderEntry type="library" scope="PROVIDED" name="rainbow (v3.0.0, rbenv: 3.0.2) [gem]" level="application" />
|
40
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, rbenv: 3.0.2) [gem]" level="application" />
|
41
|
+
<orderEntry type="library" scope="PROVIDED" name="rbs (v1.0.4, rbenv: 3.0.2) [gem]" level="application" />
|
42
|
+
<orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.1.1, rbenv: 3.0.2) [gem]" level="application" />
|
43
|
+
<orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, rbenv: 3.0.2) [gem]" level="application" />
|
44
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.10.0, rbenv: 3.0.2) [gem]" level="application" />
|
45
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.10.1, rbenv: 3.0.2) [gem]" level="application" />
|
46
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.10.1, rbenv: 3.0.2) [gem]" level="application" />
|
47
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.10.2, rbenv: 3.0.2) [gem]" level="application" />
|
48
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.10.3, rbenv: 3.0.2) [gem]" level="application" />
|
49
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop (v1.22.3, rbenv: 3.0.2) [gem]" level="application" />
|
50
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v1.13.0, rbenv: 3.0.2) [gem]" level="application" />
|
51
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop-performance (v1.12.0, rbenv: 3.0.2) [gem]" level="application" />
|
52
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop-rails (v2.12.4, rbenv: 3.0.2) [gem]" level="application" />
|
53
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop-rspec (v2.6.0, rbenv: 3.0.2) [gem]" level="application" />
|
54
|
+
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, rbenv: 3.0.2) [gem]" level="application" />
|
55
|
+
<orderEntry type="library" scope="PROVIDED" name="ruby2_keywords (v0.0.5, rbenv: 3.0.2) [gem]" level="application" />
|
56
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov (v0.21.2, rbenv: 3.0.2) [gem]" level="application" />
|
57
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.12.3, rbenv: 3.0.2) [gem]" level="application" />
|
58
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov_json_formatter (v0.1.3, rbenv: 3.0.2) [gem]" level="application" />
|
59
|
+
<orderEntry type="library" scope="PROVIDED" name="slack-notifier (v2.4.0, rbenv: 3.0.2) [gem]" level="application" />
|
60
|
+
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v2.0.4, rbenv: 3.0.2) [gem]" level="application" />
|
61
|
+
<orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.1.0, rbenv: 3.0.2) [gem]" level="application" />
|
62
|
+
<orderEntry type="library" scope="PROVIDED" name="zeitwerk (v2.5.1, rbenv: 3.0.2) [gem]" level="application" />
|
63
|
+
</component>
|
64
|
+
<component name="RakeTasksCache">
|
65
|
+
<option name="myRootTask">
|
66
|
+
<RakeTaskImpl id="rake" />
|
67
|
+
</option>
|
68
|
+
</component>
|
69
|
+
</module>
|
data/.idea/vcs.xml
ADDED
data/.rubocop.yml
CHANGED
@@ -3,3 +3,19 @@ inherit_from: ./vendor/tools/config/rubocop.yml
|
|
3
3
|
# 文字列リテラルfrozen強制
|
4
4
|
Style/FrozenStringLiteralComment:
|
5
5
|
Enabled: true
|
6
|
+
|
7
|
+
# 制限を緩和
|
8
|
+
CyclomaticComplexity:
|
9
|
+
Max: 16
|
10
|
+
|
11
|
+
# spec用の一時的モジュール&クラス定義用
|
12
|
+
Lint/ConstantDefinitionInBlock:
|
13
|
+
Exclude:
|
14
|
+
- 'spec/**/*'
|
15
|
+
RSpec/LeakyConstantDeclaration:
|
16
|
+
Exclude:
|
17
|
+
- 'spec/**/*'
|
18
|
+
|
19
|
+
# 誤作動があるため
|
20
|
+
Rails/HttpPositionalArguments:
|
21
|
+
Enabled: false
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
moca_rlibs (0.0.
|
4
|
+
moca_rlibs (0.0.3)
|
5
|
+
activemodel
|
6
|
+
activesupport
|
7
|
+
email_validator
|
8
|
+
grape
|
5
9
|
slack-notifier (~> 2.4.0)
|
6
10
|
|
7
11
|
GEM
|
8
12
|
remote: https://rubygems.org/
|
9
13
|
specs:
|
14
|
+
activemodel (6.1.4.1)
|
15
|
+
activesupport (= 6.1.4.1)
|
10
16
|
activesupport (6.1.4.1)
|
11
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
12
18
|
i18n (>= 1.6, < 2)
|
@@ -14,18 +20,52 @@ GEM
|
|
14
20
|
tzinfo (~> 2.0)
|
15
21
|
zeitwerk (~> 2.3)
|
16
22
|
ast (2.4.2)
|
23
|
+
builder (3.2.4)
|
17
24
|
codecov (0.6.0)
|
18
25
|
simplecov (>= 0.15, < 0.22)
|
19
26
|
concurrent-ruby (1.1.9)
|
20
27
|
diff-lcs (1.4.4)
|
21
28
|
docile (1.4.0)
|
22
|
-
|
29
|
+
dry-configurable (0.13.0)
|
30
|
+
concurrent-ruby (~> 1.0)
|
31
|
+
dry-core (~> 0.6)
|
32
|
+
dry-container (0.9.0)
|
33
|
+
concurrent-ruby (~> 1.0)
|
34
|
+
dry-configurable (~> 0.13, >= 0.13.0)
|
35
|
+
dry-core (0.7.1)
|
36
|
+
concurrent-ruby (~> 1.0)
|
37
|
+
dry-inflector (0.2.1)
|
38
|
+
dry-logic (1.2.0)
|
39
|
+
concurrent-ruby (~> 1.0)
|
40
|
+
dry-core (~> 0.5, >= 0.5)
|
41
|
+
dry-types (1.5.1)
|
42
|
+
concurrent-ruby (~> 1.0)
|
43
|
+
dry-container (~> 0.3)
|
44
|
+
dry-core (~> 0.5, >= 0.5)
|
45
|
+
dry-inflector (~> 0.1, >= 0.1.2)
|
46
|
+
dry-logic (~> 1.0, >= 1.0.2)
|
47
|
+
email_validator (2.2.3)
|
48
|
+
activemodel
|
49
|
+
grape (1.6.0)
|
50
|
+
activesupport
|
51
|
+
builder
|
52
|
+
dry-types (>= 1.1)
|
53
|
+
mustermann-grape (~> 1.0.0)
|
54
|
+
rack (>= 1.3.0)
|
55
|
+
rack-accept
|
56
|
+
i18n (1.8.11)
|
23
57
|
concurrent-ruby (~> 1.0)
|
24
58
|
minitest (5.14.4)
|
59
|
+
mustermann (1.1.1)
|
60
|
+
ruby2_keywords (~> 0.0.1)
|
61
|
+
mustermann-grape (1.0.1)
|
62
|
+
mustermann (>= 1.0.0)
|
25
63
|
parallel (1.21.0)
|
26
64
|
parser (3.0.2.0)
|
27
65
|
ast (~> 2.4.1)
|
28
66
|
rack (2.2.3)
|
67
|
+
rack-accept (0.4.5)
|
68
|
+
rack (>= 0.4)
|
29
69
|
rainbow (3.0.0)
|
30
70
|
rake (13.0.6)
|
31
71
|
regexp_parser (2.1.1)
|
@@ -42,8 +82,8 @@ GEM
|
|
42
82
|
rspec-mocks (3.10.2)
|
43
83
|
diff-lcs (>= 1.2.0, < 2.0)
|
44
84
|
rspec-support (~> 3.10.0)
|
45
|
-
rspec-support (3.10.
|
46
|
-
rubocop (1.22.
|
85
|
+
rspec-support (3.10.3)
|
86
|
+
rubocop (1.22.3)
|
47
87
|
parallel (~> 1.10)
|
48
88
|
parser (>= 3.0.0.0)
|
49
89
|
rainbow (>= 2.2.2, < 4.0)
|
@@ -52,18 +92,19 @@ GEM
|
|
52
92
|
rubocop-ast (>= 1.12.0, < 2.0)
|
53
93
|
ruby-progressbar (~> 1.7)
|
54
94
|
unicode-display_width (>= 1.4.0, < 3.0)
|
55
|
-
rubocop-ast (1.
|
95
|
+
rubocop-ast (1.13.0)
|
56
96
|
parser (>= 3.0.1.1)
|
57
|
-
rubocop-performance (1.
|
97
|
+
rubocop-performance (1.12.0)
|
58
98
|
rubocop (>= 1.7.0, < 2.0)
|
59
99
|
rubocop-ast (>= 0.4.0)
|
60
|
-
rubocop-rails (2.12.
|
100
|
+
rubocop-rails (2.12.4)
|
61
101
|
activesupport (>= 4.2.0)
|
62
102
|
rack (>= 1.1)
|
63
103
|
rubocop (>= 1.7.0, < 2.0)
|
64
|
-
rubocop-rspec (2.
|
104
|
+
rubocop-rspec (2.6.0)
|
65
105
|
rubocop (~> 1.19)
|
66
106
|
ruby-progressbar (1.11.0)
|
107
|
+
ruby2_keywords (0.0.5)
|
67
108
|
simplecov (0.21.2)
|
68
109
|
docile (~> 1.1)
|
69
110
|
simplecov-html (~> 0.11)
|
@@ -74,14 +115,15 @@ GEM
|
|
74
115
|
tzinfo (2.0.4)
|
75
116
|
concurrent-ruby (~> 1.0)
|
76
117
|
unicode-display_width (2.1.0)
|
77
|
-
zeitwerk (2.
|
118
|
+
zeitwerk (2.5.1)
|
78
119
|
|
79
120
|
PLATFORMS
|
80
|
-
|
121
|
+
arm64-darwin-21
|
81
122
|
|
82
123
|
DEPENDENCIES
|
83
124
|
codecov
|
84
125
|
moca_rlibs!
|
126
|
+
rack
|
85
127
|
rake
|
86
128
|
rspec
|
87
129
|
rubocop
|
data/README.md
CHANGED
@@ -18,6 +18,100 @@ MocaRlibs::Docker.running_on_docker?
|
|
18
18
|
MocaRlibs::CodeBuild.running_on_codebuild?
|
19
19
|
```
|
20
20
|
|
21
|
+
## Grapeカスタムバリデーション
|
22
|
+
メールアドレスのフォーマットチェック(簡易チェック)
|
23
|
+
```ruby
|
24
|
+
params do
|
25
|
+
requires :email, type: String, email: true
|
26
|
+
end
|
27
|
+
```
|
28
|
+
メールアドレスのフォーマットチェック(厳密チェック)(推奨)
|
29
|
+
```ruby
|
30
|
+
params do
|
31
|
+
requires :email, type: String, email_strict: true
|
32
|
+
end
|
33
|
+
```
|
34
|
+
メールアドレスのフォーマットチェック(RFC-2822, RFC-5321)
|
35
|
+
```ruby
|
36
|
+
params do
|
37
|
+
requires :email, type: String, email_rfc: true
|
38
|
+
end
|
39
|
+
```
|
40
|
+
URLのフォーマットチェック
|
41
|
+
```ruby
|
42
|
+
params do
|
43
|
+
requires :url, type: String, url: true
|
44
|
+
end
|
45
|
+
```
|
46
|
+
文字列の長さ制限
|
47
|
+
```ruby
|
48
|
+
params do
|
49
|
+
requires :name, type: String, length: 4
|
50
|
+
requires :bio, type: String, length: 4..512
|
51
|
+
end
|
52
|
+
```
|
53
|
+
プレフィックス制限
|
54
|
+
```ruby
|
55
|
+
params do
|
56
|
+
requires :website, type: String, start_with: "https://"
|
57
|
+
requires :website, type: String, start_with: %w(http:// https://)
|
58
|
+
end
|
59
|
+
```
|
60
|
+
サフィックス制限
|
61
|
+
```ruby
|
62
|
+
params do
|
63
|
+
requires :price, type: String, end_with: "JPY"
|
64
|
+
requires :price, type: String, end_with: %w(JPY USD)
|
65
|
+
end
|
66
|
+
```
|
67
|
+
数値の最大値制限
|
68
|
+
```ruby
|
69
|
+
params do
|
70
|
+
requires :level, type: Integer, max: 5
|
71
|
+
end
|
72
|
+
```
|
73
|
+
数値の最大値制限(Proc)
|
74
|
+
```ruby
|
75
|
+
params do
|
76
|
+
requires :level, type: Integer, max: ->(params) { params[:foo] + 1 }
|
77
|
+
end
|
78
|
+
```
|
79
|
+
数値の最小値制限
|
80
|
+
```ruby
|
81
|
+
params do
|
82
|
+
requires :age, type: Integer, min: 0
|
83
|
+
end
|
84
|
+
```
|
85
|
+
数値の最小値制限(Proc)
|
86
|
+
```ruby
|
87
|
+
params do
|
88
|
+
requires :level, type: Integer, min: ->(params) { params[:bar] - 1 }
|
89
|
+
end
|
90
|
+
```
|
91
|
+
アスキー文字しか含まないこと
|
92
|
+
```ruby
|
93
|
+
params do
|
94
|
+
requires :text, type: String, only_ascii: true
|
95
|
+
end
|
96
|
+
```
|
97
|
+
文字列にアルファベットしか含まないこと
|
98
|
+
```ruby
|
99
|
+
params do
|
100
|
+
requires :text, type: String, only_alpha: true
|
101
|
+
end
|
102
|
+
```
|
103
|
+
文字列に数字しか含まれないこと
|
104
|
+
```ruby
|
105
|
+
params do
|
106
|
+
requires :text, type: String, only_numbers: true
|
107
|
+
end
|
108
|
+
```
|
109
|
+
文字列に英数字しか含まれないこと
|
110
|
+
```ruby
|
111
|
+
params do
|
112
|
+
requires :text, type: String, only_alpha_numeric: true
|
113
|
+
end
|
114
|
+
```
|
21
115
|
## Slack通知送信用クラス
|
22
116
|
```ruby
|
23
117
|
# インスタンス化
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'grape'
|
4
|
+
|
5
|
+
module Grape
|
6
|
+
module Exceptions
|
7
|
+
# InternalServerError (Grape例外拡張)
|
8
|
+
class InternalServerError < Base
|
9
|
+
def initialize
|
10
|
+
super(message: '500 Internal Server Error', status: 500)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'grape'
|
4
|
+
|
5
|
+
module Grape
|
6
|
+
module Exceptions
|
7
|
+
# ServiceUnavailable (Grape例外拡張)
|
8
|
+
class ServiceUnavailable < Base
|
9
|
+
def initialize
|
10
|
+
super(message: '503 Service Unavailable', status: 503)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# メールアドレスのフォーマットチェック(簡易的なチェック)
|
8
|
+
class Email < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.length <= 256 && parameter.match?(/\A[^@]+@[^@]+\z/)
|
15
|
+
|
16
|
+
message = 'invalid email format'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
require 'active_model'
|
6
|
+
require 'email_validator'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# メールアドレスのフォーマットチェック(RFC-2822, RFC-5321)
|
10
|
+
class EmailRFC < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
# `to_s` is for Symbol.
|
15
|
+
parameter = params[attr_name].presence.to_s
|
16
|
+
return if EmailValidator.valid?(parameter, { allow_nil: true, mode: :rfc, require_fqdn: false })
|
17
|
+
|
18
|
+
message = 'invalid email format'
|
19
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
require 'active_model'
|
6
|
+
require 'email_validator'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# メールアドレスのフォーマットチェック(厳密チェック)
|
10
|
+
class EmailStrict < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
# `to_s` is for Symbol.
|
15
|
+
parameter = params[attr_name].presence.to_s
|
16
|
+
return if EmailValidator.valid?(parameter, { allow_nil: true, mode: :strict, require_fqdn: false })
|
17
|
+
|
18
|
+
message = 'invalid email format'
|
19
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://github.com/jagaapple/grape-extra_validators/blob/master/lib/grape/extra_validators/end_with.rb
|
4
|
+
|
5
|
+
require 'active_support/all'
|
6
|
+
require 'grape'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# 文字列の末尾をチェック
|
10
|
+
class EndsWith < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
end_with_values = @option.instance_of?(Array) ? @option : [@option]
|
15
|
+
|
16
|
+
# `to_s` is for Symbol.
|
17
|
+
parameter = params[attr_name].presence.to_s
|
18
|
+
is_valid = end_with_values.any? { |value| parameter.ends_with?(value.to_s) }
|
19
|
+
return if is_valid
|
20
|
+
|
21
|
+
allow_values = end_with_values.map { |value| "\"#{value}\"" }
|
22
|
+
allow_values[allow_values.length - 1] = "or #{allow_values.last}" if allow_values.length > 1
|
23
|
+
message = "must end with #{allow_values.join(', ')}"
|
24
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://github.com/jagaapple/grape-extra_validators/blob/master/lib/grape/extra_validators/length.rb
|
4
|
+
|
5
|
+
require 'active_support/all'
|
6
|
+
require 'grape'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# 文字列の長さチェック
|
10
|
+
class Length < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
# `to_s` is for Symbol.
|
15
|
+
parameter = params[attr_name].presence.to_s
|
16
|
+
if @option.instance_of?(Range)
|
17
|
+
return if @option.include?(parameter.length)
|
18
|
+
|
19
|
+
message = "must be #{@option.first} to #{@option.last} characters long"
|
20
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
21
|
+
end
|
22
|
+
|
23
|
+
return if parameter.length == @option
|
24
|
+
|
25
|
+
unit = 'character'.pluralize(@option)
|
26
|
+
message = "must be #{@option} #{unit} long"
|
27
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://github.com/jagaapple/grape-extra_validators/blob/master/lib/grape/extra_validators/maximum_value.rb
|
4
|
+
|
5
|
+
require 'active_support/all'
|
6
|
+
require 'grape'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# 数値の最大値をチェック
|
10
|
+
class Max < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
maximum_value = @option.instance_of?(Proc) ? @option.call(params) : @option
|
15
|
+
return if maximum_value.blank?
|
16
|
+
|
17
|
+
value = params[attr_name].to_i
|
18
|
+
return if value <= maximum_value
|
19
|
+
|
20
|
+
message = "must be equal to or below #{maximum_value}"
|
21
|
+
|
22
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://github.com/jagaapple/grape-extra_validators/blob/master/lib/grape/extra_validators/minimum_value.rb
|
4
|
+
|
5
|
+
require 'active_support/all'
|
6
|
+
require 'grape'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# 数値の最小値をチェック
|
10
|
+
class Min < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
minimum_value = @option.instance_of?(Proc) ? @option.call(params) : @option
|
15
|
+
return if minimum_value.blank?
|
16
|
+
|
17
|
+
value = params[attr_name].to_i
|
18
|
+
return if value >= minimum_value
|
19
|
+
|
20
|
+
message = "must be equal to or above #{minimum_value}"
|
21
|
+
|
22
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# 文字列が半角アルファベットのみであることをチェックする
|
8
|
+
class OnlyAlpha < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.match?(/\A[a-zA-Z]*\z/)
|
15
|
+
|
16
|
+
message = 'contain non-ascii characters'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# 文字列が半角英数字のみであることをチェックする
|
8
|
+
class OnlyAlphaNumeric < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.match?(/\A[a-zA-Z0-9]*\z/)
|
15
|
+
|
16
|
+
message = 'contain non-ascii characters'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# アスキー文字のみを許可する
|
8
|
+
class OnlyASCII < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.match?(/\A[\u0000-\u007F]*\z/)
|
15
|
+
|
16
|
+
message = 'contain non-ascii characters'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# 文字列が数字のみであることをチェックする
|
8
|
+
class OnlyNumbers < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.match?(/\A[0-9]*\z/)
|
15
|
+
|
16
|
+
message = 'contain non-ascii characters'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://github.com/jagaapple/grape-extra_validators/blob/master/lib/grape/extra_validators/start_with.rb
|
4
|
+
|
5
|
+
require 'active_support/all'
|
6
|
+
require 'grape'
|
7
|
+
|
8
|
+
module MocaRlibs::GrapeValidators
|
9
|
+
# 文字列の先頭をチェック
|
10
|
+
class StartsWith < Grape::Validations::Base
|
11
|
+
def validate_param!(attr_name, params)
|
12
|
+
return if !@required && params[attr_name].blank?
|
13
|
+
|
14
|
+
start_with_values = @option.instance_of?(Array) ? @option : [@option]
|
15
|
+
|
16
|
+
# `to_s` is for Symbol.
|
17
|
+
parameter = params[attr_name].presence.to_s
|
18
|
+
is_valid = start_with_values.any? { |value| parameter.starts_with?(value.to_s) }
|
19
|
+
return if is_valid
|
20
|
+
|
21
|
+
allow_values = start_with_values.map { |value| "\"#{value}\"" }
|
22
|
+
allow_values[allow_values.length - 1] = "or #{allow_values.last}" if allow_values.length > 1
|
23
|
+
message = "must start with #{allow_values.join(', ')}"
|
24
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_support/all'
|
4
|
+
require 'grape'
|
5
|
+
|
6
|
+
module MocaRlibs::GrapeValidators
|
7
|
+
# URLとして正しいフォーマットかどうかをチェックする
|
8
|
+
class URL < Grape::Validations::Base
|
9
|
+
def validate_param!(attr_name, params)
|
10
|
+
return if !@required && params[attr_name].blank?
|
11
|
+
|
12
|
+
# `to_s` is for Symbol.
|
13
|
+
parameter = params[attr_name].presence.to_s
|
14
|
+
return if parameter.match?(/\A#{URI::DEFAULT_PARSER.make_regexp(%w[http https])}\z/)
|
15
|
+
|
16
|
+
message = 'invalid url format'
|
17
|
+
raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MocaRlibs
|
4
|
+
# Rails用サービス層の導入
|
5
|
+
class Service
|
6
|
+
attr_reader :result
|
7
|
+
|
8
|
+
def initialize(*_args, **_kwargs, &_block)
|
9
|
+
raise NotImplementedError, "#{self.class}##{__method__} was not implemented"
|
10
|
+
end
|
11
|
+
|
12
|
+
# サービスをインスタンス化して処理を実行する
|
13
|
+
# 与えられたパラメータを使い、クラスをインスタンス化して、処理を実行する。
|
14
|
+
# 処理結果は @result に格納される。
|
15
|
+
# @return [Service] サービスのインスタンス
|
16
|
+
def self.call!(*args, **kwargs, &block)
|
17
|
+
instance = new(*args, **kwargs, &block)
|
18
|
+
instance.instance_variable_set(:@result, instance.call!)
|
19
|
+
instance
|
20
|
+
end
|
21
|
+
|
22
|
+
# サービスの処理を実行し結果を返す
|
23
|
+
# @abstract 継承してサービスの処理を実装する
|
24
|
+
# @return [Object] 処理結果
|
25
|
+
def call!
|
26
|
+
raise NotImplementedError, "#{self.class}##{__method__} was not implemented"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/moca_rlibs/version.rb
CHANGED
data/lib/moca_rlibs.rb
CHANGED
@@ -4,6 +4,35 @@ require_relative 'moca_rlibs/version'
|
|
4
4
|
require_relative 'moca_rlibs/docker'
|
5
5
|
require_relative 'moca_rlibs/codebuild'
|
6
6
|
require_relative 'moca_rlibs/slack_notifier'
|
7
|
+
require_relative 'moca_rlibs/service'
|
8
|
+
require_relative 'moca_rlibs/grape_validators/length'
|
9
|
+
require_relative 'moca_rlibs/grape_validators/ends_with'
|
10
|
+
require_relative 'moca_rlibs/grape_validators/starts_with'
|
11
|
+
require_relative 'moca_rlibs/grape_validators/max'
|
12
|
+
require_relative 'moca_rlibs/grape_validators/min'
|
13
|
+
require_relative 'moca_rlibs/grape_validators/email'
|
14
|
+
require_relative 'moca_rlibs/grape_validators/email_strict'
|
15
|
+
require_relative 'moca_rlibs/grape_validators/email_rfc'
|
16
|
+
require_relative 'moca_rlibs/grape_validators/url'
|
17
|
+
require_relative 'moca_rlibs/grape_validators/only_ascii'
|
18
|
+
require_relative 'moca_rlibs/grape_validators/only_numbers'
|
19
|
+
require_relative 'moca_rlibs/grape_validators/only_alpha'
|
20
|
+
require_relative 'moca_rlibs/grape_validators/only_alpha_numeric'
|
21
|
+
require_relative 'moca_rlibs/grape_errors/bad_gateway'
|
22
|
+
require_relative 'moca_rlibs/grape_errors/bad_request'
|
23
|
+
require_relative 'moca_rlibs/grape_errors/conflict'
|
24
|
+
require_relative 'moca_rlibs/grape_errors/forbidden'
|
25
|
+
require_relative 'moca_rlibs/grape_errors/gateway_timeout'
|
26
|
+
require_relative 'moca_rlibs/grape_errors/internal_server_error'
|
27
|
+
require_relative 'moca_rlibs/grape_errors/not_found'
|
28
|
+
require_relative 'moca_rlibs/grape_errors/reset_content'
|
29
|
+
require_relative 'moca_rlibs/grape_errors/retry_required'
|
30
|
+
require_relative 'moca_rlibs/grape_errors/service_unavailable'
|
31
|
+
require_relative 'moca_rlibs/grape_errors/too_many_requests'
|
32
|
+
require_relative 'moca_rlibs/grape_errors/unauthorized'
|
33
|
+
|
34
|
+
require 'active_model'
|
35
|
+
require 'email_validator'
|
7
36
|
|
8
37
|
# Ruby&Rails用ツールセット
|
9
38
|
module MocaRlibs
|
data/moca_rlibs.gemspec
CHANGED
@@ -27,9 +27,14 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ['lib']
|
29
29
|
|
30
|
+
spec.add_dependency 'activemodel'
|
31
|
+
spec.add_dependency 'activesupport'
|
32
|
+
spec.add_dependency 'email_validator'
|
33
|
+
spec.add_dependency 'grape'
|
30
34
|
spec.add_dependency 'slack-notifier', '~> 2.4.0'
|
31
35
|
|
32
36
|
spec.add_development_dependency 'codecov'
|
37
|
+
spec.add_development_dependency 'rack'
|
33
38
|
spec.add_development_dependency 'rake'
|
34
39
|
spec.add_development_dependency 'rspec'
|
35
40
|
spec.add_development_dependency 'rubocop'
|
metadata
CHANGED
@@ -1,15 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moca_rlibs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mocaberos
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activemodel
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: email_validator
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: grape
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
13
69
|
- !ruby/object:Gem::Dependency
|
14
70
|
name: slack-notifier
|
15
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +94,20 @@ dependencies:
|
|
38
94
|
- - ">="
|
39
95
|
- !ruby/object:Gem::Version
|
40
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rack
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
41
111
|
- !ruby/object:Gem::Dependency
|
42
112
|
name: rake
|
43
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,6 +215,11 @@ extra_rdoc_files: []
|
|
145
215
|
files:
|
146
216
|
- ".gitignore"
|
147
217
|
- ".gitmodules"
|
218
|
+
- ".idea/.gitignore"
|
219
|
+
- ".idea/misc.xml"
|
220
|
+
- ".idea/modules.xml"
|
221
|
+
- ".idea/rlibs.iml"
|
222
|
+
- ".idea/vcs.xml"
|
148
223
|
- ".rspec"
|
149
224
|
- ".rubocop.yml"
|
150
225
|
- CHANGELOG.md
|
@@ -162,6 +237,32 @@ files:
|
|
162
237
|
- lib/moca_rlibs.rb
|
163
238
|
- lib/moca_rlibs/codebuild.rb
|
164
239
|
- lib/moca_rlibs/docker.rb
|
240
|
+
- lib/moca_rlibs/grape_errors/bad_gateway.rb
|
241
|
+
- lib/moca_rlibs/grape_errors/bad_request.rb
|
242
|
+
- lib/moca_rlibs/grape_errors/conflict.rb
|
243
|
+
- lib/moca_rlibs/grape_errors/forbidden.rb
|
244
|
+
- lib/moca_rlibs/grape_errors/gateway_timeout.rb
|
245
|
+
- lib/moca_rlibs/grape_errors/internal_server_error.rb
|
246
|
+
- lib/moca_rlibs/grape_errors/not_found.rb
|
247
|
+
- lib/moca_rlibs/grape_errors/reset_content.rb
|
248
|
+
- lib/moca_rlibs/grape_errors/retry_required.rb
|
249
|
+
- lib/moca_rlibs/grape_errors/service_unavailable.rb
|
250
|
+
- lib/moca_rlibs/grape_errors/too_many_requests.rb
|
251
|
+
- lib/moca_rlibs/grape_errors/unauthorized.rb
|
252
|
+
- lib/moca_rlibs/grape_validators/email.rb
|
253
|
+
- lib/moca_rlibs/grape_validators/email_rfc.rb
|
254
|
+
- lib/moca_rlibs/grape_validators/email_strict.rb
|
255
|
+
- lib/moca_rlibs/grape_validators/ends_with.rb
|
256
|
+
- lib/moca_rlibs/grape_validators/length.rb
|
257
|
+
- lib/moca_rlibs/grape_validators/max.rb
|
258
|
+
- lib/moca_rlibs/grape_validators/min.rb
|
259
|
+
- lib/moca_rlibs/grape_validators/only_alpha.rb
|
260
|
+
- lib/moca_rlibs/grape_validators/only_alpha_numeric.rb
|
261
|
+
- lib/moca_rlibs/grape_validators/only_ascii.rb
|
262
|
+
- lib/moca_rlibs/grape_validators/only_numbers.rb
|
263
|
+
- lib/moca_rlibs/grape_validators/starts_with.rb
|
264
|
+
- lib/moca_rlibs/grape_validators/url.rb
|
265
|
+
- lib/moca_rlibs/service.rb
|
165
266
|
- lib/moca_rlibs/slack_notifier.rb
|
166
267
|
- lib/moca_rlibs/version.rb
|
167
268
|
- moca_rlibs.gemspec
|