bullet_train-api 1.3.22 → 1.3.24
Sign up to get free protection for your applications and to get access to all the features.
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
|