@seamapi/nextlove-sdk-generator 1.13.0 → 1.13.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.
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +19 -60
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/lib/get-entity-imports-template.d.ts +1 -0
- package/lib/generate-ruby-sdk/lib/get-entity-imports-template.js +17 -0
- package/lib/generate-ruby-sdk/lib/get-entity-imports-template.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +23 -63
- package/src/lib/generate-ruby-sdk/lib/get-entity-imports-template.ts +20 -0
- package/lib/generate-ruby-sdk/templates/.rspec.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/.rspec.template.js +0 -4
- package/lib/generate-ruby-sdk/templates/.rspec.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.js +0 -2
- package/lib/generate-ruby-sdk/templates/.ruby-version.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.js +0 -22
- package/lib/generate-ruby-sdk/templates/base_client.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.js +0 -59
- package/lib/generate-ruby-sdk/templates/base_resource.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/client.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/client.rb.template.js +0 -79
- package/lib/generate-ruby-sdk/templates/client.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/gemfile.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/gemfile.template.js +0 -7
- package/lib/generate-ruby-sdk/templates/gemfile.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/logger.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/logger.rb.template.js +0 -13
- package/lib/generate-ruby-sdk/templates/logger.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/lts_version.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/lts_version.rb.template.js +0 -6
- package/lib/generate-ruby-sdk/templates/lts_version.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/rakefile.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/rakefile.template.js +0 -23
- package/lib/generate-ruby-sdk/templates/rakefile.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/readme.md.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/readme.md.template.js +0 -184
- package/lib/generate-ruby-sdk/templates/readme.md.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/request.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/request.rb.template.js +0 -74
- package/lib/generate-ruby-sdk/templates/request.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.js +0 -41
- package/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.js +0 -29
- package/lib/generate-ruby-sdk/templates/spec_helper.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.js +0 -12
- package/lib/generate-ruby-sdk/templates/support-helpers.rb.template.js.map +0 -1
- package/lib/generate-ruby-sdk/templates/version.rb.template.d.ts +0 -2
- package/lib/generate-ruby-sdk/templates/version.rb.template.js +0 -6
- package/lib/generate-ruby-sdk/templates/version.rb.template.js.map +0 -1
- package/src/lib/generate-ruby-sdk/templates/.rspec.template.ts +0 -3
- package/src/lib/generate-ruby-sdk/templates/.ruby-version.template.ts +0 -1
- package/src/lib/generate-ruby-sdk/templates/base_client.rb.template.ts +0 -21
- package/src/lib/generate-ruby-sdk/templates/base_resource.rb.template.ts +0 -58
- package/src/lib/generate-ruby-sdk/templates/client.rb.template.ts +0 -80
- package/src/lib/generate-ruby-sdk/templates/gemfile.template.ts +0 -6
- package/src/lib/generate-ruby-sdk/templates/logger.rb.template.ts +0 -12
- package/src/lib/generate-ruby-sdk/templates/lts_version.rb.template.ts +0 -5
- package/src/lib/generate-ruby-sdk/templates/rakefile.template.ts +0 -22
- package/src/lib/generate-ruby-sdk/templates/readme.md.template.ts +0 -183
- package/src/lib/generate-ruby-sdk/templates/request.rb.template.ts +0 -73
- package/src/lib/generate-ruby-sdk/templates/seamapi.gemspec.template.ts +0 -40
- package/src/lib/generate-ruby-sdk/templates/spec_helper.rb.template.ts +0 -28
- package/src/lib/generate-ruby-sdk/templates/support-helpers.rb.template.ts +0 -11
- package/src/lib/generate-ruby-sdk/templates/version.rb.template.ts +0 -5
|
@@ -3,21 +3,6 @@ import resourceRbTemplate from "./templates/snippets/resource.rb.template.js";
|
|
|
3
3
|
import { pascalCase } from "change-case";
|
|
4
4
|
import { RubyClient } from "./ruby-client.js";
|
|
5
5
|
import { getParameterAndResponseSchema } from "../../lib/openapi/get-parameter-and-response-schema.js";
|
|
6
|
-
import base_clientRbTemplate from "./templates/base_client.rb.template.js";
|
|
7
|
-
import readmeMdTemplate from "./templates/readme.md.template.js";
|
|
8
|
-
import rakefileTemplate from "./templates/rakefile.template.js";
|
|
9
|
-
import versionRbTemplate from "./templates/version.rb.template.js";
|
|
10
|
-
import ltsVersionRbTemplate from "./templates/lts_version.rb.template.js";
|
|
11
|
-
import requestRbTemplate from "./templates/request.rb.template.js";
|
|
12
|
-
import loggerRbTemplate from "./templates/logger.rb.template.js";
|
|
13
|
-
import clientRbTemplate from "./templates/client.rb.template.js";
|
|
14
|
-
import gemfileTemplate from "./templates/gemfile.template.js";
|
|
15
|
-
import seamapiGemspecTemplate from "./templates/seamapi.gemspec.template.js";
|
|
16
|
-
import rspecTemplate from "./templates/.rspec.template.js";
|
|
17
|
-
import rubyVersionTemplate from "./templates/.ruby-version.template.js";
|
|
18
|
-
import supportHelpersTemplate from "./templates/support-helpers.rb.template.js";
|
|
19
|
-
import specHelperTemplate from "./templates/spec_helper.rb.template.js";
|
|
20
|
-
import base_resourceRbTemplate from "./templates/base_resource.rb.template.js";
|
|
21
6
|
import resource_errorRbTemplate from "./templates/resource_error.rb.template.js";
|
|
22
7
|
import resource_warningRbTemplate from "./templates/resource_warning.rb.template.js";
|
|
23
8
|
import resource_errors_supportRbTemplate from "./templates/resource_errors_support.rb.template.js";
|
|
@@ -25,6 +10,7 @@ import resource_warnings_supportRbTemplate from "./templates/resource_warnings_s
|
|
|
25
10
|
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
26
11
|
import { ignored_endpoint_paths } from "../../lib/endpoint-rules.js";
|
|
27
12
|
import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
13
|
+
import { generateEntityImportsTemplate } from "./lib/get-entity-imports-template.js";
|
|
28
14
|
export const generateRubySDK = async (options = {}) => {
|
|
29
15
|
const openapi = await resolveOpenapiSpec(options);
|
|
30
16
|
const routes = Object.entries(openapi.paths).map(([path, v]) => ({
|
|
@@ -32,52 +18,28 @@ export const generateRubySDK = async (options = {}) => {
|
|
|
32
18
|
...v,
|
|
33
19
|
}));
|
|
34
20
|
const fs = {};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
fs[
|
|
39
|
-
|
|
40
|
-
fs[
|
|
41
|
-
|
|
42
|
-
fs[
|
|
43
|
-
fs[".ruby-version"] = rubyVersionTemplate();
|
|
44
|
-
fs["lib/seam/version.rb"] = versionRbTemplate();
|
|
45
|
-
fs["lib/seam/lts_version.rb"] = ltsVersionRbTemplate();
|
|
46
|
-
fs["lib/seam/request.rb"] = requestRbTemplate();
|
|
47
|
-
fs["lib/seam/logger.rb"] = loggerRbTemplate();
|
|
48
|
-
fs["lib/seam/clients/base_client.rb"] = base_clientRbTemplate();
|
|
49
|
-
fs["lib/seam/resources/base_resource.rb"] = base_resourceRbTemplate();
|
|
50
|
-
fs["lib/seam/resources/resource_error.rb"] = resource_errorRbTemplate();
|
|
51
|
-
fs["lib/seam/resources/resource_warning.rb"] = resource_warningRbTemplate();
|
|
52
|
-
fs["lib/seam/resources/resource_errors_support.rb"] =
|
|
21
|
+
const lib_routes_path = "lib/seam/routes";
|
|
22
|
+
const lib_route_resources_path = `${lib_routes_path}/resources`;
|
|
23
|
+
const lib_route_clients_path = `${lib_routes_path}/clients`;
|
|
24
|
+
fs[`${lib_route_resources_path}/resource_error.rb`] =
|
|
25
|
+
resource_errorRbTemplate();
|
|
26
|
+
fs[`${lib_route_resources_path}/resource_warning.rb`] =
|
|
27
|
+
resource_warningRbTemplate();
|
|
28
|
+
fs[`${lib_route_resources_path}/resource_errors_support.rb`] =
|
|
53
29
|
resource_errors_supportRbTemplate();
|
|
54
|
-
fs[
|
|
30
|
+
fs[`${lib_route_resources_path}/resource_warnings_support.rb`] =
|
|
55
31
|
resource_warnings_supportRbTemplate();
|
|
56
|
-
const seamapi_rb_requires = [
|
|
57
|
-
"seam/version",
|
|
58
|
-
"seam/lts_version",
|
|
59
|
-
"seam/request",
|
|
60
|
-
"seam/logger",
|
|
61
|
-
"seam/client",
|
|
62
|
-
"seam/clients/base_client",
|
|
63
|
-
"seam/resources/base_resource",
|
|
64
|
-
"seam/resources/resource_error",
|
|
65
|
-
"seam/resources/resource_warning",
|
|
66
|
-
"seam/resources/resource_errors_support",
|
|
67
|
-
"seam/resources/resource_warnings_support",
|
|
68
|
-
];
|
|
69
32
|
const resources = Object.entries(openapi.components.schemas).map(([schema_name, schema]) => [schema_name, flattenObjSchema(schema)]);
|
|
70
33
|
for (const [snake_name, schema] of resources) {
|
|
71
34
|
const params = Object.entries(schema.properties).map(([name, property_schema]) => ({
|
|
72
35
|
name,
|
|
73
36
|
is_date_time: "format" in property_schema && property_schema.format === "date-time",
|
|
74
37
|
}));
|
|
75
|
-
fs[
|
|
38
|
+
fs[`${lib_route_resources_path}/${snake_name}.rb`] = resourceRbTemplate({
|
|
76
39
|
pascal_name: pascalCase(snake_name),
|
|
77
40
|
attrs: params.filter((p) => !p.is_date_time).map((p) => p.name),
|
|
78
41
|
date_attrs: params.filter((p) => p.is_date_time).map((p) => p.name),
|
|
79
42
|
});
|
|
80
|
-
seamapi_rb_requires.push(`seam/resources/${snake_name}`);
|
|
81
43
|
}
|
|
82
44
|
const clients = {};
|
|
83
45
|
const parent_to_child_resources_map = mapParentToChildResources(routes);
|
|
@@ -138,18 +100,15 @@ export const generateRubySDK = async (options = {}) => {
|
|
|
138
100
|
});
|
|
139
101
|
}
|
|
140
102
|
for (const client of Object.values(clients)) {
|
|
141
|
-
fs[
|
|
142
|
-
seamapi_rb_requires.push(`seam/clients/${client.snake_name}`);
|
|
103
|
+
fs[`${lib_route_clients_path}/${client.snake_name}.rb`] = client.serialize();
|
|
143
104
|
}
|
|
144
|
-
|
|
145
|
-
fs
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
`end\n`,
|
|
152
|
-
].join("\n");
|
|
105
|
+
const resource_file_paths = Object.keys(fs).filter((f) => f.startsWith(lib_route_resources_path));
|
|
106
|
+
const client_file_paths = Object.keys(fs).filter((f) => f.startsWith(lib_route_clients_path));
|
|
107
|
+
const imports_file_name = "index";
|
|
108
|
+
fs[`${lib_route_resources_path}/${imports_file_name}.rb`] =
|
|
109
|
+
generateEntityImportsTemplate(resource_file_paths);
|
|
110
|
+
fs[`${lib_route_clients_path}/${imports_file_name}.rb`] =
|
|
111
|
+
generateEntityImportsTemplate(client_file_paths);
|
|
153
112
|
return fs;
|
|
154
113
|
};
|
|
155
114
|
//# sourceMappingURL=generate-ruby-sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,kBAAkB,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,
|
|
1
|
+
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const generateEntityImportsTemplate: (entity_file_paths: string[]) => string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const generateEntityImportsTemplate = (entity_file_paths) => {
|
|
2
|
+
const entity_names = extractEntityNamesFromFilePaths(entity_file_paths);
|
|
3
|
+
const imports_template = generateImportStatements(entity_names);
|
|
4
|
+
return imports_template;
|
|
5
|
+
};
|
|
6
|
+
const extractEntityNamesFromFilePaths = (entity_file_paths) => {
|
|
7
|
+
return entity_file_paths.map((file_path) => {
|
|
8
|
+
const parts = file_path.split("/");
|
|
9
|
+
const file_name = parts.pop();
|
|
10
|
+
return file_name ? file_name.replace(".rb", "") : "";
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
const generateImportStatements = (entity_names) => {
|
|
14
|
+
return `# frozen_string_literal: true\n
|
|
15
|
+
${entity_names.map((n) => `require_relative '${n}'`).join("\n")}`;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=get-entity-imports-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-entity-imports-template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/lib/get-entity-imports-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,iBAA2B,EAAE,EAAE;IAC3E,MAAM,YAAY,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAA;IAE/D,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,+BAA+B,GAAG,CAAC,iBAA2B,EAAE,EAAE;IACtE,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QAE7B,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,YAAsB,EAAE,EAAE;IAC1D,OAAO;IACL,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACnE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -4,21 +4,6 @@ import resourceRbTemplate from "./templates/snippets/resource.rb.template.js"
|
|
|
4
4
|
import { pascalCase } from "change-case"
|
|
5
5
|
import { RubyClient } from "./ruby-client.js"
|
|
6
6
|
import { getParameterAndResponseSchema } from "lib/openapi/get-parameter-and-response-schema.js"
|
|
7
|
-
import base_clientRbTemplate from "./templates/base_client.rb.template.js"
|
|
8
|
-
import readmeMdTemplate from "./templates/readme.md.template.js"
|
|
9
|
-
import rakefileTemplate from "./templates/rakefile.template.js"
|
|
10
|
-
import versionRbTemplate from "./templates/version.rb.template.js"
|
|
11
|
-
import ltsVersionRbTemplate from "./templates/lts_version.rb.template.js"
|
|
12
|
-
import requestRbTemplate from "./templates/request.rb.template.js"
|
|
13
|
-
import loggerRbTemplate from "./templates/logger.rb.template.js"
|
|
14
|
-
import clientRbTemplate from "./templates/client.rb.template.js"
|
|
15
|
-
import gemfileTemplate from "./templates/gemfile.template.js"
|
|
16
|
-
import seamapiGemspecTemplate from "./templates/seamapi.gemspec.template.js"
|
|
17
|
-
import rspecTemplate from "./templates/.rspec.template.js"
|
|
18
|
-
import rubyVersionTemplate from "./templates/.ruby-version.template.js"
|
|
19
|
-
import supportHelpersTemplate from "./templates/support-helpers.rb.template.js"
|
|
20
|
-
import specHelperTemplate from "./templates/spec_helper.rb.template.js"
|
|
21
|
-
import base_resourceRbTemplate from "./templates/base_resource.rb.template.js"
|
|
22
7
|
import resource_errorRbTemplate from "./templates/resource_error.rb.template.js"
|
|
23
8
|
import resource_warningRbTemplate from "./templates/resource_warning.rb.template.js"
|
|
24
9
|
import resource_errors_supportRbTemplate from "./templates/resource_errors_support.rb.template.js"
|
|
@@ -26,6 +11,7 @@ import resource_warnings_supportRbTemplate from "./templates/resource_warnings_s
|
|
|
26
11
|
import mapParentToChildResources from "lib/openapi/map-parent-to-children-resource.js"
|
|
27
12
|
import { ignored_endpoint_paths } from "lib/endpoint-rules.js"
|
|
28
13
|
import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
14
|
+
import { generateEntityImportsTemplate } from "./lib/get-entity-imports-template.js"
|
|
29
15
|
|
|
30
16
|
export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
31
17
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -35,43 +21,19 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
35
21
|
}))
|
|
36
22
|
|
|
37
23
|
const fs: Record<string, string> = {}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
fs[
|
|
43
|
-
|
|
44
|
-
fs[
|
|
45
|
-
|
|
46
|
-
fs[
|
|
47
|
-
fs[".ruby-version"] = rubyVersionTemplate()
|
|
48
|
-
fs["lib/seam/version.rb"] = versionRbTemplate()
|
|
49
|
-
fs["lib/seam/lts_version.rb"] = ltsVersionRbTemplate()
|
|
50
|
-
fs["lib/seam/request.rb"] = requestRbTemplate()
|
|
51
|
-
fs["lib/seam/logger.rb"] = loggerRbTemplate()
|
|
52
|
-
fs["lib/seam/clients/base_client.rb"] = base_clientRbTemplate()
|
|
53
|
-
fs["lib/seam/resources/base_resource.rb"] = base_resourceRbTemplate()
|
|
54
|
-
fs["lib/seam/resources/resource_error.rb"] = resource_errorRbTemplate()
|
|
55
|
-
fs["lib/seam/resources/resource_warning.rb"] = resource_warningRbTemplate()
|
|
56
|
-
fs["lib/seam/resources/resource_errors_support.rb"] =
|
|
24
|
+
const lib_routes_path = "lib/seam/routes"
|
|
25
|
+
const lib_route_resources_path = `${lib_routes_path}/resources`
|
|
26
|
+
const lib_route_clients_path = `${lib_routes_path}/clients`
|
|
27
|
+
|
|
28
|
+
fs[`${lib_route_resources_path}/resource_error.rb`] =
|
|
29
|
+
resource_errorRbTemplate()
|
|
30
|
+
fs[`${lib_route_resources_path}/resource_warning.rb`] =
|
|
31
|
+
resource_warningRbTemplate()
|
|
32
|
+
fs[`${lib_route_resources_path}/resource_errors_support.rb`] =
|
|
57
33
|
resource_errors_supportRbTemplate()
|
|
58
|
-
fs[
|
|
34
|
+
fs[`${lib_route_resources_path}/resource_warnings_support.rb`] =
|
|
59
35
|
resource_warnings_supportRbTemplate()
|
|
60
36
|
|
|
61
|
-
const seamapi_rb_requires = [
|
|
62
|
-
"seam/version",
|
|
63
|
-
"seam/lts_version",
|
|
64
|
-
"seam/request",
|
|
65
|
-
"seam/logger",
|
|
66
|
-
"seam/client",
|
|
67
|
-
"seam/clients/base_client",
|
|
68
|
-
"seam/resources/base_resource",
|
|
69
|
-
"seam/resources/resource_error",
|
|
70
|
-
"seam/resources/resource_warning",
|
|
71
|
-
"seam/resources/resource_errors_support",
|
|
72
|
-
"seam/resources/resource_warnings_support",
|
|
73
|
-
]
|
|
74
|
-
|
|
75
37
|
const resources = Object.entries(openapi.components.schemas).map(
|
|
76
38
|
([schema_name, schema]) =>
|
|
77
39
|
[schema_name, flattenObjSchema(schema as any)] as [string, ObjSchema]
|
|
@@ -85,12 +47,11 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
85
47
|
})
|
|
86
48
|
)
|
|
87
49
|
|
|
88
|
-
fs[
|
|
50
|
+
fs[`${lib_route_resources_path}/${snake_name}.rb`] = resourceRbTemplate({
|
|
89
51
|
pascal_name: pascalCase(snake_name),
|
|
90
52
|
attrs: params.filter((p) => !p.is_date_time).map((p) => p.name),
|
|
91
53
|
date_attrs: params.filter((p) => p.is_date_time).map((p) => p.name),
|
|
92
54
|
})
|
|
93
|
-
seamapi_rb_requires.push(`seam/resources/${snake_name}`)
|
|
94
55
|
}
|
|
95
56
|
|
|
96
57
|
const clients: Record<string, RubyClient> = {}
|
|
@@ -168,22 +129,21 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
168
129
|
}
|
|
169
130
|
|
|
170
131
|
for (const client of Object.values(clients)) {
|
|
171
|
-
fs[
|
|
172
|
-
seamapi_rb_requires.push(`seam/clients/${client.snake_name}`)
|
|
132
|
+
fs[`${lib_route_clients_path}/${client.snake_name}.rb`] = client.serialize()
|
|
173
133
|
}
|
|
174
134
|
|
|
175
|
-
|
|
176
|
-
|
|
135
|
+
const resource_file_paths = Object.keys(fs).filter((f) =>
|
|
136
|
+
f.startsWith(lib_route_resources_path)
|
|
137
|
+
)
|
|
138
|
+
const client_file_paths = Object.keys(fs).filter((f) =>
|
|
139
|
+
f.startsWith(lib_route_clients_path)
|
|
177
140
|
)
|
|
141
|
+
const imports_file_name = "index"
|
|
178
142
|
|
|
179
|
-
fs[
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
"",
|
|
184
|
-
`module Seam`,
|
|
185
|
-
`end\n`,
|
|
186
|
-
].join("\n")
|
|
143
|
+
fs[`${lib_route_resources_path}/${imports_file_name}.rb`] =
|
|
144
|
+
generateEntityImportsTemplate(resource_file_paths)
|
|
145
|
+
fs[`${lib_route_clients_path}/${imports_file_name}.rb`] =
|
|
146
|
+
generateEntityImportsTemplate(client_file_paths)
|
|
187
147
|
|
|
188
148
|
return fs
|
|
189
149
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const generateEntityImportsTemplate = (entity_file_paths: string[]) => {
|
|
2
|
+
const entity_names = extractEntityNamesFromFilePaths(entity_file_paths)
|
|
3
|
+
const imports_template = generateImportStatements(entity_names)
|
|
4
|
+
|
|
5
|
+
return imports_template
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const extractEntityNamesFromFilePaths = (entity_file_paths: string[]) => {
|
|
9
|
+
return entity_file_paths.map((file_path) => {
|
|
10
|
+
const parts = file_path.split("/")
|
|
11
|
+
const file_name = parts.pop()
|
|
12
|
+
|
|
13
|
+
return file_name ? file_name.replace(".rb", "") : ""
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const generateImportStatements = (entity_names: string[]) => {
|
|
18
|
+
return `# frozen_string_literal: true\n
|
|
19
|
+
${entity_names.map((n) => `require_relative '${n}'`).join("\n")}`
|
|
20
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":".rspec.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/.rspec.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;wBAEG,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":".ruby-version.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/.ruby-version.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC,SAAS,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export default () => `# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Seam
|
|
4
|
-
module Clients
|
|
5
|
-
class BaseClient
|
|
6
|
-
attr_accessor :client
|
|
7
|
-
|
|
8
|
-
def initialize(client)
|
|
9
|
-
@client = client
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def request_seam_object(*attrs)
|
|
13
|
-
client.request_seam_object(*attrs)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def request_seam(*attrs)
|
|
17
|
-
client.request_seam(*attrs)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end\n`;
|
|
22
|
-
//# sourceMappingURL=base_client.rb.template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base_client.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/base_client.rb.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;MAoBf,CAAA"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export default () => `# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Seam
|
|
4
|
-
class BaseResource
|
|
5
|
-
attr_accessor :data, :client
|
|
6
|
-
|
|
7
|
-
def initialize(data, client = nil)
|
|
8
|
-
@data = data
|
|
9
|
-
@client = client
|
|
10
|
-
|
|
11
|
-
@data.each do |key, value|
|
|
12
|
-
instance_variable_set("@#{key}", value)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def update_from_response(data)
|
|
17
|
-
@data = data
|
|
18
|
-
@data.each do |key, value|
|
|
19
|
-
instance_variable_set("@#{key}", value)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.load_from_response(data, client = nil)
|
|
24
|
-
if data.is_a?(Array)
|
|
25
|
-
data.map { |d| new(d, client) }
|
|
26
|
-
else
|
|
27
|
-
new(data, client)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def inspect
|
|
32
|
-
"<#{self.class.name}:#{"0x00%x" % (object_id << 1)}\\n" + # rubocop:disable Style/StringConcatenation, Style/FormatString
|
|
33
|
-
instance_variables
|
|
34
|
-
.map { |k| k.to_s.sub("@", "") }
|
|
35
|
-
.filter { |k| k != "data" and k != "client" and respond_to? k }
|
|
36
|
-
.map { |k| " #{k}=#{send(k).inspect}" }
|
|
37
|
-
.join("\\n") + ">"
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def self.date_accessor(*attrs)
|
|
41
|
-
attrs.each do |attr|
|
|
42
|
-
define_method(attr) do
|
|
43
|
-
value = instance_variable_get("@#{attr}")
|
|
44
|
-
|
|
45
|
-
raise "No value for #{attr} set" if value.nil?
|
|
46
|
-
|
|
47
|
-
parse_datetime(value)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
protected
|
|
53
|
-
|
|
54
|
-
def parse_datetime(value)
|
|
55
|
-
Time.parse(value)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end\n`;
|
|
59
|
-
//# sourceMappingURL=base_resource.rb.template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base_resource.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/base_resource.rb.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyDf,CAAA"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { pascalCase } from "change-case";
|
|
2
|
-
export default (resource_client_names) => {
|
|
3
|
-
const resource_client_defs = resource_client_names
|
|
4
|
-
.map((client_name) => {
|
|
5
|
-
return `
|
|
6
|
-
def ${client_name}
|
|
7
|
-
@${client_name} ||= Seam::Clients::${pascalCase(client_name)}.new(self)
|
|
8
|
-
end\n`;
|
|
9
|
-
})
|
|
10
|
-
.join("");
|
|
11
|
-
return `# frozen_string_literal: true
|
|
12
|
-
|
|
13
|
-
module Seam
|
|
14
|
-
class Client
|
|
15
|
-
attr_accessor :api_key, :base_uri, :debug, :wait_for_action_attempt
|
|
16
|
-
|
|
17
|
-
def self.lts_version
|
|
18
|
-
Seam::LTS_VERSION
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def initialize(api_key: nil, base_uri: nil, wait_for_action_attempt: false, debug: false)
|
|
22
|
-
@api_key = api_key || ENV["SEAM_API_KEY"]
|
|
23
|
-
@base_uri = base_uri || ENV["SEAM_API_URL"] || ENV["SEAM_ENDPOINT"] || "https://connect.getseam.com"
|
|
24
|
-
@debug = debug
|
|
25
|
-
@wait_for_action_attempt = wait_for_action_attempt
|
|
26
|
-
|
|
27
|
-
raise ArgumentError, "SEAM_API_KEY not found in environment, and api_key not provided" if @api_key.to_s.empty?
|
|
28
|
-
|
|
29
|
-
if ENV["SEAM_API_URL"]
|
|
30
|
-
warn 'Using the SEAM_API_URL environment variable is deprecated. ' \\
|
|
31
|
-
'Support will be removed in a later major version. Use SEAM_ENDPOINT instead.'
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def lts_version
|
|
37
|
-
Seam::LTS_VERSION
|
|
38
|
-
end
|
|
39
|
-
${resource_client_defs}
|
|
40
|
-
|
|
41
|
-
def health
|
|
42
|
-
request_seam(:get, "/health")
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# @deprecated Please use {#devices.unmanaged} instead.
|
|
46
|
-
def unmanaged_devices
|
|
47
|
-
warn "[DEPRECATION] 'unmanaged_devices' is deprecated. Please use 'devices.unmanaged' instead."
|
|
48
|
-
|
|
49
|
-
@unmanaged_devices ||= Seam::Clients::DevicesUnmanaged.new(self)
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# @deprecated Please use {#access_codes.unmanaged} instead.
|
|
53
|
-
def unmanaged_access_codes
|
|
54
|
-
warn "[DEPRECATION] 'unmanaged_access_codes' is deprecated. Please use 'access_codes.unmanaged' instead."
|
|
55
|
-
|
|
56
|
-
@unmanaged_access_codes ||= Seam::Clients::AccessCodesUnmanaged.new(self)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def request_seam_object(method, path, klass, inner_object, config = {})
|
|
60
|
-
response = request_seam(method, path, config)
|
|
61
|
-
|
|
62
|
-
data = response[inner_object]
|
|
63
|
-
|
|
64
|
-
klass.load_from_response(data, self)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def request_seam(method, path, config = {})
|
|
68
|
-
Seam::Request.new(
|
|
69
|
-
api_key: api_key,
|
|
70
|
-
base_uri: base_uri,
|
|
71
|
-
debug: debug
|
|
72
|
-
).perform(
|
|
73
|
-
method, path, config
|
|
74
|
-
)
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end\n`;
|
|
78
|
-
};
|
|
79
|
-
//# sourceMappingURL=client.rb.template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/client.rb.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,eAAe,CAAC,qBAA+B,EAAE,EAAE;IACjD,MAAM,oBAAoB,GAAG,qBAAqB;SAC/C,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACnB,OAAO;UACH,WAAW;SACZ,WAAW,uBAAuB,UAAU,CAAC,WAAW,CAAC;UACxD,CAAA;IACN,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BP,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsChB,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gemfile.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/gemfile.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;UAKX,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export default () => `# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "logger"
|
|
4
|
-
|
|
5
|
-
module Seam
|
|
6
|
-
class Logger
|
|
7
|
-
def self.info(message)
|
|
8
|
-
logger = ::Logger.new($stdout)
|
|
9
|
-
logger.info(message)
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end\n`;
|
|
13
|
-
//# sourceMappingURL=logger.rb.template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/logger.rb.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;MAWf,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lts_version.rb.template.js","sourceRoot":"","sources":["../../../src/lib/generate-ruby-sdk/templates/lts_version.rb.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;MAIf,CAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export default () => `# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "bundler/gem_tasks"
|
|
4
|
-
require "rspec/core/rake_task"
|
|
5
|
-
require "standard/rake"
|
|
6
|
-
|
|
7
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
8
|
-
|
|
9
|
-
task default: %i[lint test]
|
|
10
|
-
|
|
11
|
-
task test: "spec"
|
|
12
|
-
task lint: "standard"
|
|
13
|
-
task format: "standard:fix"
|
|
14
|
-
|
|
15
|
-
desc "Open an interactive ruby console"
|
|
16
|
-
task :console do
|
|
17
|
-
require "irb"
|
|
18
|
-
require "bundler/setup"
|
|
19
|
-
require "seamapi"
|
|
20
|
-
ARGV.clear
|
|
21
|
-
IRB.start
|
|
22
|
-
end\n`;
|
|
23
|
-
//# sourceMappingURL=rakefile.template.js.map
|