tarvit-helpers 0.0.20 → 0.0.21

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: cd1b908ccf653e1909cdc051761ee3faaef7558a
4
- data.tar.gz: 779cf74315f93e08e58977d354ceeb7449e00e0a
3
+ metadata.gz: e09d3174c8b6ed141630679bc0566ac741ddfff8
4
+ data.tar.gz: 1bfda782f003b56ddc7809471ef1333e9c9d6d2f
5
5
  SHA512:
6
- metadata.gz: 4321541963b3e2b869e42572fa53461b82d32aee90fe561ab6a82eab81ff0a284c92801f67cf79c264f56fbe703e2d66c1a6493ba0cee4229464ee1324203295
7
- data.tar.gz: 503e67c0d0a8bd853ed4b536180059eb7c767daf2b25b26964d0998d94d3e8157ee63f8ad3d3f72eebfe34c4ae9784e357f8835ce9a5429d2f6699188654ccbd
6
+ metadata.gz: 57c405ec703cbf1d9eb1bd05de877b06972b58e9fa6212ea8674d3e64f167822503ce3051eaadd11afd56c27a2f07c5e928cca9ae847b4fe89f0cf555508120a
7
+ data.tar.gz: e4d3ac1382ffcaf9b0e4383594092021b5e902aee2a29e79d5c75e1394d2c3c0341f59c30d6d89b5476454896724e68f16b1defe5d7794647656099bad69bf6d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.20
1
+ 0.0.21
@@ -2,8 +2,8 @@ module TarvitHelpers
2
2
  module HashPresenter
3
3
  class Observable < Simple
4
4
  def initialize(hash, levels=[], parent=nil)
5
+ super
5
6
  @_hash = hash
6
- @_levels = levels
7
7
  end
8
8
 
9
9
  def _hash
@@ -12,6 +12,10 @@ module TarvitHelpers
12
12
  @_parent = parent
13
13
  end
14
14
 
15
+ def _root?
16
+ _parent.nil?
17
+ end
18
+
15
19
  def method_missing(m, *args)
16
20
  return _value(m) if _accessor_method?(m)
17
21
  super
@@ -52,9 +56,12 @@ module TarvitHelpers
52
56
  end
53
57
 
54
58
  def _new_level_presenter(value, method_name)
55
- self.class.new(value, _path(method_name), self)
59
+ _new_level_presenter_klass.new(value, _path(method_name), self)
56
60
  end
57
61
 
62
+ def _new_level_presenter_klass
63
+ self.class
64
+ end
58
65
  end
59
66
  end
60
67
  end
@@ -24,7 +24,7 @@ module TarvitHelpers
24
24
  end
25
25
 
26
26
  def _new_level_presenter(value, method_name)
27
- self.class.new(value, _path(method_name), self, _rules_holder)
27
+ _new_level_presenter_klass.new(value, _path(method_name), self, _rules_holder)
28
28
  end
29
29
 
30
30
  def _add_rules(rules_holder); end
@@ -29,5 +29,12 @@ module BaseHashPresenterTest
29
29
  expect(hp.a[1].c).to eq(2)
30
30
  expect(hp.a[2]).to eq(3)
31
31
  end
32
+
33
+ it 'should detect root node' do
34
+ hp = hash_presenter.new(a: { b: { c: 1 }, d: { e: 2 } } )
35
+ expect(hp._root?).to be_truthy
36
+ expect(hp.a.b._root?).to be_falsey
37
+ expect(hp.a.d._root?).to be_falsey
38
+ end
32
39
  end
33
40
  end
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: tarvit-helpers 0.0.20 ruby lib
5
+ # stub: tarvit-helpers 0.0.21 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "tarvit-helpers"
9
- s.version = "0.0.20"
9
+ s.version = "0.0.21"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarvit-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitaly Tarasenko