artisan-repository 0.0.2 → 0.0.3

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.
@@ -7,6 +7,14 @@ module Artisan
7
7
  end
8
8
  end
9
9
 
10
+ class RecordNotValid < RuntimeError
11
+ attr_reader :record
12
+
13
+ def initialize(record)
14
+ @record = record
15
+ end
16
+ end
17
+
10
18
  class Repository
11
19
  def self.register_repo(repo)
12
20
  @repo = repo
@@ -35,7 +43,7 @@ module Artisan
35
43
  def self.project_configuration
36
44
  repo.project_configuration
37
45
  end
38
-
46
+
39
47
  def self.change
40
48
  repo.change
41
49
  end
@@ -16,7 +16,7 @@ shared_examples "future user repository" do
16
16
 
17
17
  it "raises an exception if the email is not unique" do
18
18
  repo.create(attributes)
19
- lambda { future_user = repo.create(attributes) }.should raise_exception
19
+ lambda { future_user = repo.create(attributes) }.should raise_exception(Artisan::RecordNotValid)
20
20
  end
21
21
 
22
22
  it "finds a future user account by email" do
@@ -35,6 +35,6 @@ shared_examples "future user repository" do
35
35
  future_user = repo.create(:email => "person@test.com")
36
36
  repo.find(future_user.id).should_not be_nil
37
37
  repo.delete(future_user.id)
38
- lambda { repo.find(future_user.id).should }.should raise_exception Artisan::RecordNotFound
38
+ lambda { repo.find(future_user.id).should }.should raise_exception(Artisan::RecordNotFound)
39
39
  end
40
40
  end
@@ -33,7 +33,7 @@ shared_examples "user repository" do
33
33
 
34
34
  it "validates unique login" do
35
35
  user = repo.create(:email => "test1@example.com", :login => "login", :password => "pass", :password_confirmation => "pass", :full_name => "some name")
36
- lambda { repeat = repo.create(:email => "test2@example.com", :login => "login", :password => "pass", :password_confirmation => "pass", :full_name => "some name") }.should raise_exception
36
+ lambda { repeat = repo.create(:email => "test2@example.com", :login => "login", :password => "pass", :password_confirmation => "pass", :full_name => "some name") }.should raise_exception(Artisan::RecordNotValid)
37
37
  end
38
38
 
39
39
  it "updates the password" do
@@ -44,7 +44,7 @@ shared_examples "user repository" do
44
44
 
45
45
  it "validates unique login...case sensitive style" do
46
46
  user = repo.create(:email => "test1@example.com", :login => "login", :password => "pass", :password_confirmation => "pass", :full_name => "some name")
47
- lambda { repeat = repo.create(:email => "test2@example.com", :login => "Login", :password => "pass", :password_confirmation => "pass", :full_name => "some name") }.should raise_exception
47
+ lambda { repeat = repo.create(:email => "test2@example.com", :login => "Login", :password => "pass", :password_confirmation => "pass", :full_name => "some name") }.should raise_exception(Artisan::RecordNotValid)
48
48
  end
49
49
 
50
50
  it "gets the user's stories" do
metadata CHANGED
@@ -1,27 +1,22 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: artisan-repository
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - 8th Light Craftsmen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-10-10 00:00:00 Z
12
+ date: 2012-10-13 00:00:00.000000000 Z
14
13
  dependencies: []
15
-
16
14
  description: An interface to the Artisan persistance layer
17
15
  email: paul@8thlight.com
18
16
  executables: []
19
-
20
17
  extensions: []
21
-
22
18
  extra_rdoc_files: []
23
-
24
- files:
19
+ files:
25
20
  - lib/artisan/repository.rb
26
21
  - lib/artisan/shared_examples/change_examples.rb
27
22
  - lib/artisan/shared_examples/future_user_examples.rb
@@ -31,33 +26,26 @@ files:
31
26
  - lib/artisan/shared_examples/user_examples.rb
32
27
  homepage: http://8thlight.com
33
28
  licenses: []
34
-
35
29
  post_install_message:
36
30
  rdoc_options: []
37
-
38
- require_paths:
31
+ require_paths:
39
32
  - lib
40
- required_ruby_version: !ruby/object:Gem::Requirement
33
+ required_ruby_version: !ruby/object:Gem::Requirement
41
34
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 629603400274043038
46
- segments:
47
- - 0
48
- version: "0"
49
- required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
40
  none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
55
45
  requirements: []
56
-
57
46
  rubyforge_project:
58
- rubygems_version: 1.8.24
47
+ rubygems_version: 1.8.21
59
48
  signing_key:
60
49
  specification_version: 3
61
- summary: Artisan Repository
50
+ summary: Artisan RepositorySpec
62
51
  test_files: []
63
-