Guest User

Untitled

a guest
Jun 24th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. require 'rubygems'
  2. require 'active_support'
  3.  
  4. class Base
  5. class_inheritable_accessor :name
  6.  
  7. self.name = "Base"
  8.  
  9. end
  10.  
  11. class Foo < Base
  12. self.name = "Foo"
  13.  
  14. end
  15.  
  16. f = Foo.new
  17. puts f.name
  18. b = Base.new
  19. puts b.name
  20.  
  21. # Foo
  22. # Foo
  23.  
  24. module Scenarios
  25.  
  26. class ScenarioError < StandardError
  27. class_inheritable_accessor :messages
  28.  
  29. self.messages = {
  30. :foo => lambda { "bar" }
  31. }
  32.  
  33. def initialize(message_key, *args)
  34. super(messages[message_key].call(*args))
  35. end
  36. end
  37.  
  38. class FooError < ScenarioError
  39. self.messages.merge!({:bar => lambda { "foo"}})
  40. end
  41. end
  42.  
  43. #raise Scenarios::FooError.new(:bar)
  44. p Scenarios::FooError.messages.inspect
  45. raise Scenarios::FooError.new(:foo)
Add Comment
Please, Sign In to add comment