zertico 0.5.3 → 0.5.4

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.
@@ -27,19 +27,23 @@ module Zertico
27
27
  protected
28
28
 
29
29
  def self.interface_name
30
- self.name.chomp('Accessor').singularize.underscore
30
+ self.interface_class.name.singularize.underscore
31
31
  end
32
32
 
33
- def interface_name
34
- self.class.name.chomp('Accessor').singularize.underscore
33
+ def self.interface_class
34
+ begin
35
+ self.name.chomp('Accessor').constantize
36
+ rescue NameError
37
+ self.name.chomp('Accessor').split('::').last.constantize
38
+ end
35
39
  end
36
40
 
37
- def self.interface_class
38
- self.interface_name.camelize.constantize
41
+ def interface_name
42
+ self.class.interface_name
39
43
  end
40
44
 
41
45
  def interface_class
42
- self.interface_name.camelize.constantize
46
+ self.class.interface_class
43
47
  end
44
48
  end
45
49
  end
@@ -1,3 +1,3 @@
1
1
  module Zertico
2
- VERSION = '0.5.3'
2
+ VERSION = '0.5.4'
3
3
  end
@@ -0,0 +1,4 @@
1
+ module Admin
2
+ class UserAccessor < Zertico::Accessor
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Person
2
+ class ProfileAccessor < Zertico::Accessor
3
+ end
4
+ end
@@ -4,9 +4,21 @@ describe Zertico::Accessor do
4
4
  let(:user) { User.new }
5
5
  let(:user_accessor) { UserAccessor.new(user) }
6
6
 
7
- describe '.initialize' do
8
- it 'should initialize the interface object on a instance variable' do
9
- UserAccessor.new(user).instance_variable_get('@user').should == user
7
+ context 'on a namespaced accessor and interface model' do
8
+ it 'should find the interface model' do
9
+ Person::ProfileAccessor.send(:interface_class).should == Person::Profile
10
+ end
11
+ end
12
+
13
+ context 'on a namespaced accessor and non namespaced interface model' do
14
+ it 'should find the interface model' do
15
+ Admin::UserAccessor.send(:interface_class).should == User
16
+ end
17
+ end
18
+
19
+ context 'on a non namespaced accessor and non namespaced interface model' do
20
+ it 'should find the interface model' do
21
+ UserAccessor.send(:interface_class).should == User
10
22
  end
11
23
  end
12
24
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zertico
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-30 00:00:00.000000000 Z
12
+ date: 2013-07-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -82,9 +82,11 @@ files:
82
82
  - lib/zertico/controller.rb
83
83
  - lib/zertico/service.rb
84
84
  - lib/zertico/version.rb
85
+ - spec/fake_app/admin/user_accessor.rb
85
86
  - spec/fake_app/admin/user_controller.rb
86
87
  - spec/fake_app/admin/user_service.rb
87
88
  - spec/fake_app/person/profile.rb
89
+ - spec/fake_app/person/profile_accessor.rb
88
90
  - spec/fake_app/person/profile_controller.rb
89
91
  - spec/fake_app/person/profile_service.rb
90
92
  - spec/fake_app/user.rb
@@ -110,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
110
112
  version: '0'
111
113
  segments:
112
114
  - 0
113
- hash: -2336383762942507570
115
+ hash: -1376972189915734398
114
116
  required_rubygems_version: !ruby/object:Gem::Requirement
115
117
  none: false
116
118
  requirements:
@@ -119,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
121
  version: '0'
120
122
  segments:
121
123
  - 0
122
- hash: -2336383762942507570
124
+ hash: -1376972189915734398
123
125
  requirements: []
124
126
  rubyforge_project:
125
127
  rubygems_version: 1.8.25
@@ -129,9 +131,11 @@ summary: Models and patterns used by Zertico
129
131
  test_files:
130
132
  - gemfiles/Gemfile.rails3.1
131
133
  - gemfiles/Gemfile.rails3.2
134
+ - spec/fake_app/admin/user_accessor.rb
132
135
  - spec/fake_app/admin/user_controller.rb
133
136
  - spec/fake_app/admin/user_service.rb
134
137
  - spec/fake_app/person/profile.rb
138
+ - spec/fake_app/person/profile_accessor.rb
135
139
  - spec/fake_app/person/profile_controller.rb
136
140
  - spec/fake_app/person/profile_service.rb
137
141
  - spec/fake_app/user.rb