Class: CanPlay::Resource

Inherits:
AbstractResource show all
Defined in:
lib/can_play/resource.rb

Class Method Summary collapse

Methods inherited from AbstractResource

set_method, set_module_name

Methods included from ClassMethods

#add_resource, #collection, #group, #limit, #member

Class Method Details

.inherited(base) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/can_play/resource.rb', line 98

def self.inherited(base)
  super
  base.class_eval do
    raise 'class name set error' unless base.name.end_with?('Resource')
    clazz_name = base.name.gsub(/Resource$/, '')
    clazz = clazz_name.constantize rescue nil
    singleton_attr_accessor :current_group, :temp_current_group
    if clazz && clazz.is_a?(Module)
      base.group clazz
    end
  end
end