open_api_import 0.10.5 → 0.10.9

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.
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