bullet_train-api 1.3.23 → 1.3.24
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49f3df68436e009aca9c2f91fbe338b29a8830566c7ef87146f5470001ba33db
|
4
|
+
data.tar.gz: 53c4a7921c040ed68f57d80cf1d93e89ddcab5c4649601713849349f2d9ebfa6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b97694c61ce6e2dcfaca08ec7f25de915d2e3b6d85de38d6e992c4d2b23c11c3b2a983d1422b82108d2099f681af4d36a45d00a63aefdf5e2f504b1e5b0993d9
|
7
|
+
data.tar.gz: c94048c28fe3266ae7ddcc019074435d7a0007526d7db98b5a9cffc758310230f729f307f1c56dda98456fcb39a1139075602073578aaed3c10c379ad0551946
|
@@ -52,8 +52,14 @@ module Api
|
|
52
52
|
:current_user => User.new
|
53
53
|
}.merge(locals))
|
54
54
|
|
55
|
+
factory_path = "test/factories/#{model.model_name.collection}.rb"
|
56
|
+
cache_key = [:example, model.model_name.param_key, File.ctime(factory_path)]
|
57
|
+
example = Rails.cache.fetch(cache_key) do
|
58
|
+
FactoryBot.example(model.model_name.param_key.to_sym)
|
59
|
+
end
|
60
|
+
|
55
61
|
schema_json = jbuilder.json(
|
56
|
-
|
62
|
+
example || model.new,
|
57
63
|
title: I18n.t("#{model.name.underscore.pluralize}.label"),
|
58
64
|
# TODO Improve this. We don't have a generic description for models we can use here.
|
59
65
|
description: I18n.t("#{model.name.underscore.pluralize}.label"),
|
@@ -130,19 +130,22 @@ module FactoryBot
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def _set_values(method, model, count = 1)
|
133
|
+
model_name = ActiveRecord::Base.descendants.find { |klass| klass.model_name.param_key == model.to_s }&.model_name
|
134
|
+
factory_path = "test/factories/#{model_name.collection}.rb"
|
135
|
+
|
133
136
|
if count > 1
|
134
|
-
|
135
|
-
|
136
|
-
var_name =
|
137
|
+
cache_key = [:example_list, model_name.param_key, File.ctime(factory_path)]
|
138
|
+
values = Rails.cache.fetch(cache_key) { FactoryBot.example_list(model, count) }
|
139
|
+
var_name = model_name.element.pluralize
|
137
140
|
else
|
138
|
-
|
139
|
-
|
140
|
-
var_name =
|
141
|
+
cache_key = [:example, model_name.param_key, File.ctime(factory_path)]
|
142
|
+
values = Rails.cache.fetch(cache_key) { FactoryBot.example(model) }
|
143
|
+
var_name = model_name.element
|
141
144
|
end
|
142
145
|
|
143
146
|
template = (method == "get_examples") ? "index" : "show"
|
144
147
|
|
145
|
-
[template,
|
148
|
+
[template, model_name.name, var_name, values]
|
146
149
|
end
|
147
150
|
|
148
151
|
def _json_output(template, version, class_name, var_name, values)
|
@@ -132,7 +132,9 @@ namespace :bullet_train do
|
|
132
132
|
desc "Export the OpenAPI schema for the application"
|
133
133
|
task export_openapi_schema: :environment do
|
134
134
|
@version = BulletTrain::Api.current_version
|
135
|
-
|
135
|
+
dir = "tmp/openapi"
|
136
|
+
Dir.mkdir(dir) unless File.exist?(dir)
|
137
|
+
File.open("#{dir}/openapi-#{Time.now.strftime("%Y%m%d-%H%M%S")}.yaml", "w+") do |f|
|
136
138
|
f.binmode
|
137
139
|
f.write(
|
138
140
|
ApplicationController.renderer.render(
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|