vizjerai-validatable 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :patch: 0
3
3
  :major: 1
4
- :minor: 8
4
+ :minor: 9
@@ -3,6 +3,24 @@ module Validatable
3
3
  klass.extend Validatable::ClassMethods
4
4
  klass.extend Validatable::Macros
5
5
  end
6
+
7
+ def initialize(attributes = nil)
8
+ # Mass Assignment implementation
9
+ if attributes
10
+ attributes.each do |key, value|
11
+ self[key] = value
12
+ end
13
+ end
14
+ yield self if block_given?
15
+ end
16
+
17
+ def [](key)
18
+ instance_variable_get("@#{key}")
19
+ end
20
+
21
+ def []=(key, value)
22
+ instance_variable_set("@#{key}", value)
23
+ end
6
24
 
7
25
  # call-seq: valid?
8
26
  #
@@ -159,6 +159,16 @@ functional_tests do
159
159
  end
160
160
 
161
161
 
162
+ test 'initialize' do
163
+ klass = Class.new do
164
+ include Validatable
165
+ attr_accessor :first_name, :last_name
166
+ end
167
+ instance = klass.new({:first_name => 'First Name', :last_name => 'Last Name'})
168
+ assert_equal 'First Name', instance.first_name
169
+ assert_equal 'Last Name', instance.last_name
170
+ end
171
+
162
172
  test "when child validations have errors, level 2 and higher parent validations are not performed" do
163
173
  child_class = Class.new do
164
174
  include Validatable
@@ -10,6 +10,24 @@ Expectations do
10
10
  klass.new.valid?
11
11
  end
12
12
 
13
+ expect 'First Name' do
14
+ klass = Class.new do
15
+ include Validatable
16
+ attr_accessor :first_name, :last_name
17
+ end
18
+ instance = klass.new({:first_name => 'First Name', :last_name => 'Last Name'})
19
+ instance.first_name
20
+ end
21
+
22
+ expect 'Last Name' do
23
+ klass = Class.new do
24
+ include Validatable
25
+ attr_accessor :first_name, :last_name
26
+ end
27
+ instance = klass.new({:first_name => 'First Name', :last_name => 'Last Name'})
28
+ instance.last_name
29
+ end
30
+
13
31
  expect true do
14
32
  klass = Class.new do
15
33
  include Validatable
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vizjerai-validatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Fields
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-06-11 00:00:00 -07:00
13
+ date: 2009-06-15 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies: []
16
16