open_api_import 0.11.1 → 0.11.2

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: a1a667b9e2ed3c9f4edc515345bdc6d85929fa6274138b6201ed8c72de085174
4
- data.tar.gz: 4824ac5351b6e45e9ac82ef3979e39c706a28134469de1dde945f88278728337
3
+ metadata.gz: '086658ecb8430c46e04c59f9f7040083c5dd1599c5fc8538a021bdc6f0214d88'
4
+ data.tar.gz: 1508d5c5c35a315dc13b4a4d71d4b4dba37ab56f96bbc409bf95ff980a4fe2f0
5
5
  SHA512:
6
- metadata.gz: 5795d34e5541ba890be3804f6d14fe13eec276f66e5dc5ab14430bd4eecda2ae633e2ae1fc50a1a7c60ba5d52d1627072770cce8c996f4e4a11503f8981ee79b
7
- data.tar.gz: be67993cee72e6df7d7d81a4e572c0db3ed814c6c637fb5c57ac6a3e59dcfc98b7f3a1e5eeca856b8a9578c766c8396540fb2fe26b3340a931e8d7681fc72bdd
6
+ metadata.gz: ef3fb3ee1ada1afd408313b818eaceb7f16dd98a26a0b215004e2a3fba465d4731bed7bae7ead4edf8ed87c1d108b6fe3ff8220d4e289688344ad1172b2c9caa
7
+ data.tar.gz: 88a71dbd1ac92bb4b9c73dbe9cf8c1146c5667d50cd43eb273afd5bb55e9c1ef1c75fac05ede6ef4b80199960c6b1646308bdcb08833e011ed9a63cca6907d9a
@@ -17,7 +17,7 @@ module LibOpenApiImport
17
17
  example << " #{prop.to_sym}: \"#{val[:example][0]}\", " # only the first example
18
18
  else
19
19
  if val[:example].is_a?(String)
20
- val[:example].gsub!('"', "'")
20
+ val[:example].gsub!('"', "'") unless val.include?("'")
21
21
  example << " #{prop.to_sym}: \"#{val[:example]}\", "
22
22
  elsif val[:example].is_a?(Time)
23
23
  example << " #{prop.to_sym}: \"#{val[:example]}\", "
@@ -209,7 +209,7 @@ class OpenApiImport
209
209
 
210
210
  output << ""
211
211
  output << "# operationId: #{cont[:operationId]}, method: #{met}"
212
- output << "# summary: #{cont[:summary]}"
212
+ output << "# summary: #{cont[:summary].split("\n").join("\n# ")}" if cont.key?(:summary)
213
213
  if !cont[:description].to_s.split("\n").empty?
214
214
  output << "# description: "
215
215
  cont[:description].to_s.split("\n").each do |d|
@@ -284,12 +284,14 @@ class OpenApiImport
284
284
  params_path << param_name
285
285
  end
286
286
  #params_required << param_name if p[:required].to_s=="true"
287
- description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s == "true"} #{p[:description].split("\n").join("\n#\t\t\t")}"
287
+ @logger.warn "Description key is missing for #{met} #{path.path} #{p[:name]}" if p[:description].nil?
288
+ description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s == "true"} #{p[:description].to_s.split("\n").join("\n#\t\t\t")}"
288
289
  end
289
290
  elsif p[:in] == "query"
290
291
  params_query << p[:name]
291
292
  params_required << p[:name] if p[:required].to_s == "true"
292
- description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s == "true"} #{p[:description].split("\n").join("\n#\t\t\t")}"
293
+ @logger.warn "Description key is missing for #{met} #{path.path} #{p[:name]}" if p[:description].nil?
294
+ description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s == "true"} #{p[:description].to_s.split("\n").join("\n#\t\t\t")}"
293
295
  elsif p[:in] == "formData" or p[:in] == "formdata"
294
296
  #todo: take in consideration: default, required
295
297
  #todo: see if we should add the required as params to the method and not required as options
@@ -403,7 +405,7 @@ class OpenApiImport
403
405
  if valv.to_s == ""
404
406
  valv = '""'
405
407
  elsif valv.include?('"')
406
- valv.gsub!('"', "'")
408
+ valv.gsub!('"', "'") unless valv.include?("'")
407
409
  end
408
410
  params_data << "#{dpk}: #{valv}"
409
411
  end
@@ -539,8 +541,12 @@ class OpenApiImport
539
541
  begin
540
542
  data_examples[0].uniq!
541
543
  data_ex = eval("{#{data_examples[0].join(", ")}}")
544
+ rescue SyntaxError
545
+ data_ex = {}
546
+ @logger.warn "Syntax error: #{met} for path: #{path.path} evaluating data_examples[0] => #{data_examples[0].inspect}"
542
547
  rescue
543
548
  data_ex = {}
549
+ @logger.warn "Syntax error: #{met} for path: #{path.path} evaluating data_examples[0] => #{data_examples[0].inspect}"
544
550
  end
545
551
  if (data_required.grep(/\./)).empty?
546
552
  reqdata = filter(data_ex, data_required) #not nested
@@ -548,6 +554,7 @@ class OpenApiImport
548
554
  reqdata = filter(data_ex, data_required, true) #nested
549
555
  end
550
556
  unless reqdata.empty?
557
+ reqdata.uniq!
551
558
  phsd = pretty_hash_symbolized(reqdata)
552
559
  phsd[0] = "data: {"
553
560
  output += phsd
@@ -569,6 +576,7 @@ class OpenApiImport
569
576
  reqdata << edata unless read_only
570
577
  end
571
578
  unless reqdata.empty?
579
+ reqdata.uniq!
572
580
  output << "data: {"
573
581
  output << reqdata.join(", \n")
574
582
  output << "},"
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.11.1
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-17 00:00:00.000000000 Z
11
+ date: 2023-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oas_parser
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.13'
33
+ version: 0.16.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.13'
40
+ version: 0.16.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nice_hash
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.17'
47
+ version: '1.18'
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.17'
54
+ version: '1.18'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,26 +86,6 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: 3.8.0
89
- - !ruby/object:Gem::Dependency
90
- name: coveralls
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '0.8'
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- version: 0.8.22
99
- type: :development
100
- prerelease: false
101
- version_requirements: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '0.8'
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: 0.8.22
109
89
  description: OpenApiImport -- Import a Swagger or Open API file and create a Ruby
110
90
  Request Hash file including all requests and responses with all the examples. The
111
91
  file can be in JSON or YAML
@@ -150,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
130
  - !ruby/object:Gem::Version
151
131
  version: '0'
152
132
  requirements: []
153
- rubygems_version: 3.2.15
133
+ rubygems_version: 3.4.3
154
134
  signing_key:
155
135
  specification_version: 4
156
136
  summary: OpenApiImport -- Import a Swagger or Open API file and create a Ruby Request