tarvit-helpers 0.0.20 → 0.0.21

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.
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