activeform-rails 0.0.3 → 0.0.4

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: 7f7688613c8527572ecc8edd552c918e6a45173a
4
- data.tar.gz: 665ea65f9060f5b89b57dfdc65db238ea5c0cf08
3
+ metadata.gz: da4b299980d8dad8dec13b65e08b063881df0aee
4
+ data.tar.gz: d693b3722f7606d402c47ff4ab7ebfaff78c1a27
5
5
  SHA512:
6
- metadata.gz: 190cf9b820a0ba65639caf4d71af7881ed907a51283c102f55899f94e0d27061979e9ea82c6f3c9b405a2ed121a77335c0bdd312f19b3a769f3bf5c48e60ce19
7
- data.tar.gz: 02d4beba8aba2475ee300fb8c2547a428dddcb1fbc6d48010abd87418b3d231ac2a76558ae3663f31764b34a9ea25409dc4d213305b54ccb818f813fe1743c47
6
+ metadata.gz: 16ce180dccfd8380f8eb0062b25ed77afa05d27e0e60f9e8b9521e3bb3272f45c37dcae16849e5210fdd9a4c4756ce911b9f29b183ce9c44f57f63e9ebba14e5
7
+ data.tar.gz: afd9533b79686c341c4860e1e5e22d02e5cfb7aa185d2961cb25e0488625126eefd19188e16a39607c1ae2751b4506f8d7ffbae32b1199f99f2469fcfccef5a8
@@ -5,5 +5,5 @@ end
5
5
  require 'active_support/core_ext/module/delegation'
6
6
  require 'active_record'
7
7
  require 'activeform-rails/form'
8
- require 'activeform-rails/mock_model'
8
+ require 'activeform-rails/unpersistent_model'
9
9
  require 'activeform-rails/validate_uniqueness'
@@ -8,13 +8,12 @@ module ActiveForm
8
8
 
9
9
  module ClassMethods
10
10
  def validates_uniqueness_of(attribute, model_name, options = {})
11
- @attribute = attribute
12
11
  validates_each attribute, options do |form, attr, value|
13
12
  @form = form
14
13
  @model = form.send(model_name)
15
14
  @klass = @model.class
16
15
  @hash = { attribute => value }
17
- add_error_message if another_model?
16
+ add_error_message(attribute) if another_model?
18
17
  end
19
18
  end
20
19
 
@@ -36,8 +35,8 @@ module ActiveForm
36
35
  I18n.t('activerecord.errors.messages.exclusion')
37
36
  end
38
37
 
39
- def add_error_message
40
- @form.errors.add(@attribute, error_message)
38
+ def add_error_message(attribute)
39
+ @form.errors.add(attribute, error_message)
41
40
  end
42
41
  end
43
42
  end
@@ -1,3 +1,3 @@
1
1
  module Activeform
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -4,8 +4,9 @@ describe ActiveForm::ValidateUniqueness do
4
4
  class ValidateUniquenessForm
5
5
  include ActiveForm::Form
6
6
  include ActiveForm::ValidateUniqueness
7
- properties :name, on: :user
7
+ properties :name, :firstname, on: :user
8
8
  validates_uniqueness_of :name, :user, allow_nil: true
9
+ validates_uniqueness_of :firstname, :user, allow_nil: true
9
10
  end
10
11
 
11
12
  context "when there is no user" do
@@ -17,7 +18,7 @@ describe ActiveForm::ValidateUniqueness do
17
18
  end
18
19
 
19
20
  context "when there is user with the same email" do
20
- context "when the user is saved" do
21
+ context "when the user has an available name" do
21
22
  it "is valid" do
22
23
  user = User.create(name: 'name')
23
24
  form = ValidateUniquenessForm.new(user: user)
@@ -25,13 +26,21 @@ describe ActiveForm::ValidateUniqueness do
25
26
  end
26
27
  end
27
28
 
28
- context "when the user is not saved" do
29
+ context "when the user has unavailable name" do
29
30
  it "is not valid" do
30
31
  User.create(name: 'name')
31
32
  user = User.new(name: 'name')
32
33
  form = ValidateUniquenessForm.new(user: user)
33
34
  expect(form).to_not be_valid
34
35
  end
36
+
37
+ it "assign an error to the name" do
38
+ User.create(name: 'name')
39
+ user = User.new(name: 'name')
40
+ form = ValidateUniquenessForm.new(user: user)
41
+ form.valid?
42
+ expect(form.errors[:name]).to_not be_empty
43
+ end
35
44
  end
36
45
  end
37
46
  end
@@ -8,7 +8,7 @@ ActiveRecord::Base.establish_connection(
8
8
  )
9
9
 
10
10
  ['CREATE TABLE categories(id INTEGER PRIMARY KEY, title, user_id)',
11
- 'CREATE TABLE users(id INTEGER PRIMARY KEY, name)'].each do |sql|
11
+ 'CREATE TABLE users(id INTEGER PRIMARY KEY, name, firstname)'].each do |sql|
12
12
  ActiveRecord::Base.connection.execute sql
13
13
  end
14
14
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeform-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guirec Corbel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel