vladimerb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/src/pattern.rb CHANGED
@@ -1,20 +1,29 @@
1
1
  require_relative "namespace"
2
2
 
3
3
  class Vladimerb::Pattern
4
- def initialize field_name, regex, options=nil
4
+ def initialize field_name, regex, options = nil
5
5
  @field_name = field_name
6
6
  @regex = regex
7
7
  @custom_message = options[:message] unless options.nil?
8
8
  end
9
9
 
10
10
  def validate record
11
- record.send(@field_name).match(@regex).nil? ?
12
- [error_message] :
13
- []
11
+ check_nil(record.send(@field_name))
14
12
  end
15
13
 
16
14
  private
17
15
 
16
+ # TODO: Not happy with this method name
17
+ def check_nil(value)
18
+ value.nil? ?
19
+ [] : check_match(value)
20
+ end
21
+
22
+ def check_match(value)
23
+ value.match(@regex).nil? ?
24
+ [error_message] : []
25
+ end
26
+
18
27
  def error_message
19
28
  @custom_message.nil? ?
20
29
  @field_name.to_s + " is not formatted correctly." :
data/src/required.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require_relative "namespace"
2
2
 
3
3
  class Vladimerb::Required
4
- def initialize field_name, options=nil
4
+ def initialize field_name, options = nil
5
5
  @field_name = field_name
6
6
  @custom_message = options[:message] unless options.nil?
7
7
  end
data/src/vladimerb.rb CHANGED
@@ -17,8 +17,8 @@ module Vladimerb
17
17
  Chain.new tree, validation }
18
18
  end
19
19
 
20
- def required field_name
21
- Required.new field_name
20
+ def required field_name, options = nil
21
+ Required.new field_name, options
22
22
  end
23
23
 
24
24
  def greater_than field_name, minimum
@@ -29,8 +29,8 @@ module Vladimerb
29
29
  LambdaValidation.new &block
30
30
  end
31
31
 
32
- def pattern field_name, regex
33
- Pattern.new field_name, regex
32
+ def pattern field_name, regex, options = nil
33
+ Pattern.new field_name, regex, options
34
34
  end
35
35
 
36
36
  def predicate field_name, method, msg
data/test/helpers.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require_relative "test_helper.rb"
2
2
 
3
3
  class HelpersTest < Test::Unit::TestCase
4
- include Helpers
4
+ include Vladimerb
5
5
 
6
6
  def test_join_can_compose_multiple_validations
7
7
  assert_errors Candidate.new("Fred", 50),
data/test/pattern.rb CHANGED
@@ -19,5 +19,11 @@ class PatternTest < Test::Unit::TestCase
19
19
  ["Name is insufficiently ill"]
20
20
  end
21
21
 
22
+ def tests_a_value_can_be_blank
23
+ assert_errors Candidate.new(nil, 24),
24
+ pattern(:name, /ill/, message: "Name is insufficiently ill"),
25
+ []
26
+ end
27
+
22
28
  end
23
29
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vladimerb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: