open_api_import 0.10.5 → 0.10.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_import.rb +22 -7
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf4a735fd2ca50a6f7d5070a96fef58896e1783834f586548deb943cee3aac49
4
- data.tar.gz: 148fca2cc536cd64fbe1b70d21f902810659d67579922ae04cfaeda621400f17
3
+ metadata.gz: 4e1707e266a2104ec005d5c7d5081ffd51c9a012bf1bc6320403377c934998d3
4
+ data.tar.gz: 1babbe0d881bd6f1823935cf6d66447cfa8f5a91df4106e9d87f1ac0fe792aac
5
5
  SHA512:
6
- metadata.gz: d31884dda9909b9e6bba2eec6fbfb83967a8d3d4b35e5e0826027e066a2f42c7a496d021257ec905f1b54a47da3e05177dab7bd3d7a8d0ba9ea3547edbd52166
7
- data.tar.gz: 0c35baa4265c34312f2c2b6866a7197ecb3403a230dccdba20b03f04282674e3e97b6c1f80fd4142862788a351b759802a172a880b967de1e95a357a17cc9471
6
+ metadata.gz: efb801027685d7156f499f110028ffae75fac89032598bc447d2b1c6e1f4acd7fe61905a509e3d6faa4d5d74348257faa98adc3c69d6c1e90f5719a55b1dfac7
7
+ data.tar.gz: 7bf47753113ba141a5e7798f40caa958f27534082484286d483d03fbcf8a1f6881c4ddb3cb1111154790a21bcee77eecfbc366e2af8b75ae261507985f3c3dd4
@@ -369,11 +369,22 @@ class OpenApiImport
369
369
  end
370
370
  end
371
371
  if dpv.keys.include?(:description)
372
- description_parameters << "# #{dpk}: (#{dpv[:type]}) #{dpv[:description]}"
372
+ description_parameters << "# #{dpk}: (#{dpv[:type]}) #{dpv[:description].split("\n").join("\n#\t\t\t")}"
373
373
  end
374
374
 
375
375
  data_pattern += get_patterns(dpk,dpv)
376
376
  data_pattern.uniq!
377
+ dpkeys = []
378
+ data_pattern.reject! do |dp|
379
+ dpkey = dp.scan(/^'[\w\.]+'/)
380
+
381
+ if dpkeys.include?(dpkey)
382
+ true
383
+ else
384
+ dpkeys << dpkey
385
+ false
386
+ end
387
+ end
377
388
 
378
389
  if dpv.keys.include?(:readOnly) and dpv[:readOnly] == true
379
390
  data_read_only << dpk
@@ -389,7 +400,8 @@ class OpenApiImport
389
400
  end
390
401
 
391
402
  #todo: consider check default and insert it
392
- if dpv.key?(:type)
403
+ #todo: remove array from here and add the option to get_examples for the case thisisthekey: ['xxxx']
404
+ if dpv.key?(:type) and dpv[:type]!='array'
393
405
  params_data << get_examples({dpk => dpv}, :only_value, true).join
394
406
  params_data[-1].chop!.chop! if params_data[-1].to_s[-2..-1]==', '
395
407
  params_data.pop if params_data[-1].match?(/^\s*$/im)
@@ -400,7 +412,6 @@ class OpenApiImport
400
412
  params_data << "#{dpk}: #{valv}"
401
413
  end
402
414
  }
403
-
404
415
  if params_data.size > 0
405
416
  if data_examples_all_of == true and data_examples.size > 0
406
417
  data_examples[0]+=params_data
@@ -716,17 +727,19 @@ class OpenApiImport
716
727
  end
717
728
 
718
729
  if val.key?(:items) and val[:items].key?(:enum)
730
+ #before we were getting in all these cases a random value from the enum, now we are getting the first position by default
731
+ #the reason is to avoid confusion later in case we want to compare two swaggers and verify the changes
719
732
  if type==:only_value
720
733
  if val[:items][:enum][0].is_a?(String)
721
- example << " [\"" + val[:items][:enum].sample + "\"] "
734
+ example << " [\"" + val[:items][:enum][0] + "\"] "
722
735
  else
723
- example << " [" + val[:items][:enum].sample + "] "
736
+ example << " [" + val[:items][:enum][0] + "] "
724
737
  end
725
738
  else
726
739
  if val[:items][:enum][0].is_a?(String)
727
- example << " #{prop.to_sym}: [\"" + val[:items][:enum].sample + "\"], "
740
+ example << " #{prop.to_sym}: [\"" + val[:items][:enum][0] + "\"], "
728
741
  else
729
- example << " #{prop.to_sym}: [" + val[:items][:enum].sample + "], "
742
+ example << " #{prop.to_sym}: [" + val[:items][:enum][0] + "], "
730
743
  end
731
744
  end
732
745
  else
@@ -912,6 +925,8 @@ class OpenApiImport
912
925
  if dpv[:pattern].include?('\\\\/')
913
926
  #for cases like this: ^[^\.\\/:*?"<>|][^\\/:*?"<>|]{0,13}[^\.\\/:*?"<>|]?$
914
927
  data_pattern << "'#{dpk}': /#{dpv[:pattern].to_s.gsub('\/','/')}/"
928
+ elsif dpv[:pattern].include?('\\x')
929
+ data_pattern << "'#{dpk}': /#{dpv[:pattern].to_s.gsub('\\x','\\u')}/"
915
930
  else
916
931
  data_pattern << "'#{dpk}': /#{dpv[:pattern].to_s}/"
917
932
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open_api_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.5
4
+ version: 0.10.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-12 00:00:00.000000000 Z
11
+ date: 2021-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oas_parser
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.16'
47
+ version: '1.17'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.16'
54
+ version: '1.17'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement