Sha256: 34bc01d7a32ab8d6dbf43fe1f5d4394d7e1a05d744dca434ad831cd281da2890

Contents?: true

Size: 1.1 KB

Versions: 7

Compression:

Stored size: 1.1 KB

Contents

require 'epom'
require 'epom_rails/acts_as'
require 'epom_rails/acts_as_advertiser'
require 'epom_rails/acts_as_campaign'
require 'epom_rails/acts_as_banner'
require 'epom_rails/acts_as_site'
require 'epom_rails/acts_as_zone'
require 'epom_rails/acts_as_placement'
require 'epom_rails/acts_as_analytic'

require 'epom_rails/config'

module EpomRails
	def method_missing(method_name, *args)
		if not EpomRails.config.offline and epom_class.respond_to?(method_name)
			# this permits to use:
			# Campaign.get_campaign({:campaignId => campaign.send(epom_field('id'))}, {})
			epom_class.send(method_name, *args)
		else
			super
		end
	end

	def epom_class
		return Epom::Advertiser if EpomRails.config.advertiser[:model] == self
		return Epom::Campaign if EpomRails.config.campaign[:model] == self
		return Epom::Banner if EpomRails.config.banner[:model] == self
		return Epom::Site if EpomRails.config.site[:model] == self
		return Epom::Zone if EpomRails.config.zone[:model] == self
		return Epom::Placement if EpomRails.config.placement[:model] == self
		return Epom::Analytic if EpomRails.config.analytic[:model] == self
	end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
epom_rails-1.4.4 lib/epom_rails.rb
epom_rails-1.4.2 lib/epom_rails.rb
epom_rails-1.4.1 lib/epom_rails.rb
epom_rails-1.4.0 lib/epom_rails.rb
epom_rails-1.3.6 lib/epom_rails.rb
epom_rails-1.3.5 lib/epom_rails.rb
epom_rails-1.3.2 lib/epom_rails.rb