fakeit 0.9.2 → 0.10.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +2 -2
- data/README.md +3 -1
- data/bin/fakeit +3 -1
- data/lib/fakeit/app/app_builder.rb +12 -0
- data/lib/fakeit/app/options.rb +7 -3
- data/lib/fakeit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 12f260511e656b09583cd6c2d2dba67d5b7f947c3242eca95c7b3cf2cec34c0a
|
|
4
|
+
data.tar.gz: 48625a13975517595721666508dbaa4f151a421ed24bae0e8a6c053e94e995c3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 82d5e751a1591754f540d4fad85caffc8d697d4a81cb92a0d0ce000c4571a08613565aef6e43919db5712579162f96b676541129b071acaf95c55c3da4ffb200
|
|
7
|
+
data.tar.gz: f480f86e2f9fda5944ee31996b641f1bc0fb3384cab6df126ce2b238cb3759aeb6b2d53dee7d881239369a2f3d8233b315ad3a6e7a592c8f2eb39509b63cd3d9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [v0.9.2](https://github.com/JustinFeng/fakeit/tree/v0.9.2) (2021-08-14)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/JustinFeng/fakeit/compare/v0.9.1...v0.9.2)
|
|
6
|
+
|
|
7
|
+
**Closed issues:**
|
|
8
|
+
|
|
9
|
+
- "Tried to load unspecified class: Date" error is given when spec contains a text that resembles a date [\#25](https://github.com/JustinFeng/fakeit/issues/25)
|
|
10
|
+
|
|
11
|
+
**Merged pull requests:**
|
|
12
|
+
|
|
13
|
+
- Bump rexml from 3.2.4 to 3.2.5 [\#24](https://github.com/JustinFeng/fakeit/pull/24) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
14
|
+
|
|
3
15
|
## [v0.9.1](https://github.com/JustinFeng/fakeit/tree/v0.9.1) (2021-04-18)
|
|
4
16
|
|
|
5
17
|
[Full Changelog](https://github.com/JustinFeng/fakeit/compare/v0.9.0...v0.9.1)
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fakeit (0.
|
|
4
|
+
fakeit (0.10.0)
|
|
5
5
|
faker (= 2.18.0)
|
|
6
6
|
openapi_parser (= 0.14.1)
|
|
7
7
|
rack (~> 2.0)
|
|
@@ -21,7 +21,7 @@ GEM
|
|
|
21
21
|
docile (1.4.0)
|
|
22
22
|
faker (2.18.0)
|
|
23
23
|
i18n (>= 1.6, < 2)
|
|
24
|
-
i18n (1.8.
|
|
24
|
+
i18n (1.8.11)
|
|
25
25
|
concurrent-ruby (~> 1.0)
|
|
26
26
|
openapi_parser (0.14.1)
|
|
27
27
|
parallel (1.20.1)
|
data/README.md
CHANGED
|
@@ -62,6 +62,7 @@ Or use the [docker image](https://hub.docker.com/r/realfengjia/fakeit)
|
|
|
62
62
|
--static generate static response
|
|
63
63
|
--static-types generate static value for specified types, e.g. --static-types integer,string
|
|
64
64
|
--static-properties generate static value for specified properties, e.g. --static-properties id,uuid
|
|
65
|
+
--base-path mounts the mock server at the given path, e.g. --base-path /api
|
|
65
66
|
|
|
66
67
|
other options:
|
|
67
68
|
-v, --version
|
|
@@ -96,7 +97,8 @@ Request and response:
|
|
|
96
97
|
],
|
|
97
98
|
"static_properties": [
|
|
98
99
|
"id"
|
|
99
|
-
]
|
|
100
|
+
],
|
|
101
|
+
"base_path": "/"
|
|
100
102
|
}
|
|
101
103
|
```
|
|
102
104
|
|
data/bin/fakeit
CHANGED
|
@@ -16,6 +16,7 @@ begin
|
|
|
16
16
|
o.bool '--static', 'generate static response'
|
|
17
17
|
o.array '--static-types', 'generate static value for specified types, e.g. --static-types integer,string'
|
|
18
18
|
o.array '--static-properties', 'generate static value for specified properties, e.g. --static-properties id,uuid'
|
|
19
|
+
o.string '--base-path', 'mounts the mock server at the given path, e.g. --base-path /api'
|
|
19
20
|
o.separator ''
|
|
20
21
|
o.separator 'other options:'
|
|
21
22
|
o.on '-v', '--version' do
|
|
@@ -50,7 +51,8 @@ options = Fakeit::App::Options.new(
|
|
|
50
51
|
use_example: opts.use_example?,
|
|
51
52
|
static: opts.static?,
|
|
52
53
|
static_types: opts[:static_types],
|
|
53
|
-
static_properties: opts[:static_properties]
|
|
54
|
+
static_properties: opts[:static_properties],
|
|
55
|
+
base_path: opts[:base_path]
|
|
54
56
|
)
|
|
55
57
|
app = Fakeit.build(opts[:spec], options)
|
|
56
58
|
|
|
@@ -2,6 +2,7 @@ module Fakeit
|
|
|
2
2
|
module App
|
|
3
3
|
class AppBuilder
|
|
4
4
|
def initialize(spec_file, options)
|
|
5
|
+
@options = options
|
|
5
6
|
@config_route = Routes::ConfigRoute.new(options)
|
|
6
7
|
@openapi_route = Routes::OpenapiRoute.new(spec_file)
|
|
7
8
|
end
|
|
@@ -14,10 +15,21 @@ module Fakeit
|
|
|
14
15
|
when '/__fakeit_config__'
|
|
15
16
|
@config_route.call(request)
|
|
16
17
|
else
|
|
18
|
+
request.path_info = trim_base_from_path(request.path_info)
|
|
17
19
|
@openapi_route.call(request, @config_route.options)
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def trim_base_from_path(path)
|
|
27
|
+
return path if @options.base_path == '/'
|
|
28
|
+
|
|
29
|
+
return path unless path.start_with?(@options.base_path)
|
|
30
|
+
|
|
31
|
+
path[@options.base_path.length-1..]
|
|
32
|
+
end
|
|
21
33
|
end
|
|
22
34
|
end
|
|
23
35
|
end
|
data/lib/fakeit/app/options.rb
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
module Fakeit
|
|
2
2
|
module App
|
|
3
3
|
class Options
|
|
4
|
-
attr_reader :permissive, :use_example
|
|
4
|
+
attr_reader :permissive, :use_example, :base_path
|
|
5
5
|
|
|
6
|
-
def initialize(permissive: false, use_example: false, static: false, static_types: [], static_properties: [])
|
|
6
|
+
def initialize(permissive: false, use_example: false, static: false, static_types: [], static_properties: [], base_path: "/")
|
|
7
7
|
@permissive = permissive
|
|
8
8
|
@use_example = use_example
|
|
9
9
|
@static = static
|
|
10
10
|
@static_types = static_types
|
|
11
11
|
@static_properties = static_properties
|
|
12
|
+
# Standardize the base path to include trailing slash
|
|
13
|
+
# so that `/base` matches `/base/path` but doesn't match `/basement/path`
|
|
14
|
+
@base_path = base_path[-1] == '/' ? base_path : "#{base_path}/"
|
|
12
15
|
end
|
|
13
16
|
|
|
14
17
|
def use_static?(type: nil, property: nil)
|
|
@@ -21,7 +24,8 @@ module Fakeit
|
|
|
21
24
|
use_example: @use_example,
|
|
22
25
|
static: @static,
|
|
23
26
|
static_types: @static_types,
|
|
24
|
-
static_properties: @static_properties
|
|
27
|
+
static_properties: @static_properties,
|
|
28
|
+
base_path: @base_path
|
|
25
29
|
}
|
|
26
30
|
end
|
|
27
31
|
end
|
data/lib/fakeit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fakeit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Feng
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-11-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|