Skip to content

Commit

Permalink
0.0.19 fix rather obv #nominate issue
Browse files Browse the repository at this point in the history
closes #1

yeah maybe i'm not cut out for metaprogramming :/
  • Loading branch information
damned committed Mar 25, 2017
1 parent 0ba7cd7 commit b1e6399
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lib/dogviz/nominator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module Dogviz
module Nominator
def nominate(names_to_nominees)
names_to_nominees.each { |name, nominee|
self.class.send(:define_method, name) do
define_singleton_method name do
nominee
end
}
Expand Down
2 changes: 1 addition & 1 deletion lib/dogviz/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Dogviz
VERSION = '0.0.18'
VERSION = '0.0.19'
end
22 changes: 21 additions & 1 deletion tests/test_dogviz_graph.rb
Original file line number Diff line number Diff line change
Expand Up @@ -115,18 +115,38 @@ def test_find_all
end

class Dog
def initialize(name)
@name = name.to_s
end
def inspect
"dog #{@name}"
end
end
def test_nominate_elevates_values_as_method_on_group
group = sys.group('g')

dog = Dog.new
dog = Dog.new 'a'

group.nominate foobar: :any_value, dog: dog

assert_equal :any_value, group.foobar
assert_equal dog, group.dog
end

def test_nominates_with_same_name_on_different_containers_work_together
group1 = sys.group('g1')
group2 = sys.group('g2')

dog1 = Dog.new 1
dog2 = Dog.new 2

group1.nominate dog: dog1
group2.nominate dog: dog2

assert_equal dog1, group1.dog
assert_equal dog2, group2.dog
end

def test_nominate_from_delegates_multiple_accessors
outer = sys.group('outer')
nested = outer.group('nested')
Expand Down

0 comments on commit b1e6399

Please sign in to comment.