rails开发利器之插件开发-acts_as_xxx method 开发

来源:互联网 发布:ubuntu systemd 安装 编辑:程序博客网 时间:2024/05/21 06:55
  1. 需求分析
    需要为model层建立acts_as的扩展,这样,就能将代码脱离单个的model(如user)限制,在不同的Model中可以重用。我遇到的情况是,我有一个user的model,里面有很多关于流媒体服务器的方法(类方法和对象方法),我现在需要将其独立成一个acts_as_xxxx, 然后放入user model中

  2. 新建lib/diaoduapi/acts_as_flow.rb文件,如下是一个模板
    module ModuleName   def self.included(base)     base.send :extend, ClassMethods   end   module ClassMethods     # 类方法module     def acts_as_something(options={})      send :include, InstanceMethods            #增加类方法      def self.class_methods(params)         #codes      end     end   end   module InstanceMethods # 对象方法module    def instance_methods(params)      #codes    end  end endActiveRecord::Base.send :include, ModuleName 
  3. 修改lib/diaoduapi.rb文件
    require 'diaoduapi/acts_as_flow'