active_null 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: 3a3c0f5012e574af5bf4631f2afe52bfe920b08f
4
- data.tar.gz: f6fb398c452e6c905e4450baf8bcef4ba20c8051
3
+ metadata.gz: a3494bf9c332cedeb22db3910a21b9164ce99082
4
+ data.tar.gz: e1a18e65f9a6b31af45896a73b307847d70341d0
5
5
  SHA512:
6
- metadata.gz: d9db77e86963d17e00e6077dc636f7b0611204be04b7b36307a55f1c1125fbdaa58e079001a5720463f3381b934d87cb39fe7bf1fdd05d1584227283478eefa2
7
- data.tar.gz: 7b3337aa31623594ece05fbdcb00d4602f09026026024d1a5fc4765c1164da69520fadfe67e9c44f524386c58b6d416ffa9c26716cba1e7897f3b7e9570b8cb0
6
+ metadata.gz: ff9327d00259b3a0c21f9e3c032e77b674d5ed6740b96bcc65cba07482f95f5393d3c1dcc85a516a6a426bee5f8319e7231bdde78ba9b6187dbb5cf877634a94
7
+ data.tar.gz: e6171f1aedabb49e2faf150848e855d4d984e4b8942c78e83352c0dae57598faa556522c263f26096d946ab469baecd7e7ca1a523386a4a2428c93d4df7bffad
data/README.md CHANGED
@@ -34,11 +34,13 @@ For each model you would like to be null aware, `extend ActiveNull`.
34
34
  class Post < ActiveRecord::Base
35
35
  extend ActiveNull
36
36
  has_many :comments
37
+ null_model
37
38
  end
38
39
 
39
40
  class Comment < ActiveRecord::Base
40
41
  extend ActiveNull
41
42
  belongs_to :post
43
+ null_model
42
44
  end
43
45
  ```
44
46
 
@@ -3,12 +3,14 @@ require 'active_null/null_model_builder'
3
3
 
4
4
  module ActiveNull
5
5
  def null
6
- NullModelBuilder.new(self, @null_model_overrides).build.get
6
+ @null_class.get
7
7
  end
8
8
 
9
9
  def null_model(&block)
10
- @null_model_overrides = Module.new
11
- @null_model_overrides.module_eval(&block)
10
+ null_model_overrides = if block_given?
11
+ Module.new.tap { |m| m.module_eval(&block) }
12
+ end
13
+ @null_class = NullModelBuilder.new(self, null_model_overrides).build
12
14
  end
13
15
 
14
16
  def find_by(*args, &block)
@@ -72,8 +72,8 @@ module ActiveNull
72
72
  end
73
73
  end
74
74
  end
75
- null.include Draper::Decoratable if Object.const_defined? 'Draper'
76
- null.include overrides if overrides
75
+ null.send(:include, Draper::Decoratable) if Object.const_defined? 'Draper'
76
+ null.send(:include, overrides) if overrides
77
77
  set_null_model null
78
78
  end
79
79
 
@@ -1,3 +1,3 @@
1
1
  module ActiveNull
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
@@ -1,8 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveNull do
4
+ it 'defines the null class' do
5
+ expect(Object.const_defined? 'NullPost').to eq true
6
+ end
7
+
4
8
  describe '.null' do
5
9
  specify { expect(Post.null).to be_instance_of(NullPost) }
10
+ specify { expect(Test::TestModel.null).to be_instance_of(Test::NullTestModel) }
6
11
  end
7
12
 
8
13
  describe '.null_model' do
@@ -11,6 +11,7 @@ end
11
11
  class Comment < ActiveRecord::Base
12
12
  extend ActiveNull
13
13
  belongs_to :post
14
+ null_model
14
15
  end
15
16
 
16
17
  class NullPostDecorator < Draper::Decorator
@@ -20,3 +21,10 @@ end
20
21
  class PostDecorator < Draper::Decorator
21
22
  delegate_all
22
23
  end
24
+
25
+ module Test
26
+ class TestModel < ActiveRecord::Base
27
+ extend ActiveNull
28
+ null_model
29
+ end
30
+ end
@@ -11,4 +11,8 @@ ActiveRecord::Schema.define do
11
11
  t.references :post
12
12
  t.timestamps
13
13
  end
14
+
15
+ create_table :test_models, force: true do |t|
16
+ t.timestamps
17
+ end
14
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_null
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
  - alexpeachey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-25 00:00:00.000000000 Z
11
+ date: 2014-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: naught