diff --git a/lib/ldclient-rb/ldclient.rb b/lib/ldclient-rb/ldclient.rb index c34b16e6..6d12a090 100644 --- a/lib/ldclient-rb/ldclient.rb +++ b/lib/ldclient-rb/ldclient.rb @@ -238,6 +238,9 @@ def all_flags end def get_user_settings(user) + # Auto-register the user similar to "toggle?" + identify(user) + Hash[all_flags.map { |key, feature| [key, evaluate(feature, user)]}] end diff --git a/spec/ldclient_spec.rb b/spec/ldclient_spec.rb index 2ed0d545..995464f1 100644 --- a/spec/ldclient_spec.rb +++ b/spec/ldclient_spec.rb @@ -126,6 +126,13 @@ end end + describe '#get_user_settings' do + it "calls identify to register the user" do + expect(client).to receive(:identify).with(user) + client.get_user_settings(user) + end + end + describe '#track' do it "queues up an custom event" do expect(client).to receive(:add_event).with(hash_including(kind: "custom", key: "custom_event_name", user: user, data: 42))