yaml-file-db 0.1.2 → 0.1.3

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: cdec368220bb1f0c3075bc77ce04deee5d71b589dedfe4768c12a91c963b5373
4
- data.tar.gz: 64a96c084ff0d6a622c787c84632fb9163f8218151e1575a71b0ca02bc10413d
3
+ metadata.gz: f4700000d15653642b4406b061880362c02aaa98baed7ab989234299bd058443
4
+ data.tar.gz: 2b39ce455282320fe6eed78f75515988136c02f5b1be6c7aaf98719036cd7448
5
5
  SHA512:
6
- metadata.gz: 83182ca75c22109d1e0a8c117cfae4d75551b9d6f363b4a244d596864fb9b6e657e49b29312ea1b235a0e607ca656a69238acbfa88a4359d7303994d16e7da69
7
- data.tar.gz: 2d7e1a93edefba627b2da0bb473398e35dd84343070268256eb3b198d60cfd3bb1b24ad0aa0f16fc621efb1fb8c117ee39f2c9b8b7e9dff2d6d4ac69611df987
6
+ metadata.gz: 87b7ab971ba139a3293ea7761c091c610d8f71505df5f17d64199a635edef806bcbf365f6eb69ea05911d30d25bdfadb3d47b28efd37d6b43be5e5f665a26b09
7
+ data.tar.gz: 1c7e6cda53f628c4d3119954e09c179ba28ec38960d9ca529579a0af8a5d114293d0ddac1e21e8f5ee79a21db4ced29d81e773b221922bde2a4550a88597a922
@@ -34,7 +34,7 @@ module YDB
34
34
  row = Object.const_get(klass_name).new(source, schema_path)
35
35
  table[row.id] = row
36
36
  rescue ValidationError => error
37
- @errors << "#{source}: #{error.to_s}"
37
+ @errors << "[#{source.split("/")[-3..-1].join("/")}] #{error.to_s}"
38
38
  end
39
39
  end
40
40
 
@@ -76,7 +76,7 @@ module YDB
76
76
  begin
77
77
  block.call(row)
78
78
  rescue ValidationError => error
79
- @errors << "#{row.source}: #{error.to_s}"
79
+ @errors << "[#{row.source.split("/")[-3..-1].join("/")}] #{error.to_s}"
80
80
  end
81
81
  end
82
82
  end
@@ -20,13 +20,13 @@ module YDB
20
20
  table = db.public_send(key.to_sym)
21
21
  value.each do |primary_key|
22
22
  row = table[primary_key]
23
- raise ValidationError.new("invalid primary_key: #{primary_key} is not part of #{key}") if row.nil?
23
+ raise ValidationError.new("Invalid primary_key: #{primary_key} isn't part of table #{key}") if row.nil?
24
24
  rows << row
25
25
  end
26
26
  instance_variable_set("@#{key}", rows)
27
27
  else
28
28
  row = db.public_send(key.pluralize.to_sym)[value]
29
- raise ValidationError.new("invalid primary_key: #{primary_key} is not part of #{key}") if row.nil?
29
+ raise ValidationError.new("Invalid primary_key: #{primary_key} isn't part of table #{key}") if row.nil?
30
30
  instance_variable_set("@#{key}", row)
31
31
  end
32
32
  end
@@ -41,11 +41,11 @@ module YDB
41
41
  value.each do |row|
42
42
  if row.respond_to?(self.class.to_s.downcase.to_sym)
43
43
  unless row.public_send(self.class.to_s.downcase.to_sym) == self
44
- raise ValidationError.new("inconsistent relationship: #{row.id} doesn't link back to #{self.id}")
44
+ raise ValidationError.new("Inconsistent relationship: #{row.id} doesn't link back to #{self.id}")
45
45
  end
46
46
  elsif row.respond_to?(self.class.to_s.downcase.pluralize.to_sym)
47
47
  unless row.public_send(self.class.to_s.downcase.pluralize.to_sym).include?(self)
48
- raise ValidationError.new("inconsistent relationship: #{row.id} doesn't link back to #{self.id}")
48
+ raise ValidationError.new("Inconsistent relationship: #{row.id} doesn't link back to #{self.id}")
49
49
  end
50
50
  end
51
51
  end
@@ -57,13 +57,13 @@ module YDB
57
57
 
58
58
  def build(source, schema_path)
59
59
  doc = YAML.load(File.read(source))
60
- raise ValidationError.new("invalid YAML") if doc == false
60
+ raise ValidationError.new("Invalid YAML document") if doc == false
61
61
 
62
62
  schema = YAML.load(File.read(schema_path))
63
63
  begin
64
64
  JSON::Validator.validate!(schema, doc, :parse_data => false)
65
65
  rescue JSON::Schema::ValidationError => error
66
- raise ValidationError.new("invalid data (#{error.message})")
66
+ raise ValidationError.new("Invalid data: #{error.message}")
67
67
  end
68
68
 
69
69
  doc.each do |name, value|
@@ -83,7 +83,7 @@ module YDB
83
83
  end
84
84
 
85
85
  def validate_filename()
86
- raise ValidationError.new("invalid filename") unless self.id =~ /^[\w-]+$/
86
+ raise ValidationError.new("Invalid filename: #{self.id} doesn't follow dash-case convention") unless self.id =~ /\A[a-z\d][a-z\d-]*[a-z\d]\z/i
87
87
  end
88
88
 
89
89
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml-file-db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis-Philippe Gauthier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-23 00:00:00.000000000 Z
11
+ date: 2021-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport