Module: Hawkei
- Defined in:
- lib/hawkei.rb,
lib/hawkei/util.rb,
lib/hawkei/batch.rb,
lib/hawkei/const.rb,
lib/hawkei/store.rb,
lib/hawkei/config.rb,
lib/hawkei/errors.rb,
lib/hawkei/message.rb,
lib/hawkei/request.rb,
lib/hawkei/version.rb,
lib/hawkei/watcher.rb,
lib/hawkei/api_resource.rb,
lib/hawkei/library_name.rb,
lib/hawkei/hawkei_object.rb,
lib/hawkei/formated_logger.rb,
lib/hawkei/processor/async.rb,
lib/hawkei/processor/batch.rb,
lib/hawkei/processor/worker.rb,
lib/hawkei/api_operation/save.rb,
lib/hawkei/plugins/rails/data.rb,
lib/hawkei/api_operation/delete.rb,
lib/hawkei/plugins/rails/railtie.rb,
lib/hawkei/plugins/rack/middleware.rb,
lib/hawkei/plugins/rails/middleware_data.rb,
lib/hawkei/plugins/sidekiq/client_middleware.rb,
lib/hawkei/plugins/sidekiq/server_middleware.rb
Overview
:nodoc:
Defined Under Namespace
Modules: Const, Plugins, Processor, Util Classes: APIOperation, APIResource, Batch, Config, ConfigurationError, FormatedLogger, HawkeiObject, Message, MissingImplementation, Request, RequestError, Store, UnknownRequestMethod, Watcher
Constant Summary collapse
- TRACK_EVENTS_CREATE =
'track_events:create'.freeze
- IDENTIFY_EVENTS_CREATE =
'identify_events:create'.freeze
- GROUP_EVENTS_CREATE =
'group_events:create'.freeze
- WATCHERS_CREATE_ACTION =
'watchers:create'.freeze
- VERSION =
'1.1.0'.freeze
- LIBRARY_NAME =
'hawkei'.freeze
Class Attribute Summary collapse
-
.configurations ⇒ Hawkei::Config
readonly
Configurations.
Class Method Summary collapse
-
.configure {|@configurations = Hawkei::Config.new| ... } ⇒ Object
Configures the Hawkei API.
-
.group(group_id, payload = {}, options = {}) ⇒ Boolean
Send a create/update for a group.
-
.identify(user_id, payload = {}, options = {}) ⇒ Boolean
Send an identify event to the server.
-
.track(name, payload = {}, options = {}) ⇒ Boolean
Send a track event to the server.
-
.watch(flow, payload = {}, options = {}) ⇒ Boolean|Watcher
Send a create a watcher.
Class Attribute Details
.configurations ⇒ Hawkei::Config (readonly)
Returns configurations.
53 54 55 |
# File 'lib/hawkei.rb', line 53 def configurations @configurations end |
Class Method Details
.configure {|@configurations = Hawkei::Config.new| ... } ⇒ Object
Configures the Hawkei API
64 65 66 67 68 |
# File 'lib/hawkei.rb', line 64 def configure yield @configurations = Hawkei::Config.new Hawkei.configurations.valid! end |
.group(group_id, payload = {}, options = {}) ⇒ Boolean
Send a create/update for a group
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/hawkei.rb', line 128 def group(group_id, payload = {}, = {}) return true unless configurations.enabled payload = Message.base.merge(payload) payload[:group_id] = group_id processor.enqueue( action: GROUP_EVENTS_CREATE, payload: payload, options: .select { |k, _v| %i[space_name environment_name].include?(k) }, ) end |
.identify(user_id, payload = {}, options = {}) ⇒ Boolean
Send an identify event to the server
105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/hawkei.rb', line 105 def identify(user_id, payload = {}, = {}) return true unless configurations.enabled payload[:user_id] = user_id Hawkei::Plugins::Rails::Data.store_data if defined?(Hawkei::Plugins::Rails::Data) payload = Message.extended.merge(payload) processor.enqueue( action: IDENTIFY_EVENTS_CREATE, payload: payload, options: .select { |k, _v| %i[space_name environment_name].include?(k) }, ) end |
.track(name, payload = {}, options = {}) ⇒ Boolean
Send a track event to the server
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/hawkei.rb', line 78 def track(name, payload = {}, = {}) return true unless configurations.enabled payload = { name: name, type: 'track', }.merge(payload) Hawkei::Plugins::Rails::Data.store_data if defined?(Hawkei::Plugins::Rails::Data) payload = Message.extended.merge(payload) processor.enqueue( action: TRACK_EVENTS_CREATE, payload: payload, options: .select { |k, _v| %i[space_name environment_name].include?(k) }, ) end |
.watch(flow, payload = {}, options = {}) ⇒ Boolean|Watcher
Send a create a watcher
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/hawkei.rb', line 149 def watch(flow, payload = {}, = {}) return true unless configurations.enabled payload[:template_flow] = flow payload = Message.base.merge(payload) payload.delete(:session_tracker_id) if payload.delete(:without_session) if [:sync] Watcher.create(payload, ) else processor.enqueue( action: WATCHERS_CREATE_ACTION, payload: payload, options: .select { |k, _v| %i[space_name environment_name].include?(k) }, ) end end |