Skip to content

Commit 77ae3d0

Browse files
committed
Merge pull request #7 from launchdarkly/jko/identify
Add identify and set_offline, rename send_event to track
2 parents ebb9971 + efa71b8 commit 77ae3d0

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

lib/ldclient-rb/ldclient.rb

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def initialize(api_key, config = Config.default)
3131

3232
builder.adapter Faraday.default_adapter
3333
end
34+
@offline = false
3435

3536
@worker = create_worker()
3637
end
@@ -100,6 +101,10 @@ def create_worker()
100101
# @return [Boolean] whether or not the flag should be enabled, or the default value if the flag is disabled on the LaunchDarkly control panel
101102
def get_flag?(key, user, default=false)
102103
begin
104+
if @offline
105+
return default
106+
end
107+
103108
value = get_flag_int(key, user, default)
104109
add_event({:kind => 'feature', :key => key, :user => user, :value => value})
105110
return value
@@ -110,6 +115,9 @@ def get_flag?(key, user, default=false)
110115
end
111116

112117
def add_event(event)
118+
if @offline
119+
return
120+
end
113121
if @queue.length() < @config.capacity
114122
event[:creationDate] = (Time.now.to_f * 1000).to_i
115123
@queue.push(event)
@@ -122,6 +130,27 @@ def add_event(event)
122130
end
123131
end
124132

133+
#
134+
# Registers the user
135+
#
136+
# @param [Hash] The user to register
137+
#
138+
def identify(user)
139+
add_event({:kind => 'identify', :key => user.key, :user => user})
140+
end
141+
142+
def set_offline()
143+
@offline = true
144+
end
145+
146+
def set_online()
147+
@offline = false
148+
end
149+
150+
def is_offline?()
151+
return @offline
152+
end
153+
125154
#
126155
# Tracks that a user performed an event
127156
#
@@ -130,7 +159,7 @@ def add_event(event)
130159
# @param data [Hash] A hash containing any additional data associated with the event
131160
#
132161
# @return [void]
133-
def send_event(event_name, user, data)
162+
def track(event_name, user, data)
134163
add_event({:kind => 'custom', :key => event_name, :user => user, :data => data })
135164
end
136165

0 commit comments

Comments
 (0)