stipend 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/stipend.rb +2 -0
- data/lib/stipend/overrides.rb +17 -0
- data/lib/stipend/version.rb +1 -1
- data/spec/overrides_spec.rb +26 -0
- data/spec/spec_helper.rb +6 -0
- metadata +5 -2
data/lib/stipend.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'stipend/transposable'
|
2
2
|
require 'stipend/unprotectable'
|
3
|
+
require 'stipend/overrides'
|
3
4
|
require 'stipend/version'
|
4
5
|
|
5
6
|
module Stipend
|
6
7
|
def self.included(base)
|
7
8
|
base.send(:include, ::Stipend::Transposable)
|
9
|
+
base.send(:extend, ::Stipend::Overrides)
|
8
10
|
base.send(:extend, ::Stipend::Unprotectable)
|
9
11
|
end
|
10
12
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Stipend
|
2
|
+
module Overrides
|
3
|
+
def override_inherited_model_name(overridden_model_name)
|
4
|
+
class_eval <<-SOMETEXT
|
5
|
+
def self.inherited(child)
|
6
|
+
child.instance_eval do
|
7
|
+
def model_name
|
8
|
+
'#{overridden_model_name}'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
super
|
13
|
+
end
|
14
|
+
SOMETEXT
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/stipend/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class OverridesTestType < ActiveRecord::Base
|
4
|
+
include Stipend
|
5
|
+
|
6
|
+
override_inherited_model_name OverridesTestType.model_name
|
7
|
+
end
|
8
|
+
|
9
|
+
class OverridesAlphaTestType < OverridesTestType
|
10
|
+
end
|
11
|
+
|
12
|
+
describe Stipend::Overrides do
|
13
|
+
describe '.override_inherited_model_name' do
|
14
|
+
let(:alpha_type) { OverridesAlphaTestType.new(:foo => 1, :bar => 'qux') }
|
15
|
+
|
16
|
+
describe '#model_name' do
|
17
|
+
it 'is always the model name of the base class' do
|
18
|
+
alpha_type.class.model_name.should eql 'OverridesTestType'
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'is always the model name of the base class' do
|
22
|
+
OverridesTestType.model_name.should eql 'OverridesTestType'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stipend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -148,6 +148,7 @@ extra_rdoc_files:
|
|
148
148
|
- README.md
|
149
149
|
- LICENSE
|
150
150
|
files:
|
151
|
+
- lib/stipend/overrides.rb
|
151
152
|
- lib/stipend/transposable.rb
|
152
153
|
- lib/stipend/unprotectable.rb
|
153
154
|
- lib/stipend/version.rb
|
@@ -155,6 +156,7 @@ files:
|
|
155
156
|
- Rakefile
|
156
157
|
- README.md
|
157
158
|
- LICENSE
|
159
|
+
- spec/overrides_spec.rb
|
158
160
|
- spec/spec_helper.rb
|
159
161
|
- spec/support/focused.rb
|
160
162
|
- spec/support/pending.rb
|
@@ -187,6 +189,7 @@ specification_version: 3
|
|
187
189
|
summary: STIpend is a quick way to allow assignment and modification of Single Table
|
188
190
|
Inheritance in Rails.
|
189
191
|
test_files:
|
192
|
+
- spec/overrides_spec.rb
|
190
193
|
- spec/spec_helper.rb
|
191
194
|
- spec/support/focused.rb
|
192
195
|
- spec/support/pending.rb
|