api_scaffolding 1.0.3.1 → 1.1.0

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: 9cf16a7cedbb1200b634e5b8c4e1a73c6b47931d6902bfebe6d95f54464de262
4
- data.tar.gz: 8bc2cead74432092c135b3f25ac0be29671b4cf8b311ef00b374c3b9f3483f44
3
+ metadata.gz: '08c5ec74d829c952e8a2ceb573f4730efad6a959079353cc1b7d64ff04fced97'
4
+ data.tar.gz: 17aac17e0026af1f9aa8edb11606c4abf8e6817dc77720c45b183cbaeb890b7b
5
5
  SHA512:
6
- metadata.gz: f86d9eafb4a861573437f01e3b6230022da1d6ff97ccb0fe3806b04a7f0547d760a07970e81731acc410870f8379ad0177aa4d9c037dc140a14e07b43fac1d42
7
- data.tar.gz: 88c3120719bbcaf1ae49c5753b19ada845425f7c70bde3a9cd64fb7be58ec7e1d362389fedcbfe6eb3736b13abde8c1b439b718beab9988c4860dc501bb05cc8
6
+ metadata.gz: ba57f6f99006c3933af779cfd849e491a64392bd053a6b18b1bd215723c52c762d3b3d2de3634b233d285a0aef0931b3d0ac83030765e3384130e9417ca693ef
7
+ data.tar.gz: 84caddd41decc1abced9faf367ec2f75dc32651d967e2d475b958b7987717ea6e634751b2c8632229739b1f72a774ca293d85eddea8ab16cc95ad16934ccf4ce
@@ -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, :enum
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}, documentation: { type: 'Integer' }"
66
+ "expose :#{column.name},#{separator}documentation: { type: 'Integer', desc: '#{desc}' }"
56
67
  when :float
57
- "expose :#{column.name}, documentation: { type: 'Float' }"
68
+ "expose :#{column.name},#{separator}documentation: { type: 'Float', desc: '#{desc}' }"
58
69
  when :decimal
59
- "expose :#{column.name}, documentation: { type: 'Float', values: [#{decimal_example(column)}] }"
70
+ "expose :#{column.name},#{separator}documentation: { type: 'Float', values: [#{decimal_example(column)}], desc: '#{desc}' }"
60
71
  when :date
61
- "expose :#{column.name}, documentation: { type: 'Date' }"
72
+ "expose :#{column.name},#{separator}documentation: { type: 'Date', desc: '#{desc}' }"
62
73
  when :boolean
63
- "expose :#{column.name}, documentation: { type: 'Boolean' }"
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}, type: #{type}"
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,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_scaffolding
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-31 00:00:00.000000000 Z
11
+ date: 2024-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '6.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
26
  version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
@@ -31,6 +31,9 @@ dependencies:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.7.0
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: '1.7'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +41,9 @@ dependencies:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: 1.7.0
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.7'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: grape-entity
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +51,9 @@ dependencies:
45
51
  - - ">="
46
52
  - !ruby/object:Gem::Version
47
53
  version: 1.0.0
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.0'
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,18 +61,21 @@ dependencies:
52
61
  - - ">="
53
62
  - !ruby/object:Gem::Version
54
63
  version: 1.0.0
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.0'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: faker
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - ">="
71
+ - - "~>"
60
72
  - !ruby/object:Gem::Version
61
73
  version: '3.0'
62
74
  type: :runtime
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - ">="
78
+ - - "~>"
67
79
  - !ruby/object:Gem::Version
68
80
  version: '3.0'
69
81
  description: Генерация контроллеров API и модулей с параметрами Grape и Grape Entity