Sha256: 9f36c5eb549c6fd59d16fefb63773950a91082158832a38ddd8c84d988a686d4

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

require 'ff/ruby/server/sdk/api/config'
require 'ff/ruby/server/sdk/dto/target'
require 'ff/ruby/server/sdk/api/cf_client'
require 'ff/ruby/server/sdk/api/config_builder'

require "logger"
require "securerandom"

$stdout.sync = true
logger = Logger.new $stdout

# API Key
apiKey = ENV['FF_API_KEY'] || 'changeme'

# Flag Name
flagName = ENV['FF_FLAG_NAME'] || 'harnessappdemodarkmode'

logger.info "Harness Ruby SDK Getting Started"

# Create a Feature Flag Client and wait for it to initialize
client = CfClient.instance

client.init(apiKey, ConfigBuilder.new.logger(logger).build)

logger.info "----- initialization started ----- "
client.wait_for_initialization
logger.info "----- initialization done ----- "

# Create a target (different targets can get different results based on rules.  This include a custom attribute 'location')
target = Target.new("RubySDK", identifier="rubysdk", attributes={"location": "emea"})

# Loop forever reporting the state of the flag
loop do
  result = client.bool_variation(flagName, target, false)
  logger.info "Flag variation:  #{result}"
  sleep 10
end

client.close


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ff-ruby-server-sdk-1.0.6 example/getting_started/getting_started.rb
ff-ruby-server-sdk-1.0.5 example/getting_started/getting_started.rb