kawaii_validation 0.0.3 → 1.0.0

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
  SHA1:
3
- metadata.gz: 33e8c100829846a72967a5e33929bd3ff85a93be
4
- data.tar.gz: f3e288f99709fc35419fdf94d05d9ce296e3f907
3
+ metadata.gz: 5f7eb7c973a0aa833269f6adac8e475029e48f2c
4
+ data.tar.gz: 335f14ba3e2182f2535a1f7b37d74cbd18b96127
5
5
  SHA512:
6
- metadata.gz: 7130700427637a3fb9858252b4a12b1663f11dc6465c9ae85d9f08badd6525c0f530ec75e17a015938eecb70fb01ece0feb8cce90420f4d378bdb9a107704c15
7
- data.tar.gz: e0a7ec58f3beaf5b3728b8c45f2114a24a6882938da509ea4047374fa94858256ed421faf14ee165b9007cd4a8d5f813a7d4580a800f9d1275c7bb622a7a26f5
6
+ metadata.gz: fe96a028ca0da13b48f10b3daedc401789cdb5adc1d337f74376f9c7a9e4cbaf5e5ebbd121e36d8f3bea96dd363616b9e45f6101a620db67237bb1b0fe5de1ae
7
+ data.tar.gz: 3585113563cfbf969a9a91f35230695f1c1d45573d7aa06c326d3bf4078c6ad4358fc92cb846be09b3ec5bbe1912a35475a3b15004ba64cd6ac9da6a6e5fb168
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ sudo: false
3
+
4
+ rvm:
5
+ - 2.3.0
data/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  An ActiveRecord extension that adds more kawaii validation syntax.
4
4
 
5
+ ## Motivation
6
+
7
+ The "Sexy Validation" syntax is not at all sexy.
8
+
5
9
  ## Installation
6
10
 
7
11
  Gemfile:
@@ -12,11 +16,11 @@ And then execute:
12
16
 
13
17
  $ bundle
14
18
 
15
- ## Supported versions ##
19
+ ## Supported versions
16
20
 
17
- * Ruby 2.0, and 2.1 (trunk)
21
+ * Ruby 2.0, 2.1, 2.2, 2.3, and 2.4 (trunk)
18
22
 
19
- * Rails 3.2.x, 4.0 and 4.1 (edge)
23
+ * Rails 3.2.x, 4.0, 4.1, 4.2, and 5.0 (edge)
20
24
 
21
25
  ## Usage
22
26
 
data/Rakefile CHANGED
@@ -1 +1,13 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs << "test"
8
+ t.pattern = 'test/**/*_test.rb'
9
+ t.warning = true
10
+ t.verbose = true
11
+ end
12
+
13
+ task default: :test
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "kawaii_validation"
7
- spec.version = '0.0.3'
7
+ spec.version = '1.0.0'
8
8
  spec.authors = ["Akira Matsuda"]
9
9
  spec.email = ["ronnie@dio.jp"]
10
10
  spec.description = 'Model.validates { presence_of :name }'
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "bundler", "~> 1.3"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency 'rails'
25
- spec.add_development_dependency 'rspec-rails'
25
+ spec.add_development_dependency 'test-unit-rails'
26
26
  spec.add_development_dependency 'sqlite3'
27
27
  end
@@ -12,7 +12,7 @@ module KawaiiValidation
12
12
  else
13
13
  KawaiiValidation::NonAttributedValidator.new self
14
14
  end
15
- validates_block_validator.instance_eval &block
15
+ validates_block_validator.instance_eval(&block)
16
16
  else
17
17
  super
18
18
  end
File without changes
@@ -0,0 +1,24 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ # load Rails first
4
+ require 'rails'
5
+
6
+ # load the plugin
7
+ require 'kawaii_validation'
8
+
9
+ # needs to load the app next
10
+ require 'fake_app'
11
+
12
+ require 'test/unit/rails/test_help'
13
+ # require 'action_controller/railtie' # needed for Rails 4 + RSpec...
14
+
15
+ module DatabaseDeleter
16
+ def setup
17
+ User.delete_all
18
+ super
19
+ end
20
+ end
21
+
22
+ Test::Unit::TestCase.send :prepend, DatabaseDeleter
23
+
24
+ CreateAllTables.up unless ActiveRecord::Base.connection.table_exists? 'users'
@@ -0,0 +1,79 @@
1
+ require 'test_helper'
2
+
3
+ class ValidationTest < ActiveSupport::TestCase
4
+ setup do
5
+ User.reset_callbacks(:validate)
6
+ User._validators.clear
7
+ end
8
+
9
+ test 'no validation' do
10
+ assert User.new.valid?
11
+ end
12
+
13
+ sub_test_case 'without attributes' do
14
+ test 'without options' do
15
+ User.validates do
16
+ presence_of :name
17
+ end
18
+
19
+ user = User.new
20
+ refute user.valid?
21
+ assert_equal 1, user.errors.count
22
+ assert_equal 1, user.errors[:name].count
23
+ end
24
+
25
+ test 'with an option' do
26
+ User.validates do
27
+ numericality_of :age, greater_than: 0
28
+ end
29
+
30
+ user = User.new age: -1
31
+ refute user.valid?
32
+ assert_equal 1, user.errors.count
33
+ assert_equal 1, user.errors[:age].count
34
+ end
35
+ end
36
+
37
+ sub_test_case 'with an attribute' do
38
+ test 'without options' do
39
+ User.validates :email do
40
+ presence
41
+ end
42
+
43
+ user = User.new
44
+ refute user.valid?
45
+ assert_equal 1, user.errors.count
46
+ assert_equal 1, user.errors[:email].count
47
+ end
48
+
49
+ test 'with an option' do
50
+ User.validates :age do
51
+ numericality greater_than: 0
52
+ end
53
+
54
+ user = User.new age: -1
55
+ refute user.valid?
56
+ assert_equal 1, user.errors.count
57
+ assert_equal 1, user.errors[:age].count
58
+ end
59
+ end
60
+
61
+ test 'mixtures' do
62
+ User.class_eval do
63
+ validates :email do
64
+ size maximum: 100
65
+ format with: /@/
66
+ end
67
+ validates :name, :age do
68
+ presence
69
+ end
70
+ end
71
+
72
+ user = User.new email: 'a' * 101
73
+ refute user.valid?
74
+ assert_equal 4, user.errors.count
75
+ assert_equal 2, user.errors[:email].count
76
+ assert_equal 1, user.errors[:name].count
77
+ assert_equal 1, user.errors[:age].count
78
+ end
79
+ end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kawaii_validation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-26 00:00:00.000000000 Z
11
+ date: 2016-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec-rails
84
+ name: test-unit-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: sqlite3
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Model.validates { presence_of :name }
@@ -115,7 +115,8 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - .gitignore
118
+ - ".gitignore"
119
+ - ".travis.yml"
119
120
  - Gemfile
120
121
  - MIT-LICENSE
121
122
  - README.md
@@ -126,9 +127,9 @@ files:
126
127
  - lib/kawaii_validation/non_attributed_validator.rb
127
128
  - lib/kawaii_validation/validates_with_block.rb
128
129
  - lib/kawaii_validation/version.rb
129
- - spec/fake_app.rb
130
- - spec/spec_helper.rb
131
- - spec/validations_spec.rb
130
+ - test/fake_app.rb
131
+ - test/test_helper.rb
132
+ - test/validations_test.rb
132
133
  homepage: https://github.com/amatsuda/kawaii_validation
133
134
  licenses:
134
135
  - MIT
@@ -139,21 +140,21 @@ require_paths:
139
140
  - lib
140
141
  required_ruby_version: !ruby/object:Gem::Requirement
141
142
  requirements:
142
- - - '>='
143
+ - - ">="
143
144
  - !ruby/object:Gem::Version
144
145
  version: '0'
145
146
  required_rubygems_version: !ruby/object:Gem::Requirement
146
147
  requirements:
147
- - - '>='
148
+ - - ">="
148
149
  - !ruby/object:Gem::Version
149
150
  version: '0'
150
151
  requirements: []
151
152
  rubyforge_project:
152
- rubygems_version: 2.4.5
153
+ rubygems_version: 2.5.1
153
154
  signing_key:
154
155
  specification_version: 4
155
156
  summary: An ActiveRecord extension that adds more kawaii validation syntax
156
157
  test_files:
157
- - spec/fake_app.rb
158
- - spec/spec_helper.rb
159
- - spec/validations_spec.rb
158
+ - test/fake_app.rb
159
+ - test/test_helper.rb
160
+ - test/validations_test.rb
@@ -1,17 +0,0 @@
1
- $LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))
2
- $LOAD_PATH.unshift(__dir__)
3
-
4
- require 'rails'
5
- require 'kawaii_validation'
6
- require 'fake_app'
7
- require 'action_controller/railtie' # needed for Rails 4 + RSpec...
8
- require 'rspec/rails'
9
-
10
- RSpec.configure do |config|
11
- config.before :all do
12
- CreateAllTables.up unless ActiveRecord::Base.connection.table_exists? 'users'
13
- end
14
- config.before :each do
15
- User.delete_all
16
- end
17
- end
@@ -1,83 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Model#validates with a block' do
4
- subject { User.new }
5
- before do
6
- User.reset_callbacks(:validate)
7
- User._validators.clear
8
- end
9
-
10
- context 'no validation' do
11
- it { should be_valid }
12
- end
13
-
14
- context 'without attributes' do
15
- context 'without options' do
16
- before do
17
- User.validates do
18
- presence_of :name
19
- end
20
- end
21
-
22
- it { should_not be_valid }
23
- it { should have(1).error_on(:name) }
24
- end
25
-
26
- context 'with an option' do
27
- before do
28
- User.validates do
29
- numericality_of :age, greater_than: 0
30
- end
31
- end
32
-
33
- subject { User.new age: -1 }
34
- it { should_not be_valid }
35
- it { should have(1).error_on(:age) }
36
- end
37
- end
38
-
39
- context 'with an attribute' do
40
- context 'without options' do
41
- before do
42
- User.validates :email do
43
- presence
44
- end
45
- end
46
-
47
- it { should_not be_valid }
48
- it { should have(1).error_on(:email) }
49
- end
50
-
51
- context 'with an option' do
52
- before do
53
- User.validates :age do
54
- numericality greater_than: 0
55
- end
56
- end
57
-
58
- subject { User.new age: -1 }
59
- it { should_not be_valid }
60
- it { should have(1).error_on(:age) }
61
- end
62
- end
63
-
64
- context 'mixtures' do
65
- before do
66
- User.class_eval do
67
- validates :email do
68
- size maximum: 100
69
- format with: /@/
70
- end
71
- validates :name, :age do
72
- presence
73
- end
74
- end
75
- end
76
-
77
- subject { User.new email: 'a' * 101 }
78
- it { should_not be_valid }
79
- it { should have(2).errors_on(:email) }
80
- it { should have(1).error_on(:name) }
81
- it { should have(1).error_on(:age) }
82
- end
83
- end