sequel_validation_helpers_block 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: aef24a97ede9558d4e5acf778626d24d19705f4e
4
+ data.tar.gz: 8b890314e88074541e572c18ad73713e57940877
5
+ SHA512:
6
+ metadata.gz: 8b15a04a574db9706ea5369a518901ee7f52cbb608234ce66cb79eddb472a217174f20ae462081e9bb769fe9608a220c67c7afc9fd71058b3ccdcc29705cae0d
7
+ data.tar.gz: 152365214669bdd37425a03c423c89aa7b06917732b57e4961cbac95cef9df880ec8d2f5edb0629f0e2e02df5b10919b71b5d45317b36c117bcea4b052e9e826
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Jeremy Evans
1
+ Copyright (c) 2009, 2015 Jeremy Evans
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to
@@ -55,10 +55,10 @@ module Sequel
55
55
  # run for the related attribute on the related object.
56
56
  class ValidationHelpersValidationsBlock < BasicObject
57
57
  # validation_helpers methods that do not require a leading argument.
58
- VALIDATION_HELPERS_NO_ARG_METHODS = [:integer, :not_string, :numeric, :presence, :unique].freeze
58
+ VALIDATION_HELPERS_NO_ARG_METHODS = [:integer, :schema_types, :numeric, :presence, :unique].freeze
59
59
 
60
60
  # validation_helpers methods that require a leading argument
61
- VALIDATION_HELPERS_1_ARG_METHODS = [:exact_length, :format, :includes, :length_range, :max_length, :min_length].freeze
61
+ VALIDATION_HELPERS_1_ARG_METHODS = [:exact_length, :format, :includes, :length_range, :max_length, :min_length, :type].freeze
62
62
 
63
63
  # Store the object and attribute and instance_eval the block.
64
64
  def initialize(obj, attr, &block)
@@ -3,6 +3,17 @@ require 'sequel'
3
3
  $: << File.join(File.dirname(__FILE__), '..', 'lib')
4
4
  Sequel.extension :blank
5
5
 
6
+ if defined?(RSpec)
7
+ require 'rspec/version'
8
+ if RSpec::Version::STRING >= '2.11.0'
9
+ RSpec.configure do |config|
10
+ config.expect_with :rspec do |c|
11
+ c.syntax = :should
12
+ end
13
+ end
14
+ end
15
+ end
16
+
6
17
  describe "Sequel::Plugins::ValidationHelpersBlock" do
7
18
  before do
8
19
  @db = Sequel::Database.new
@@ -33,7 +44,7 @@ describe "Sequel::Plugins::ValidationHelpersBlock" do
33
44
  end
34
45
  end
35
46
  @m.should_not be_valid
36
- @m.errors.should == {:name=>["is not present", "is longer than 10 characters"], :date=>["is invalid"], :number=>["is not present", "is not a number"]}
47
+ @m.errors.should == {:name=>["is not present", "is not present"], :date=>["is invalid"], :number=>["is not present", "is not a number"]}
37
48
  @m.set(:name=>'1234567890-', :number=>'a', :date=>'Tuesday')
38
49
  @m.should_not be_valid
39
50
  @m.errors.should == {:name=>["is longer than 10 characters"], :date=>["is invalid"], :number=>["is not a number"]}
@@ -69,11 +80,13 @@ describe "Sequel::Plugins::ValidationHelpersBlock" do
69
80
  @c.set_validations do
70
81
  validates do
71
82
  name do
83
+ unique
72
84
  max_length 12
73
85
  exact_length 10
74
86
  min_length 8
75
87
  length_range 9..11
76
- unique
88
+ type String
89
+ schema_types
77
90
  end
78
91
  date do
79
92
  format %r{\d\d/\d\d/\d\d\d\d}
@@ -83,7 +96,6 @@ describe "Sequel::Plugins::ValidationHelpersBlock" do
83
96
  presence
84
97
  integer
85
98
  numeric
86
- not_string
87
99
  end
88
100
  end
89
101
  end
@@ -98,11 +110,13 @@ describe "Sequel::Plugins::ValidationHelpersBlock" do
98
110
  end
99
111
  })
100
112
  @c.dataset = ds
113
+ @c.db_schema[:name] = {:type => :string}
114
+ @m.name = ''
101
115
  @m.should_not be_valid
102
- @m.errors.should == {:name=>["is longer than 12 characters", "is not 10 characters", "is shorter than 8 characters", "is too short or too long", "is already taken"], :date=>["is invalid", "is not in range or set: [\"10/11/2009\"]"], :number=>["is not present", "is not a number", "is not a number"]}
116
+ @m.errors.should == {:name=>["is already taken", "is not 10 characters", "is shorter than 8 characters", "is too short or too long"], :date=>["is invalid", "is not in range or set: [\"10/11/2009\"]"], :number=>["is not present", "is not a number", "is not a number"]}
103
117
  @m.set(:name=>'123456789', :date=>'10/12/2009', :number=>'12')
104
118
  @m.should_not be_valid
105
- @m.errors.should == {:name=>["is not 10 characters", "is already taken"], :date=>["is not in range or set: [\"10/11/2009\"]"], :number=>["is a string"]}
119
+ @m.errors.should == {:name=>["is already taken", "is not 10 characters"], :date=>["is not in range or set: [\"10/11/2009\"]"]}
106
120
  @m.set(:name=>'1234567890', :date=>'10/11/2009', :number=>12)
107
121
  @m.should be_valid
108
122
  @m.errors.should == {}
metadata CHANGED
@@ -1,64 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sequel_validation_helpers_block
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2009-10-27 00:00:00 -07:00
13
- default_executable:
11
+ date: 2015-03-22 00:00:00.000000000 Z
14
12
  dependencies: []
15
-
16
13
  description:
17
14
  email: code@jeremyevans.net
18
15
  executables: []
19
-
20
16
  extensions: []
21
-
22
17
  extra_rdoc_files: []
23
-
24
- files:
18
+ files:
25
19
  - LICENSE
26
20
  - lib/sequel_validation_helpers_block.rb
27
21
  - spec/sequel_validation_helpers_block_spec.rb
28
- has_rdoc: true
29
- homepage:
30
- licenses: []
31
-
22
+ homepage: https://github.com/jeremyevans/sequel_validation_helpers_block
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
32
26
  post_install_message:
33
- rdoc_options:
34
- - --inline-source
35
- - --line-numbers
36
- - --title
37
- - "Sequel validation_helpers_block: Allows easy determination of which validation rules apply to a given column, at the expense of increased verbosity"
38
- - --main
27
+ rdoc_options:
28
+ - "--inline-source"
29
+ - "--line-numbers"
30
+ - "--title"
31
+ - 'Sequel validation_helpers_block: Allows easy determination of which validation
32
+ rules apply to a given column, at the expense of increased verbosity'
33
+ - "--main"
39
34
  - Sequel::Plugins::ValidationHelpersBlock
40
35
  - lib/sequel_validation_helpers_block.rb
41
36
  - LICENSE
42
- require_paths:
37
+ require_paths:
43
38
  - lib
44
- required_ruby_version: !ruby/object:Gem::Requirement
45
- requirements:
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ requirements:
46
41
  - - ">="
47
- - !ruby/object:Gem::Version
48
- version: "0"
49
- version:
50
- required_rubygems_version: !ruby/object:Gem::Requirement
51
- requirements:
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ required_rubygems_version: !ruby/object:Gem::Requirement
45
+ requirements:
52
46
  - - ">="
53
- - !ruby/object:Gem::Version
54
- version: "0"
55
- version:
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
56
49
  requirements: []
57
-
58
50
  rubyforge_project:
59
- rubygems_version: 1.3.5
51
+ rubygems_version: 2.4.5
60
52
  signing_key:
61
- specification_version: 3
62
- summary: Allows easy determination of which validation rules apply to a given column, at the expense of increased verbosity
53
+ specification_version: 4
54
+ summary: Allows easy determination of which validation rules apply to a given column,
55
+ at the expense of increased verbosity
63
56
  test_files: []
64
-