api_scaffolding 1.0.3.1 → 1.1.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05d4177d0d1647c9e33fabad826541f3cb421bc81911ef060e7d692b318e9149
|
4
|
+
data.tar.gz: a10eb54c5361723f8f9b1a95b5d41bc7419930fc644bd6493f2b56791aed9726
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc79b1f74e70b0e2a1defb1796b4fb9eba2f0dde4727b4f8b5db2e6b7bcdee3245d2b268a9a46df05c3084f56731b9f44e76b475113b5ba13210118438768723
|
7
|
+
data.tar.gz: 21f68f28a0932a22331a4aeb7577584582bf51904ba136aa7c9c09990783fc1f668343dbe13209f0bcbb9326236854ea653add6de1a88232d76052267a76e4b6
|
@@ -29,7 +29,7 @@ module ApiScaffold
|
|
29
29
|
model.columns.map do |column|
|
30
30
|
next if %w[name].exclude?(column.name)
|
31
31
|
|
32
|
-
entity_field(column)
|
32
|
+
entity_field(column).force_encoding(Encoding::BINARY)
|
33
33
|
end.compact.join(fields_separator)
|
34
34
|
end
|
35
35
|
|
@@ -38,29 +38,40 @@ module ApiScaffold
|
|
38
38
|
model.columns.map do |column|
|
39
39
|
next if ApiScaffolding.config.entity_fields_exclusions.include?(column.name)
|
40
40
|
|
41
|
-
entity_field(column)
|
41
|
+
entity_field(column).force_encoding(Encoding::BINARY)
|
42
42
|
end.compact.join(fields_separator)
|
43
43
|
end
|
44
44
|
|
45
45
|
def fields_separator
|
46
46
|
# разделение полей в генерируемом файле
|
47
|
-
"\n" + (' ' * 4)
|
47
|
+
"\n\n" + (' ' * 4)
|
48
48
|
end
|
49
49
|
|
50
50
|
def entity_field(column)
|
51
|
+
# разделение для форматирования поля
|
52
|
+
separator = "\n" + (' ' * 11)
|
53
|
+
|
54
|
+
# описание поля
|
55
|
+
desc = column.comment
|
56
|
+
if column.type == :enum
|
57
|
+
desc += " (enum: #{column.sql_type})"
|
58
|
+
end
|
59
|
+
|
51
60
|
case column.type
|
52
|
-
when :string
|
53
|
-
"expose :#{column.name}"
|
61
|
+
when :string
|
62
|
+
"expose :#{column.name},#{separator}documentation: { desc: '#{desc}' }"
|
63
|
+
when :enum
|
64
|
+
"expose :#{column.name},#{separator}documentation: { values: #{model}.#{column.name.pluralize}.values, desc: '#{desc}' }"
|
54
65
|
when :integer
|
55
|
-
"expose :#{column.name}
|
66
|
+
"expose :#{column.name},#{separator}documentation: { type: 'Integer', desc: '#{desc}' }"
|
56
67
|
when :float
|
57
|
-
"expose :#{column.name}
|
68
|
+
"expose :#{column.name},#{separator}documentation: { type: 'Float', desc: '#{desc}' }"
|
58
69
|
when :decimal
|
59
|
-
"expose :#{column.name}
|
70
|
+
"expose :#{column.name},#{separator}documentation: { type: 'Float', values: [#{decimal_example(column)}], desc: '#{desc}' }"
|
60
71
|
when :date
|
61
|
-
"expose :#{column.name}
|
72
|
+
"expose :#{column.name},#{separator}documentation: { type: 'Date', desc: '#{desc}' }"
|
62
73
|
when :boolean
|
63
|
-
"expose :#{column.name}
|
74
|
+
"expose :#{column.name},#{separator}documentation: { type: 'Boolean', desc: '#{desc}' }"
|
64
75
|
end
|
65
76
|
end
|
66
77
|
|
@@ -37,11 +37,16 @@ module ApiScaffold
|
|
37
37
|
when :decimal
|
38
38
|
'Float'
|
39
39
|
else
|
40
|
-
column.type.capitalize
|
40
|
+
column.type.to_s.capitalize
|
41
41
|
end
|
42
42
|
|
43
43
|
# базовая строка
|
44
|
-
line = "optional :#{column.name}
|
44
|
+
line = "optional :#{column.name}"
|
45
|
+
|
46
|
+
# добавление типа
|
47
|
+
if type != 'String'
|
48
|
+
line += ", type: #{type}"
|
49
|
+
end
|
45
50
|
|
46
51
|
# добавление возможных значений enum
|
47
52
|
if column.type == :enum
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_scaffolding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Павел Бабин
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: faker
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: grape
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '6.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '6.0'
|
69
69
|
description: Генерация контроллеров API и модулей с параметрами Grape и Grape Entity
|
70
70
|
email: babin359@gmail.com
|
71
71
|
executables: []
|