valid_attribute 1.3.1 → 2.0.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f26e80f5b4e740384dd2c1c17f54dfca313ceca2
4
+ data.tar.gz: 30575c10d726310fd50a0f0d0cbac8204a8d4180
5
+ SHA512:
6
+ metadata.gz: f7c40a0c46b56dd989a5f3df6df9af4bec131d72e0613e0f6bebb396627cf10958f55765a35d5266f284647756fc979796b4e859cdf261fc8f8e583c27d5acd8
7
+ data.tar.gz: e23c1842e1a0dd03cd1ba8caf0158256211e1e7354ce5f2a41e54ee030f3d4ed5da1d10e1c97ae8310f50a2e2cca83fb750cd9da8dbd38caa4cfafeda6b9cb28
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ValidAttribute #
2
2
 
3
- [![Build Status](http://travis-ci.org/bcardarella/valid_attribute.png)](http://travis-ci.org/bcardarella/valid_attribute)
3
+ [![Build Status](https://secure.travis-ci.org/bcardarella/valid_attribute.png?branch=master)](http://travis-ci.org/bcardarella/valid_attribute)
4
4
  [![Dependency Status](https://gemnasium.com/bcardarella/valid_attribute.png?travis)](https://gemnasium.com/bcardarella/valid_attribute)
5
5
  [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/bcardarella/valid_attribute)
6
6
 
@@ -143,6 +143,20 @@ class User
143
143
  end
144
144
  ```
145
145
 
146
+ ## Don't Repeat Yourself ##
147
+
148
+ ```ruby
149
+ # encoding: utf-8
150
+
151
+ # RSpec
152
+ describe User do
153
+ let(:names) { ['TestName', 'Test-name', "O'Namey", 'Maček'] }
154
+ it { should have_valid(:first_name).when *names }
155
+ it { should have_valid(:last_name).when *names }
156
+ end
157
+ ```
158
+
159
+
146
160
  ## Cloning ##
147
161
 
148
162
  If you feel that the setters are mutating parts of the object when
@@ -11,6 +11,4 @@ elsif defined?(Spec)
11
11
  require 'valid_attribute/spec'
12
12
  elsif defined?(MiniTest::Matchers)
13
13
  require 'valid_attribute/minitest'
14
- elsif defined?(Test::Unit)
15
- require 'valid_attribute/test_unit'
16
14
  end
@@ -1,9 +1,11 @@
1
1
  module ValidAttribute
2
2
  class Matcher
3
- attr_accessor :attr, :values, :subject, :failed_values, :passed_values
3
+ attr_accessor :attr, :subject, :failed_values, :passed_values
4
+ attr_writer :values
4
5
 
5
6
  def initialize(attr)
6
7
  self.attr = attr
8
+ @clone = nil
7
9
  end
8
10
 
9
11
  # The collection of values to test against for the given
@@ -24,6 +26,7 @@ module ValidAttribute
24
26
  def negative_failure_message
25
27
  message(passed_values, 'reject')
26
28
  end
29
+ alias failure_message_when_negated negative_failure_message
27
30
 
28
31
  def description
29
32
  "be valid when #{attr} is: #{quote_values(values)}"
@@ -67,10 +70,7 @@ module ValidAttribute
67
70
  end
68
71
 
69
72
  def values
70
- unless @values
71
- @values = [subject.send(attr)]
72
- end
73
- @values
73
+ @values ||= [subject.send(attr)]
74
74
  end
75
75
 
76
76
  def check_value(value)
@@ -1,3 +1,7 @@
1
1
  class MiniTest::Spec
2
2
  include ::ValidAttribute::Method
3
3
  end
4
+
5
+ class Minitest::Unit
6
+ include ::ValidAttribute::Method
7
+ end
@@ -1,3 +1,3 @@
1
1
  module ValidAttribute
2
- VERSION = '1.3.1'
2
+ VERSION = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,94 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valid_attribute
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brian Cardarella
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-13 00:00:00.000000000 Z
11
+ date: 2014-08-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: bourne
42
+ name: mocha
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: minitest
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: minitest-matchers
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  description: Minimalist validation matcher
@@ -98,43 +87,35 @@ executables: []
98
87
  extensions: []
99
88
  extra_rdoc_files: []
100
89
  files:
90
+ - README.md
91
+ - lib/valid_attribute.rb
101
92
  - lib/valid_attribute/matcher.rb
102
93
  - lib/valid_attribute/method.rb
103
94
  - lib/valid_attribute/minitest.rb
104
95
  - lib/valid_attribute/rspec.rb
105
96
  - lib/valid_attribute/spec.rb
106
- - lib/valid_attribute/test_unit.rb
107
97
  - lib/valid_attribute/version.rb
108
- - lib/valid_attribute.rb
109
- - README.md
110
98
  homepage: https://github.com/bcardarella/valid_attribute
111
99
  licenses: []
100
+ metadata: {}
112
101
  post_install_message:
113
102
  rdoc_options: []
114
103
  require_paths:
115
104
  - lib
116
105
  required_ruby_version: !ruby/object:Gem::Requirement
117
- none: false
118
106
  requirements:
119
- - - ! '>='
107
+ - - ">="
120
108
  - !ruby/object:Gem::Version
121
109
  version: '0'
122
- segments:
123
- - 0
124
- hash: 1648759370003077665
125
110
  required_rubygems_version: !ruby/object:Gem::Requirement
126
- none: false
127
111
  requirements:
128
- - - ! '>='
112
+ - - ">="
129
113
  - !ruby/object:Gem::Version
130
114
  version: '0'
131
- segments:
132
- - 0
133
- hash: 1648759370003077665
134
115
  requirements: []
135
116
  rubyforge_project:
136
- rubygems_version: 1.8.23
117
+ rubygems_version: 2.2.2
137
118
  signing_key:
138
- specification_version: 3
119
+ specification_version: 4
139
120
  summary: Minimalist validation matcher
140
121
  test_files: []
@@ -1,3 +0,0 @@
1
- class Test::Unit::TestCase
2
- extend ::ValidAttribute::Method
3
- end