rest-api-generator 0.1.4 → 0.1.5

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: 4873b5f52ba8ca76abbc7449e0c0398ee1d38fbfb47ebec80dabb293b3ca0cea
4
- data.tar.gz: bd96d06619b7a14eb9e6b953d60bc6a2f84bb7d48b0cca5181c0a588bb066cba
3
+ metadata.gz: 04727c112f46dd53f0ab7b45c0e83c13ddd3ae2df45fed5b3aa89cf7fac6efa4
4
+ data.tar.gz: 8de60fa55662ef20a6390af3da742c5873e3a2499598790afe759e0afae00352
5
5
  SHA512:
6
- metadata.gz: 7cd7f1d823c9b0abba38301024eefb393eb460b10a0ff92e41b7f377b401f09f37771afd039701539fd697a4612e0b0a46ef99b6eccf81d118a23e5fff63bfbb
7
- data.tar.gz: dbb337a4c098fdc2b04e71456b5664be8ca670fdd277436cf05111897a7f72ac0559bd47bacf840c6248406aae0e931506e00ad6f3715d9f22da4a9a30984b90
6
+ metadata.gz: 585ad32f866f1e0374dd6051c91ee898a382ed67b1995c511536e3548ed25cc0731725980570ef814d9782d73803b94fd78183af5eee137ed8a054cfb3ab2850
7
+ data.tar.gz: 68aedf154d0f0b0472cc082d5cbf8ec47e2276070a60963aa8ab58cbb827221fcde13c709e4d7dcd3341ac6a7787a9373fd7564d904b0595aabd165f009ac41e
data/Gemfile.lock CHANGED
@@ -78,6 +78,8 @@ GEM
78
78
  activesupport (>= 3.0)
79
79
  railties (>= 3.0)
80
80
  rspec-rails (>= 2.2)
81
+ anyway_config (2.3.1)
82
+ ruby-next-core (>= 0.14.0)
81
83
  ast (2.4.2)
82
84
  builder (3.2.4)
83
85
  concurrent-ruby (1.1.10)
@@ -218,6 +220,7 @@ GEM
218
220
  rubocop (~> 1.33)
219
221
  rubocop-shopify (2.10.1)
220
222
  rubocop (~> 1.35)
223
+ ruby-next-core (0.15.3)
221
224
  ruby-progressbar (1.11.0)
222
225
  sqlite3 (1.5.4-x86_64-linux)
223
226
  switchcop (0.1.2)
@@ -237,10 +240,12 @@ GEM
237
240
  zeitwerk (2.6.6)
238
241
 
239
242
  PLATFORMS
243
+ ruby
240
244
  x86_64-linux
241
245
 
242
246
  DEPENDENCIES
243
247
  ammeter (~> 1.1.5)
248
+ anyway_config (>= 2.0.0)
244
249
  database_cleaner
245
250
  rake (~> 13.0)
246
251
  rest-api-generator!
data/README.md CHANGED
@@ -243,6 +243,20 @@ This spec options work as generators too, so you can call them individually:
243
243
  rails g rest_api_generator:spec:rswag Car name:string color:string
244
244
  ```
245
245
 
246
+ ##### Custom paths
247
+
248
+ By default, the plain rspec and rswag specs are going to be generated in the _spec/requests_ and _spec/docs_
249
+ directories, respectively. You can override this configuration with an initializer inside your project:
250
+
251
+ ```rb
252
+ # config/initializers/rest_api_generator.rb
253
+
254
+ RestApiGenerator.configure do |config|
255
+ config.test_path = "custom_test_dir/requests"
256
+ config.docs_path = "custom_docs_dir/rswag"
257
+ end
258
+ ```
259
+
246
260
  ### Resource Features
247
261
 
248
262
  #### Modular Error Handler
@@ -5,7 +5,8 @@ module RestApiGenerator
5
5
  attr_accessor :options, :attributes
6
6
 
7
7
  API_CONTROLLER_DIR_PATH = "app/controllers"
8
- API_TEST_DIR_PATH = "spec/requests"
8
+ API_TEST_DIR_PATH = RestApiGenerator.configuration.test_path
9
+ API_DOCS_DIR_PATH = RestApiGenerator.configuration.docs_path
9
10
 
10
11
  private
11
12
 
@@ -39,7 +39,7 @@ module RestApiGenerator
39
39
  end
40
40
 
41
41
  def controller_test_path
42
- "#{API_TEST_DIR_PATH}#{scope_path}/#{file_name.pluralize}_spec.rb"
42
+ "#{API_DOCS_DIR_PATH}#{scope_path}/#{file_name.pluralize}_spec.rb"
43
43
  end
44
44
 
45
45
  def spec_controller_template
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "anyway_config"
4
+
5
+ module RestApiGenerator
6
+ class Config < Anyway::Config
7
+ config_name :rest_api_generator
8
+
9
+ attr_config test_path: "spec/requests", docs_path: "spec/docs"
10
+ end
11
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RestApiGenerator
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
@@ -4,6 +4,7 @@ require "rails"
4
4
  require_relative "rest_api_generator/version"
5
5
  require_relative "rest_api_generator/application_controller"
6
6
  require_relative "rest_api_generator/error_handler"
7
+ require_relative "rest_api_generator/config"
7
8
  require_relative "rest_api_generator/custom_error"
8
9
  require_relative "rest_api_generator/helpers/render"
9
10
  require_relative "rest_api_generator/filterable"
@@ -12,6 +13,16 @@ require_relative "rest_api_generator/orderable"
12
13
  module RestApiGenerator
13
14
  class Error < StandardError; end
14
15
 
16
+ class << self
17
+ def configuration
18
+ @configuration ||= Config.new
19
+ end
20
+
21
+ def configure
22
+ yield(configuration)
23
+ end
24
+ end
25
+
15
26
  def self.parent_controller
16
27
  "RestApiGenerator::ApplicationController"
17
28
  end
@@ -35,6 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency "rails", ">= 5.0"
36
36
 
37
37
  spec.add_development_dependency "ammeter", "~> 1.1.5"
38
+ spec.add_development_dependency "anyway_config", ">= 2.0.0"
38
39
  spec.add_development_dependency "database_cleaner"
39
40
  spec.add_development_dependency "rspec-rails", "~> 6.0.0"
40
41
  spec.add_development_dependency "rswag"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-api-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - PedroAugustoRamalhoDuarte
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-06 00:00:00.000000000 Z
11
+ date: 2023-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.1.5
41
+ - !ruby/object:Gem::Dependency
42
+ name: anyway_config
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 2.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.0
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: database_cleaner
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -125,6 +139,7 @@ files:
125
139
  - lib/rest_api_generator.rb
126
140
  - lib/rest_api_generator/application_controller.rb
127
141
  - lib/rest_api_generator/child_resource_controller.rb
142
+ - lib/rest_api_generator/config.rb
128
143
  - lib/rest_api_generator/custom_error.rb
129
144
  - lib/rest_api_generator/error_handler.rb
130
145
  - lib/rest_api_generator/filterable.rb
@@ -158,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
173
  - !ruby/object:Gem::Version
159
174
  version: '0'
160
175
  requirements: []
161
- rubygems_version: 3.3.7
176
+ rubygems_version: 3.3.3
162
177
  signing_key:
163
178
  specification_version: 4
164
179
  summary: Build a Ruby on Rails REST API faster