Sha256: 987ba0abae8a782212a05c9e1ac31fd937cc7a3bef54b681bacfab2d63cc5bb2
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
Dir.glob(File.dirname(__FILE__)+'/analytical/*.rb').each do |f| require f end module Analytical # any method placed here will apply to ActionController::Base def analytical(options={}) send :include, InstanceMethods send :helper_method, :analytical send :cattr_accessor, :analytical_options self.analytical_options = options.reverse_merge({ :modules=>[], :development_modules=>[:console], :disable_if=>Proc.new { !Rails.env.production? }, }) config_options = {} File.open("#{RAILS_ROOT}/config/analytical.yml") do |f| config_options = YAML::load(ERB.new(f.read).result).symbolize_keys config_options.each do |k,v| config_options[k] = v.symbolize_keys end end if File.exists?("#{RAILS_ROOT}/config/analytical.yml") self.analytical_options = self.analytical_options.merge config_options if self.analytical_options[:disable_if].call self.analytical_options[:modules] = self.analytical_options[:development_modules] end self.analytical_options[:modules].each do |m| Analytical::Api.send :include, "Analytical::#{m.to_s.camelize}".constantize end end module InstanceMethods # any method placed here will apply to instances def analytical options = self.class.analytical_options.merge({ :ssl => request.ssl? }) @analytical ||= Analytical::Api.new options end end end if defined?(ActionController::Base) ActionController::Base.extend Analytical end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
analytical-0.3.0 | lib/analytical.rb |