Class: Playable
- Inherits:
-
Object
- Object
- Playable
- Defined in:
- lib/player_stats.rb
Class Method Summary collapse
Class Method Details
.metaclass ⇒ Object
3 |
# File 'lib/player_stats.rb', line 3 def self.; class << self; self; end; end |
.traits(*arr) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/player_stats.rb', line 5 def self.traits(*arr) return @traits if arr.empty? attr_accessor *arr arr.each do |a| .instance_eval do define_method(a) do |val| @traits ||= {} @traits[a] = val end end end class_eval do define_method(:initialize) do self.class.traits.each do |k,v| instance_variable_set("@#{k}", v) end end end end |