open_api_import 0.8.9 → 0.9.0

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: 563a76eeef59c666b1e77ed1efbfefb456119338fa14a94aa1c6f51eef4b0bb0
4
- data.tar.gz: a6ef472adda72c06d37ec444c693ba7eb7c15dcedfd3754eb488f397ee130098
3
+ metadata.gz: 11e41e0bbb6b94eb93ba0e288d579737ad2e046a01e05c31b6cf3ca5f1a1dd1e
4
+ data.tar.gz: 0d442acb434e846803001f03dab342145bcbd4649ea23d41c407eecec7204537
5
5
  SHA512:
6
- metadata.gz: aea7ea0650e23d9010fa08627409e9579ebdc4295209362844142d9a128ae945d483875ce6ea01ba2f67b193c712fc2742806caccd378f9d8b2830ea4dcbd345
7
- data.tar.gz: 4a67757d85aafbf2e5ae9d41db2f186ffb67cc241585c1766c1e92a5fe05bfb0cde9f46871a3d979a7f952390702447e42862e00fc1d8cbd6e1905fa1aeb76d6
6
+ metadata.gz: bf392458a892e7a1e77b64da2af9f4f3c5bfac57d1f49b226e645eaf38ec0baab2577f85e4c22e000cbe5ebf838ca64be7e5ca8b6fe277166405a5069856fc22
7
+ data.tar.gz: 6fb8d679183ea58ccfdc258c30b3ec428d38bf94b9c723def84cfe0a8e0f2839492b6dcb646fa80cbb292f44c446fce336b5a3c559dd4f683b5939e34991336a
data/README.md CHANGED
@@ -107,6 +107,7 @@ In case no options supplied:
107
107
  -f, --create_files It will create a file per module
108
108
  -T, --tags_module It will be used the tags key to create the module name
109
109
  -F, --fixed_module all the requests will be under the module Requests
110
+ -s, --silent It will display only errors
110
111
  ```
111
112
 
112
113
 
data/bin/open_api_import CHANGED
@@ -42,6 +42,10 @@ optparse = OptionParser.new do |opts|
42
42
  options[:name_for_module] = :fixed
43
43
  end
44
44
 
45
+ opts.on("-s", "--silent", "It will display only errors") do
46
+ options[:silent] = true
47
+ end
48
+
45
49
 
46
50
  end
47
51
 
@@ -18,18 +18,19 @@ class OpenApiImport
18
18
  # operation_id: it will be used the operationId field but using the snake_case version, for example for listUsers: list_users
19
19
  # operationId: it will be used the operationId field like it is, for example: listUsers
20
20
  # @param name_for_module [Symbol]. (:path, :path_file, :fixed, :tags, :tags_file) (default: :path). How the module names will be created.
21
+ # @param silent [Boolean]. (default: false) It will display only errors.
21
22
  # path: It will be used the first folder of the path to create the module name, for example the path /users/list will be in the module Users and all the requests from all modules in the same file.
22
23
  # path_file: It will be used the first folder of the path to create the module name, for example the path /users/list will be in the module Users and each module will be in a new requests file.
23
24
  # tags: It will be used the tags key to create the module name, for example the tags: [users,list] will create the module UsersList and all the requests from all modules in the same file.
24
25
  # tags_file: It will be used the tags key to create the module name, for example the tags: [users,list] will create the module UsersList and and each module will be in a new requests file.
25
26
  # fixed: all the requests will be under the module Requests
26
27
  ##############################################################################################
27
- def self.from(swagger_file, create_method_name: :operation_id, include_responses: true, mock_response: false, name_for_module: :path)
28
+ def self.from(swagger_file, create_method_name: :operation_id, include_responses: true, mock_response: false, name_for_module: :path, silent: false)
28
29
  begin
29
30
  f = File.new("#{swagger_file}_open_api_import.log", "w")
30
31
  f.sync = true
31
32
  @logger = Logger.new f
32
- puts "Logs file: #{swagger_file}_open_api_import.log"
33
+ puts "Logs file: #{swagger_file}_open_api_import.log" unless silent
33
34
  rescue StandardError => e
34
35
  warn "Not possible to create the Logger file"
35
36
  warn e
@@ -140,7 +141,7 @@ class OpenApiImport
140
141
 
141
142
  # for the case operationId is missing
142
143
  cont[:operationId] = "undefined" unless cont.key?(:operationId)
143
-
144
+
144
145
  if create_method_name == :path
145
146
  method_name = (met.to_s + "_" + path.path.to_s).snake_case
146
147
  method_name.chop! if method_name[-1] == "_"
@@ -276,9 +277,11 @@ class OpenApiImport
276
277
  param_name = p[:name].to_s.snake_case
277
278
  path_txt.gsub!("{#{p[:name]}}", "\#{#{param_name}}")
278
279
  end
279
- params_path << param_name
280
- #params_required << param_name if p[:required].to_s=="true"
281
- description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s=="true"} #{p[:description]}"
280
+ unless params_path.include?(param_name)
281
+ params_path << param_name
282
+ #params_required << param_name if p[:required].to_s=="true"
283
+ description_parameters << "# #{p[:name]}: (#{type}) #{"(required)" if p[:required].to_s=="true"} #{p[:description]}"
284
+ end
282
285
  elsif p[:in] == "query"
283
286
  params_query << p[:name]
284
287
  params_required << p[:name] if p[:required].to_s=="true"
@@ -557,7 +560,7 @@ class OpenApiImport
557
560
  File.open(requests_file_path, "w") { |file| file.write(output_txt) }
558
561
  res_rufo = `rufo #{requests_file_path}`
559
562
  message = "** Requests file: #{swagger_file}.rb that contains the code of the requests after importing the Swagger file"
560
- puts message
563
+ puts message unless silent
561
564
  @logger.info message
562
565
  @logger.error " Error formating with rufo" unless res_rufo.to_s.match?(/\AFormat:.+$\s*\z/)
563
566
  @logger.error " Syntax Error: #{`ruby -c #{requests_file_path}`}" unless `ruby -c #{requests_file_path}`.include?("Syntax OK")
@@ -569,7 +572,7 @@ class OpenApiImport
569
572
 
570
573
  requires_txt = ""
571
574
  message = "** Generated files that contain the code of the requests after importing the Swagger file: "
572
- puts message
575
+ puts message unless silent
573
576
  @logger.info message
574
577
  files.each do |mod, out_mod|
575
578
  output = output_header + out_mod + output_footer
@@ -579,7 +582,7 @@ class OpenApiImport
579
582
  File.open(requests_file_path, "w") { |file| file.write(output_txt) }
580
583
  res_rufo = `rufo #{requests_file_path}`
581
584
  message = " - #{requests_file_path}"
582
- puts message
585
+ puts message unless silent
583
586
  @logger.info message
584
587
  @logger.error " Error formating with rufo" unless res_rufo.to_s.match?(/\AFormat:.+$\s*\z/)
585
588
  @logger.error " Syntax Error: #{`ruby -c #{requests_file_path}`}" unless `ruby -c #{requests_file_path}`.include?("Syntax OK")
@@ -590,7 +593,7 @@ class OpenApiImport
590
593
  res_rufo = `rufo #{requests_file_path}`
591
594
  message = "** File that contains all the requires for all Request files: \n"
592
595
  message += " - #{requests_file_path} "
593
- puts message
596
+ puts message unless silent
594
597
  @logger.info message
595
598
  @logger.error " Error formating with rufo" unless res_rufo.to_s.match?(/\AFormat:.+$\s*\z/)
596
599
  @logger.error " Syntax Error: #{`ruby -c #{requests_file_path}`}" unless `ruby -c #{requests_file_path}`.include?("Syntax OK")
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open_api_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.9
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-09 00:00:00.000000000 Z
11
+ date: 2019-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oas_parser
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.19.0
20
17
  - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '0.19'
19
+ version: '0.22'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.22.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.19.0
30
27
  - - "~>"
31
28
  - !ruby/object:Gem::Version
32
- version: '0.19'
29
+ version: '0.22'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.22.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rufo
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 0.7.0
40
37
  - - "~>"
41
38
  - !ruby/object:Gem::Version
42
39
  version: '0.7'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.7.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 0.7.0
50
47
  - - "~>"
51
48
  - !ruby/object:Gem::Version
52
49
  version: '0.7'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.7.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: nice_hash
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -74,22 +74,22 @@ dependencies:
74
74
  name: rspec
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: 3.8.0
80
77
  - - "~>"
81
78
  - !ruby/object:Gem::Version
82
79
  version: '3.8'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 3.8.0
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: 3.8.0
90
87
  - - "~>"
91
88
  - !ruby/object:Gem::Version
92
89
  version: '3.8'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 3.8.0
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: coveralls
95
95
  requirement: !ruby/object:Gem::Requirement
@@ -146,7 +146,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.0.3
149
+ rubyforge_project:
150
+ rubygems_version: 2.7.6
150
151
  signing_key:
151
152
  specification_version: 4
152
153
  summary: OpenApiImport -- Import a Swagger or Open API file and create a Ruby Request