yaml-file-db 0.1.2 → 0.1.3

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: 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