Sha256: 03576a9a80f234088c0336fa68c982dbc1201aeee147d1fa9dc48b320b0b9d65
Contents?: true
Size: 1008 Bytes
Versions: 15
Compression:
Stored size: 1008 Bytes
Contents
require 'rails' require 'active_record' module Cable module ActsAsCable def self.included( base ) base.send :extend, ClassMethods end module ClassMethods def acts_as_cable( reflection_options = {} ) with_modules = [] with_modules << reflection_options.delete(:with) if reflection_options.has_key?(:with) with_modules.flatten! has_one :menu, reflection_options.merge( :as => :cable_menuable ) has_many :blocks, :as => :resource if with_modules.include? :blocks accepts_nested_attributes_for :menu self.cattr_accessor :default_template self.default_template = "default" yield self if block_given? end def template( template_name ) self.default_template = (Cable.templates.include?( template_name.to_s )) ? template_name.to_s : :default.to_s end end end end
Version data entries
15 entries across 15 versions & 1 rubygems