file_sv 0.1.7 → 0.1.8

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: 43425956ba3f1325aa81876eea311cabd364f35ae2735adf79f4cb2daed69dd4
4
- data.tar.gz: 629f16289572cb0407ae010a5322f96b07ab6261e591b55dd080f3c9d5e5b58c
3
+ metadata.gz: f0b7afdb64abc1410be6cebdcf263fca4f5d6a1bc3319e499aa2465b494ea144
4
+ data.tar.gz: f64237aecf384cafc4bc9469ebecd6c3e4958083ebad3a1e5e90959b425e2662
5
5
  SHA512:
6
- metadata.gz: ec1ca5bffdfcbcc83f94cde7838bc1cdccf844c6c58f45a768203f8d72f2c77e0ce49f706ba7878cb9ba414a58863fb7438e056d76c341a16b258e6de31d3125
7
- data.tar.gz: c8e605801443bbd947769ce32bfd376daad28c98bf05dcbca4e1cbbf81a09d1b6a50b9a5f6d0dc1aab29d494f6796bf400bbda023e95ddb8e57c3e241bf16692
6
+ metadata.gz: 7df5f1b80d1330a08ea6aafa52ba1d4e3d0d01ae963d276ca0a3ad0bffa4f03333e328955e227a86a4d4d980ae9c4a911ee018fea14cbf5d82ceac6baf5c4cdf
7
+ data.tar.gz: e6d42d44838e2bb3d44bb1427c904dd1a75bbe400b26d882ed4109ebcdd6ceae1c82ebb33333a6efc0114a647a7e861118f851d536b9461c19ee97b83ae93932
data/exe/file_sv CHANGED
File without changes
@@ -6,7 +6,7 @@ class GlobalSettings
6
6
 
7
7
  @empty_body_status = 204
8
8
 
9
- @ignore_files = "{*.md,Dockerfile,.*}"
9
+ @ignore_files = "{*.md,Dockerfile}"
10
10
 
11
11
  @https = false
12
12
 
@@ -15,8 +15,11 @@ class SvPlan
15
15
  def create(folder)
16
16
  self.serving_folder = folder
17
17
  puts "Creating service based on files in #{folder}"
18
- file_list = Dir.glob("#{folder}/**/*.*") - Dir.glob("#{folder}/#{GlobalSettings.ignore_files}")
19
- file_list.each { |file| process_file file }
18
+ file_list = Dir.glob("#{folder}/**/*.*", File::FNM_DOTMATCH) - Dir.glob("#{folder}/#{GlobalSettings.ignore_files}, File::FNM_DOTMATCH")
19
+ file_list.each do |file|
20
+ next if File.directory? file
21
+ process_file file
22
+ end
20
23
  end
21
24
 
22
25
  # Process file, for the most part creating endpoint.method from it
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FileSv
4
- VERSION = "0.1.7"
4
+ VERSION = "0.1.8"
5
5
  end
@@ -1,16 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
- # Process YAML files
4
- class YamlProcessor
5
- class << self
6
- # Process YAML file
7
- def process(filename)
8
- if filename == "/file_sv.yaml"
9
- puts "Overriding default config based on #{File.join(Dir.pwd, filename[1..])}"
10
- load_default_config filename[1..]
11
- else
12
- puts "Skipping #{filename}"
13
- end
14
- end
15
- end
16
- end
1
+ # frozen_string_literal: true
2
+
3
+ # Process YAML files
4
+ class YamlProcessor
5
+ class << self
6
+ # Process YAML file
7
+ def process(filename)
8
+ if filename == "/file_sv.yaml"
9
+ puts "Overriding default config based on #{File.join(Dir.pwd, filename[1..])}"
10
+ load_default_config filename[1..]
11
+ else
12
+ puts "Skipping #{filename}"
13
+ end
14
+ end
15
+ end
16
+ end
data/lib/file_sv.rb CHANGED
@@ -1,64 +1,64 @@
1
- # frozen_string_literal: true
2
-
3
- require "yaml"
4
- require_relative "file_sv/version"
5
- require_relative "file_sv/global_settings"
6
- require_relative "file_sv/sv_plan"
7
- require_relative "file_sv/service_loader"
8
- require_relative "file_sv/planned_endpoint"
9
-
10
- # Create Service Virtualization from a simple file system
11
- module FileSv
12
- # General error for FileSv
13
- class Error < StandardError; end
14
-
15
- # Error related to incorrect format of filename
16
- class FileNameError < Error; end
17
-
18
- class << self
19
- # @return [Hash] Mapping of REST method names to setting classes
20
- def rest_methods
21
- {
22
- get: GetSettings, post: PostSettings, patch: PatchSettings, options: OptionsSettings,
23
- delete: DeleteSettings, put: PutSettings
24
- }
25
- end
26
- end
27
- end
28
-
29
- CONFIG_FILE = "file_sv.yaml"
30
-
31
- # Set values in global settings based on config
32
- def load_default_config(file_path)
33
- return unless File.exist? file_path
34
-
35
- config = YAML.load_file file_path
36
- return unless config # Handle empty YAML file
37
-
38
- config["global"]&.each do |key, value|
39
- GlobalSettings.send("#{key}=", value)
40
- end
41
-
42
- load_rest_method_config config
43
- end
44
-
45
- # Load details of each REST method
46
- def load_rest_method_config(config)
47
- FileSv.rest_methods.each do |method, setting_class|
48
- config[method.to_s]&.each { |key, value| setting_class.send("#{key}=", value) }
49
- end
50
- end
51
-
52
- # Set global params based on ENV vars
53
- def set_based_on_env_vars
54
- GlobalSettings.instance_variables.each do |setting|
55
- setting_name = setting.to_s[1..]
56
- if ENV[setting_name]
57
- puts "Setting #{setting_name} to #{ENV[setting_name]}"
58
- GlobalSettings.send("#{setting_name}=", ENV[setting_name])
59
- end
60
- end
61
- end
62
-
63
- load_default_config CONFIG_FILE
64
- set_based_on_env_vars
1
+ # frozen_string_literal: true
2
+
3
+ require "yaml"
4
+ require_relative "file_sv/version"
5
+ require_relative "file_sv/global_settings"
6
+ require_relative "file_sv/sv_plan"
7
+ require_relative "file_sv/service_loader"
8
+ require_relative "file_sv/planned_endpoint"
9
+
10
+ # Create Service Virtualization from a simple file system
11
+ module FileSv
12
+ # General error for FileSv
13
+ class Error < StandardError; end
14
+
15
+ # Error related to incorrect format of filename
16
+ class FileNameError < Error; end
17
+
18
+ class << self
19
+ # @return [Hash] Mapping of REST method names to setting classes
20
+ def rest_methods
21
+ {
22
+ get: GetSettings, post: PostSettings, patch: PatchSettings, options: OptionsSettings,
23
+ delete: DeleteSettings, put: PutSettings
24
+ }
25
+ end
26
+ end
27
+ end
28
+
29
+ CONFIG_FILE = "file_sv.yaml"
30
+
31
+ # Set values in global settings based on config
32
+ def load_default_config(file_path)
33
+ return unless File.exist? file_path
34
+
35
+ config = YAML.load_file file_path
36
+ return unless config # Handle empty YAML file
37
+
38
+ config["global"]&.each do |key, value|
39
+ GlobalSettings.send("#{key}=", value)
40
+ end
41
+
42
+ load_rest_method_config config
43
+ end
44
+
45
+ # Load details of each REST method
46
+ def load_rest_method_config(config)
47
+ FileSv.rest_methods.each do |method, setting_class|
48
+ config[method.to_s]&.each { |key, value| setting_class.send("#{key}=", value) }
49
+ end
50
+ end
51
+
52
+ # Set global params based on ENV vars
53
+ def set_based_on_env_vars
54
+ GlobalSettings.instance_variables.each do |setting|
55
+ setting_name = setting.to_s[1..]
56
+ if ENV[setting_name]
57
+ puts "Setting #{setting_name} to #{ENV[setting_name]}"
58
+ GlobalSettings.send("#{setting_name}=", ENV[setting_name])
59
+ end
60
+ end
61
+ end
62
+
63
+ load_default_config CONFIG_FILE
64
+ set_based_on_env_vars
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: file_sv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Garratt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-09 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faker
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubygems_version: 3.1.4
127
+ rubygems_version: 3.2.32
128
128
  signing_key:
129
129
  specification_version: 4
130
130
  summary: REST service virtualisation through file structure.