dry_validation_parser 0.1.0 → 0.1.2

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: 2bad9db99d8e88991cc8c0665ebdace5ec3179688aa5caa2d3d4b0ee9170b8d1
4
- data.tar.gz: 99d855b9b749a4855c4d277ef65bd90f64470e5fde350e11d2bff6494b2a5abf
3
+ metadata.gz: 55534e4e0a5aba7408ed7e145abe48d5017becd36313f95ad8948af219cdfe24
4
+ data.tar.gz: 0572b97dfee11dbc4a6c0862517867abfaec77b3c5526e57b6ebf221ac47f583
5
5
  SHA512:
6
- metadata.gz: d123f46e1a88ce33558a10741504938c945d53c79717f7539992657f7d3c7886cf482546011e0fe6c538d8991a75ba0c06716202aa124c5b6c7923f73ffab73c
7
- data.tar.gz: 6780789a9a14924a3323c3148b6b30b513d3996d45fe355fdc90fb62b5d432268a4aec138c85c1da86958e964034181d4c0e4bfc2b05ad272288bba362e2757b
6
+ metadata.gz: 19f6543ce37c88b956f5c6bfe6dfba9f8a4298b04f5a3ddc4f3a31207f53389b63bf564564e7e0d0d45adabc5e52b4f96b377712c5b2db6f9ea04871302650d6
7
+ data.tar.gz: 8ec8152ebc5579bbf37ba768269286fa41b283931b21693893c770ef1ffc7b4e675c3d0132e94f872e6f13ce9139b8a7a0ec2f20d08bea383fb3a19a171eec94
data/README.md CHANGED
@@ -15,12 +15,6 @@ And then execute:
15
15
 
16
16
  bundle install
17
17
 
18
- After installing, execute the following command:
19
-
20
- rake dry_validation_parser:install
21
-
22
- This will generate configuration files in your project under `project/config/initializers`. See Configuration section for more details.
23
-
24
18
  ## Usage
25
19
 
26
20
  #### Parsing a Dry::Validation::Contract
@@ -70,7 +64,7 @@ Lets say we have the following Dry::Validation::Contract definition:
70
64
  :keys => {
71
65
  :some_nested_attribute => {
72
66
  :required => false,
73
- :"x-nullable"=>true,
67
+ :nullable =>true,
74
68
  :type=>"string"
75
69
  }
76
70
  }
@@ -83,17 +77,12 @@ schema and generates a hash. The hash is saved in the `keys` attribute of the pa
83
77
  The required key in our result will be set to `true` if the field is defined as
84
78
  `required(:field_name)`, and `false` if defined as `optional(:field_name)`.
85
79
 
86
- The "x-nullable" key depends on whether we have defined the field as value, maybe or filled.
87
-
88
80
  For nested objects like array of objects or hash, we add a keys field with a definition
89
81
  for each field inside the nested hash.
90
82
 
91
83
  If the field is an array of primitive type, the type field will equal to the primitive type, and a
92
84
  array flag will be set on the field.
93
85
 
94
- ## Custom Configuration For Your Project
95
- You can override default configurations by changing the values in the `config/initializers/dry_validation_parser.rb` file generated from the rake command in the Installation section.
96
-
97
86
  ## Development
98
87
 
99
88
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -6,9 +6,5 @@ require "rails"
6
6
  module DryValidationParser
7
7
  class Railtie < Rails::Railtie
8
8
  railtie_name :dry_validation_parser
9
-
10
- rake_tasks do
11
- load "dry_validation_parser/tasks/configuration_generator.rake"
12
- end
13
9
  end
14
10
  end
@@ -22,7 +22,6 @@ module DryValidationParser
22
22
  # @api private
23
23
  def initialize
24
24
  @keys = {}
25
- @config = Config::ValidationConfiguration
26
25
  end
27
26
 
28
27
  # @api private
@@ -70,7 +69,7 @@ module DryValidationParser
70
69
  def visit_or(_, _); end
71
70
 
72
71
  def visit_not(_node, opts = {})
73
- keys[opts[:key]][@config.nullable_type] = true
72
+ keys[opts[:key]][:nullable] = true
74
73
  end
75
74
 
76
75
  # @api private
@@ -104,7 +103,7 @@ module DryValidationParser
104
103
  keys[key][:array] = true
105
104
  elsif name.equal?(:included_in?)
106
105
  keys[key][:enum] = rest[0][1]
107
- keys[key][:enum] += [nil] if opts.fetch(@config.nullable_type, false)
106
+ keys[key][:enum] += [nil] if opts.fetch(:nullable, false)
108
107
  elsif PREDICATE_TO_TYPE[name]
109
108
  keys[key][:type] = PREDICATE_TO_TYPE[name]
110
109
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DryValidationParser
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -2,8 +2,6 @@
2
2
 
3
3
  require_relative "dry_validation_parser/version"
4
4
  require_relative "dry_validation_parser/validation_schema_parser"
5
- require_relative "dry_validation_parser/config/configuration"
6
- require_relative "dry_validation_parser/config/validation_configuration"
7
5
  require_relative "dry_validation_parser/railtie" if defined?(Rails)
8
6
 
9
7
  module DryValidationParser
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry_validation_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jane-Terziev
@@ -55,10 +55,7 @@ files:
55
55
  - README.md
56
56
  - Rakefile
57
57
  - lib/dry_validation_parser.rb
58
- - lib/dry_validation_parser/config/configuration.rb
59
- - lib/dry_validation_parser/config/validation_configuration.rb
60
58
  - lib/dry_validation_parser/railtie.rb
61
- - lib/dry_validation_parser/tasks/configuration_generator.rake
62
59
  - lib/dry_validation_parser/types.rb
63
60
  - lib/dry_validation_parser/validation_schema_parser.rb
64
61
  - lib/dry_validation_parser/version.rb
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module DryValidationParser
4
- module Config
5
- module Configuration
6
- def configuration
7
- yield self
8
- end
9
-
10
- def define_setting(name, default = nil)
11
- class_variable_set("@@#{name}", default)
12
-
13
- define_class_method "#{name}=" do |value|
14
- class_variable_set("@@#{name}", value)
15
- end
16
-
17
- define_class_method name do
18
- class_variable_get("@@#{name}")
19
- end
20
- end
21
-
22
- private
23
-
24
- def define_class_method(name, &block)
25
- (class << self; self; end).instance_eval do
26
- define_method name, &block
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module DryValidationParser
4
- module Config
5
- module ValidationConfiguration
6
- extend Configuration
7
-
8
- define_setting :enable_required_validation, true
9
- define_setting :enable_nullable_validation, true
10
- define_setting :enable_enums, true
11
- define_setting :enable_descriptions, true
12
- define_setting :nullable_type, :"x-nullable"
13
- end
14
- end
15
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "fileutils"
4
-
5
- namespace "dry_validation_parser" do
6
- desc "Create a configuration file for Dry Validation"
7
- task :create_configuration_file do
8
- FileUtils.mkdir_p "#{Dir.pwd}/config/initializers/"
9
- puts "Created #{Dir.pwd}/config/initializers/dry_validation_parser.rb"
10
- File.open("#{Dir.pwd}/config/initializers/dry_validation_parser.rb", "w") do |file|
11
- file.puts 'DryValidationParser::Config::ValidationConfiguration.configuration do |config|
12
- config.enable_required_validation = true
13
- config.enable_nullable_validation = true
14
- config.enable_enums = true
15
- config.enable_descriptions = true
16
- config.nullable_type = :"x-nullable" # or :nullable
17
- end'
18
- end
19
- end
20
-
21
- desc "Create a YAML file for Dry Validation field descriptions"
22
- task :create_validation_descriptions_yaml do
23
- FileUtils.mkdir_p "#{Dir.pwd}/config/locales/"
24
- puts "Created #{Dir.pwd}/config/locales/dry_validation_parser.yml"
25
- File.open("#{Dir.pwd}/config/locales/dry_validation_parser.yml", "w") do |file|
26
- file.puts 'en:
27
- validation:
28
- descriptions:
29
- eql?: "Must be equal to %<value>s"
30
- max_size?: "Maximum size: %<value>s"
31
- min_size?: "Minimum size: %<value>s"
32
- gteq?: "Greater than or equal to %<value>s"
33
- gt?: "Greater than %<value>s"
34
- lt?: "Lower than %<value>s"
35
- lteq?: "Lower than or equal to %<value>s"
36
- '
37
- end
38
- end
39
-
40
- desc "Creates configuration files"
41
- task :install do
42
- Rake::Task["dry_validation_parser:create_configuration_file"].execute
43
- Rake::Task["dry_validation_parser:create_validation_descriptions_yaml"].execute
44
- end
45
- end