Module: Landable::Traffic

Defined in:
lib/landable/traffic.rb,
lib/landable/traffic/tracker.rb,
app/models/landable/traffic/city.rb,
app/models/landable/traffic/path.rb,
app/models/landable/traffic/event.rb,
app/models/landable/traffic/owner.rb,
app/models/landable/traffic/visit.rb,
lib/landable/traffic/noop_tracker.rb,
lib/landable/traffic/ping_tracker.rb,
lib/landable/traffic/scan_tracker.rb,
lib/landable/traffic/user_tracker.rb,
app/models/landable/traffic/access.rb,
app/models/landable/traffic/cookie.rb,
app/models/landable/traffic/device.rb,
app/models/landable/traffic/domain.rb,
app/models/landable/traffic/medium.rb,
app/models/landable/traffic/region.rb,
app/models/landable/traffic/source.rb,
app/models/landable/traffic/target.rb,
lib/landable/traffic/crawl_tracker.rb,
app/models/landable/traffic/ad_type.rb,
app/models/landable/traffic/browser.rb,
app/models/landable/traffic/content.rb,
app/models/landable/traffic/country.rb,
app/models/landable/traffic/keyword.rb,
app/models/landable/traffic/network.rb,
app/models/landable/traffic/referer.rb,
app/models/landable/traffic/visitor.rb,
lib/landable/traffic/scrape_tracker.rb,
app/models/landable/traffic/ad_group.rb,
app/models/landable/traffic/campaign.rb,
app/models/landable/traffic/creative.rb,
app/models/landable/traffic/location.rb,
app/models/landable/traffic/platform.rb,
app/models/landable/traffic/position.rb,
app/models/landable/traffic/ip_lookup.rb,
app/models/landable/traffic/mime_type.rb,
app/models/landable/traffic/ownership.rb,
app/models/landable/traffic/page_view.rb,
app/models/landable/traffic/placement.rb,
app/models/landable/traffic/event_type.rb,
app/models/landable/traffic/experiment.rb,
app/models/landable/traffic/ip_address.rb,
app/models/landable/traffic/match_type.rb,
app/models/landable/traffic/user_agent.rb,
app/models/landable/traffic/attribution.rb,
app/models/landable/traffic/device_type.rb,
app/models/landable/traffic/http_method.rb,
app/models/landable/traffic/search_term.rb,
app/models/landable/traffic/query_string.rb,
app/models/landable/traffic/bid_match_type.rb,
app/models/landable/traffic/user_agent_type.rb

Defined Under Namespace

Classes: Access, AdGroup, AdType, Attribution, BidMatchType, Browser, Campaign, City, Content, Cookie, Country, CrawlTracker, Creative, Device, DeviceType, Domain, Event, EventType, Experiment, HTTPMethod, IpAddress, IpLookup, Keyword, Location, MatchType, Medium, MimeType, Network, NoopTracker, Owner, Ownership, PageView, Path, PingTracker, Placement, Platform, Position, QueryString, Referer, Region, ScanTracker, ScrapeTracker, SearchTerm, Source, Target, Tracker, UserAgent, UserAgentType, UserTracker, Visit, Visitor

Instance Method Summary collapse

Instance Method Details

#track_with_landable!Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/landable/traffic.rb', line 12

def track_with_landable!
  yield && return if untracked?

  begin
    @tracker = Tracker.for self
    @tracker.track
  rescue => e
    Rails.logger.error e
    newrelic_notice_error e if respond_to? :newrelic_notice_error
  end

  yield

  begin
    @tracker.save
  rescue => e
    Rails.logger.error e
    newrelic_notice_error e if respond_to? :newrelic_notice_error
  end
end

#untracked?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/landable/traffic.rb', line 33

def untracked?
  untracked_user? || untracked_path?
end

#untracked_path?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/landable/traffic.rb', line 41

def untracked_path?
  Landable.configuration.untracked_paths.include? request.fullpath
end

#untracked_user?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/landable/traffic.rb', line 37

def untracked_user?
  Landable.configuration.dnt_enabled && request.headers['DNT'] == '1'
end