- 论坛徽章:
- 0
|
Module方法调用好不好
以前说,用module给class加singleton方法,和extend到类include到类的instance
现在看看这个
Ruby代码- 1.module Prober
- 2. def probe_invoke(type, data = {})
- 3. p = Probe.new({:probe_type => type.to_s,
- 4. :data => data.to_json, :probe_status => 0, :retries => 0})
- 5. p.save
- 6. end
- 7.end
- module Prober
- def probe_invoke(type, data = {})
- p = Probe.new({:probe_type => type.to_s,
- :data => data.to_json, :probe_status => 0, :retries => 0})
- p.save
- end
- end
复制代码 掉的时候
Ruby代码- 1.require 'prober'
- 2.include Prober
- 3.probe_invoke("send_sms", sms_text)
- require 'prober'
- include Prober
- probe_invoke("send_sms", sms_text)
复制代码 Ruby代码- 1.module Prober
- 2. def Prober.probe_invoke(type, data = {})
- 3. p = Probe.new({:probe_type => type.to_s,
- 4. :data => data.to_json, :probe_status => 0, :retries => 0})
- 5. p.save
- 6. end
- 7.end
- 8.
- 9.Prober.probe_invoke("send_sms", sms_text)
- module Prober
- def Prober.probe_invoke(type, data = {})
- p = Probe.new({:probe_type => type.to_s,
- :data => data.to_json, :probe_status => 0, :retries => 0})
- p.save
- end
- end
- Prober.probe_invoke("send_sms", sms_text)
复制代码 Ruby代码- 1.module Prober
- 2.
- 3. class << self
- 4.
- 5. def probe_invoke(type, data = {})
- 6. p = Probe.new({:probe_type => type.to_s,
- 7. :data => data.to_json, :probe_status => 0, :retries => 0})
- 8. p.save
- 9. end
- 10.
- 11. # more module instance methods ...
- 12.
- 13. end
- 14.
- 15.end
复制代码 |
|