Skip to content

Instantly share code, notes, and snippets.

@wrozka
Created January 27, 2013 11:09
Show Gist options
  • Save wrozka/4647881 to your computer and use it in GitHub Desktop.
Save wrozka/4647881 to your computer and use it in GitHub Desktop.
Show me the case, when type safety get useful actually. ;p
wrozka@wrozka-home:~$ ruby parameters.rb
The combined names are: UserFinder and UserStatusReader
require 'dependor'
require 'dependor/shorty' # to enable takes syntax
module HasClassName
def name
self.class.name
end
end
class UserFinder
include HasClassName
end
class UserStatusReader
include HasClassName
end
class Thing
takes :user_finder, :user_status_reader
def combined_names
"#{user_finder.name} and #{user_status_reader.name}"
end
end
thing = Thing.new(UserFinder.new, UserStatusReader.new)
puts "The combined names are: #{thing.combined_names}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment