Module: LinkIO

Defined in:
lib/linkio.rb,
lib/linkio/utils.rb,
lib/linkio/client.rb,
lib/linkio/engine.rb,
lib/linkio/errors.rb,
lib/linkio/result.rb,
lib/linkio/request.rb,
lib/linkio/version.rb,
lib/linkio/platform.rb,
lib/linkio/app_target.rb,
lib/linkio/storage/base.rb,
lib/linkio/configuration.rb,
lib/linkio/referral_data.rb,
lib/linkio/deep_link_data.rb,
lib/linkio/smart_redirect.rb,
lib/linkio/rack/middleware.rb,
lib/linkio/pending_link_data.rb,
lib/linkio/storage/redis_storage.rb,
lib/linkio/storage/in_memory_storage.rb,
app/controllers/linkio/referrals_controller.rb,
app/controllers/linkio/deep_links_controller.rb,
app/controllers/linkio/well_known_controller.rb,
app/controllers/linkio/application_controller.rb,
app/controllers/linkio/pending_links_controller.rb,
lib/generators/linkio/install/install_generator.rb

Overview

LinkIO is a self-hosted deep linking backend for mobile apps - an open source alternative to Branch.io.

The module also exposes a global configuration/client convenience API used by the Rack middleware and Rails engine:

LinkIO.configure do |config|
config.domain = "example.com"
config.ios_app_id = "123456789"
# ...
config.storage = LinkIO::Storage::InMemoryStorage.new
end

LinkIO.client # => memoized LinkIO::Client

Defined Under Namespace

Modules: Generators, Platform, Rack, SmartRedirect, Storage, Utils Classes: AppTarget, ApplicationController, Client, Configuration, ConfigurationError, DeepLinkData, DeepLinksController, Engine, Error, NotImplementedError, PendingLinkData, PendingLinksController, ReferralData, ReferralsController, Request, Result, WellKnownController

Constant Summary collapse

VERSION =
"1.0.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationLinkIO::Configuration



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

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.clientLinkIO::Client

A memoized client built from the global configuration. Reset with reset! after changing configuration.

Returns:



56
57
58
# File 'lib/linkio.rb', line 56

def client
  @client ||= Client.new(configuration)
end

.configure {|config| ... } ⇒ LinkIO::Configuration

Configure the global LinkIO instance.

Yield Parameters:

Returns:



47
48
49
50
# File 'lib/linkio.rb', line 47

def configure
  yield(configuration) if block_given?
  configuration
end

.reset!void

This method returns an undefined value.

Reset global configuration and client. Primarily useful in tests.



63
64
65
66
# File 'lib/linkio.rb', line 63

def reset!
  @configuration = nil
  @client = nil
end