lhj-tools 0.1.79 → 0.1.81

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: d531d2b9b34e70a9e6405ae37eb2b21e984aa76c82574bb8ce064e5860405e86
4
- data.tar.gz: af844a9316314bc4b05a98d5be81fcc759459abe7dc58bf3ffb88887ece5d044
3
+ metadata.gz: 3b9f5da62956cd6f5be84a8db48b90307c8edde017d5bd84729e6e2d93e2b7c4
4
+ data.tar.gz: bfd72c52e5c8c10412ed1f99e9d14dce9496d00ff78d20ff89aedbf1b847a782
5
5
  SHA512:
6
- metadata.gz: df4aebc030070433aa08035fd34eb02737a0255b22c75d3c035a7d510752aad7bd29202833b017dd793b7565689eacae7d376d12b78ee214af9ef00556542fbe
7
- data.tar.gz: 55ddb46781f6fb6f723312bdc18702416be3b824ce3e47411fd9b017f921cb11e9111229695a691eb2aa166b6c862f1bcab7be7d9c38f4c70004be4443345c69
6
+ metadata.gz: bc6a0baac57148b1c5feb71940f460873f3d9bae57683ce2f4a3b74fef03f0542b27047fc353ec44874c2904056499b041091a1599332541625ea6d6534489ec
7
+ data.tar.gz: 5a1723ddeacce9428df22bf2ed4bf583e3f1eaa05fc4a13accb180db381d1a7ab07735e7b6074892f9df2f8f2c84e19b20be7db68ebb565275ab8f6f468d71ca
@@ -64,13 +64,15 @@ module Lhj
64
64
  project_id = res_body['data']['project_id']
65
65
  project_info = get_project_info(project_id)
66
66
  # 1.print request result
67
- print_res_body_model(res_body)
67
+ res_models = print_res_body_model(res_body)
68
68
  # 2.print request json body
69
- print_req_body_model(res_body) if res_body['data']['req_body_is_json_schema']
69
+ req_models = print_req_body_model(res_body) if res_body['data']['req_body_is_json_schema']
70
70
  # 3.print request param
71
71
  print_req_query(res_body['data']) unless res_body['data']['req_body_is_json_schema']
72
72
  # 4.print request method
73
73
  service_code = print_http_method(res_body['data'], project_info)
74
+ # print request mock data
75
+ print_mock_request_data(req_models) unless req_models.empty?
74
76
  # 5.save to file
75
77
  file_map = save_to_file(service_code) if @save
76
78
  # 6.push to git
@@ -97,6 +99,12 @@ module Lhj
97
99
  @m_file_array << str
98
100
  end
99
101
 
102
+ def puts_mock(str)
103
+ puts str.green
104
+ @req_mock_array ||= []
105
+ @req_mock_array << str
106
+ end
107
+
100
108
  def sub_folder_name
101
109
  return @sub_folder_name if @sub_folder_name
102
110
 
@@ -112,14 +120,19 @@ module Lhj
112
120
  h_file = File.join('.', sub_folder_name, "#{file_name}.h")
113
121
  m_file = File.join('.', sub_folder_name, "#{file_name}.m")
114
122
  service_file = File.join('.', sub_folder_name, "#{model_pre}#{name}Service.m")
123
+ req_mock_file = File.join('.', sub_folder_name, "#{model_pre}#{name}Mock.m")
124
+
115
125
  File.write(h_file, @h_file_array.join("\n")) if @h_file_array.count.positive?
116
126
  File.write(m_file, @m_file_array.join("\n")) if @m_file_array.count.positive?
117
127
  File.write(service_file, service_code) if service_code
128
+ File.write(req_mock_file, @req_mock_array.join("\n")) if @req_mock_array.count.positive?
129
+
118
130
  puts "\n\n生成文件成功!所在路径:\n#{File.expand_path(h_file)} \n#{File.expand_path(m_file)}".green if @save && !@notify
119
131
  {
120
132
  h_file: "#{sub_folder_name}/#{file_name}.h",
121
133
  m_file: "#{sub_folder_name}/#{file_name}.m",
122
- s_file: "#{sub_folder_name}/#{model_pre}#{name}Service.m"
134
+ s_file: "#{sub_folder_name}/#{model_pre}#{name}Service.m",
135
+ req_mock_file: "#{sub_folder_name}/#{model_pre}#{name}Mock.m"
123
136
  }
124
137
  end
125
138
 
@@ -237,7 +250,7 @@ module Lhj
237
250
 
238
251
  puts "\n<===============打印返回数据模型-Begin=====================>\n".green
239
252
  models = []
240
- handle_model(res_body) do |model|
253
+ handle_model(res_body, :res) do |model|
241
254
  models << model
242
255
  end
243
256
  case @language
@@ -248,6 +261,7 @@ module Lhj
248
261
  print_models_for_java(models)
249
262
  end
250
263
  puts "\n<===============打印返回数据模型-End=====================>\n".green
264
+ models
251
265
  end
252
266
 
253
267
  def print_req_body_model(res_json)
@@ -256,7 +270,7 @@ module Lhj
256
270
 
257
271
  puts "\n<===============打印请求模型-Begin=====================>\n".green
258
272
  models = []
259
- handle_model(req_body) do |model|
273
+ handle_model(req_body, :req) do |model|
260
274
  models << model
261
275
  end
262
276
  case @language
@@ -267,6 +281,7 @@ module Lhj
267
281
  print_models_for_java(models)
268
282
  end
269
283
  puts "\n<===============打印请求模型-End=====================>\n".green
284
+ models
270
285
  end
271
286
 
272
287
  def fetch_res_boy(res_json)
@@ -304,7 +319,7 @@ module Lhj
304
319
  end
305
320
  end
306
321
 
307
- def handle_model(model, &block)
322
+ def handle_model(model, type, &block)
308
323
  p_type = model['type']
309
324
  p_name = model['name']
310
325
  p_properties = model['properties']
@@ -318,12 +333,12 @@ module Lhj
318
333
  c_model = { key: k, type: c_type, description: v['description'], default: '' }
319
334
  if v['type'].eql?('object') || v['type'].eql?('array')
320
335
  o = v['items'] || v
321
- o['name'] = gen_model_name(k)
336
+ o['name'] = gen_model_name(k, type)
322
337
  if v['type'].eql?('array') && v['items']['type'].eql?('string')
323
338
  c_model[:type_name] = 'NSString'
324
339
  else
325
340
  c_model[:type_name] = o['name']
326
- handle_model(o, &block)
341
+ handle_model(o, type, &block)
327
342
  end
328
343
  end
329
344
  properties << c_model
@@ -333,7 +348,7 @@ module Lhj
333
348
  when 'array'
334
349
  t = model['items']
335
350
  t['name'] = p_name
336
- handle_model(t, &block)
351
+ handle_model(t, type, &block)
337
352
  end
338
353
  end
339
354
 
@@ -506,6 +521,37 @@ module Lhj
506
521
  end
507
522
 
508
523
  end
524
+
525
+ def print_mock_request_data(req_models)
526
+ puts "\n<===============打印Mock Data-Begin=====================>\n".green
527
+ req_models.each do |model|
528
+ model_name = model[:name] || ''
529
+ model_properties = model[:properties]
530
+ puts_mock "#{model_name} *mock = [[#{model_name} alloc] init];"
531
+ model_properties.each do |m|
532
+ puts_mock "/// #{m[:description]}"
533
+ type = m[:type]
534
+ case type
535
+ when 'integer'
536
+ puts_mock "mock.#{m[:key]} = 0;"
537
+ when 'number'
538
+ puts_mock "mock.#{m[:key]} = 0;"
539
+ when 'float'
540
+ puts_mock "mock.#{m[:key]} = 0;"
541
+ when 'double'
542
+ puts_mock "mock.#{m[:key]} = 0;"
543
+ when 'object'
544
+ puts_mock "mock.#{m[:key]} = @{};"
545
+ when 'array'
546
+ puts_mock "mock.#{m[:key]} = @[];"
547
+ else
548
+ puts_mock "mock.#{m[:key]} = @\"\";"
549
+ end
550
+ end
551
+ puts_mock "\n\n"
552
+ end
553
+ puts "\n<===============打印Mock Data-End=====================>\n".green
554
+ end
509
555
  end
510
556
  end
511
557
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.79"
5
+ VERSION = "0.1.81"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.79
4
+ version: 0.1.81
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-13 00:00:00.000000000 Z
11
+ date: 2022-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj