Class: Castle::Client
- Inherits:
-
Object
- Object
- Castle::Client
- Includes:
- Castle::ClientActions::Events, Castle::ClientActions::ListItems, Castle::ClientActions::Lists, Castle::ClientActions::Privacy
- Defined in:
- lib/castle/client.rb
Overview
Castle’s client.
Instance Attribute Summary collapse
-
#context ⇒ Object
Returns the value of attribute context.
Class Method Summary collapse
Instance Method Summary collapse
- #disable_tracking ⇒ Object
- #enable_tracking ⇒ Object
- #filter(options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
- #log(options = {}) ⇒ Object
- #risk(options = {}) ⇒ Object
- #tracked? ⇒ Boolean
Methods included from Castle::ClientActions::Privacy
#delete_user_data, #request_user_data
Methods included from Castle::ClientActions::Lists
#create_list, #delete_list, #get_all_lists, #get_list, #query_lists, #update_list
Methods included from Castle::ClientActions::ListItems
#archive_list_item, #count_list_items, #create_batch_list_items, #create_list_item, #get_list_item, #query_list_items, #unarchive_list_item, #update_list_item
Methods included from Castle::ClientActions::Events
#events_schema, #group_events, #query_events
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
20 21 22 23 24 25 |
# File 'lib/castle/client.rb', line 20 def initialize( = {}) = Castle::Utils::DeepSymbolizeKeys.call( || {}) @do_not_track = .fetch(:do_not_track, false) @timestamp = .fetch(:timestamp) { Castle::Utils::GetTimestamp.call } @context = .fetch(:context) { {} } end |
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
17 18 19 |
# File 'lib/castle/client.rb', line 17 def context @context end |
Class Method Details
Instance Method Details
#disable_tracking ⇒ Object
66 67 68 |
# File 'lib/castle/client.rb', line 66 def disable_tracking @do_not_track = true end |
#enable_tracking ⇒ Object
70 71 72 |
# File 'lib/castle/client.rb', line 70 def enable_tracking @do_not_track = false end |
#filter(options = {}) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/castle/client.rb', line 28 def filter( = {}) = Castle::Utils::DeepSymbolizeKeys.call( || {}) return generate_do_not_track_response(failover_user_id()) unless tracked? () new_context = Castle::Context::Merge.call(@context, [:context]) Castle::API::Filter.call(.merge(context: new_context, no_symbolize: true)) end |
#log(options = {}) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/castle/client.rb', line 54 def log( = {}) = Castle::Utils::DeepSymbolizeKeys.call( || {}) return generate_do_not_track_response(failover_user_id()) unless tracked? () new_context = Castle::Context::Merge.call(@context, [:context]) Castle::API::Log.call(.merge(context: new_context, no_symbolize: true)) end |
#risk(options = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/castle/client.rb', line 41 def risk( = {}) = Castle::Utils::DeepSymbolizeKeys.call( || {}) return generate_do_not_track_response(failover_user_id()) unless tracked? () new_context = Castle::Context::Merge.call(@context, [:context]) Castle::API::Risk.call(.merge(context: new_context, no_symbolize: true)) end |
#tracked? ⇒ Boolean
75 76 77 |
# File 'lib/castle/client.rb', line 75 def tracked? !@do_not_track end |