Module: Iodized

Defined in:
lib/iodized/middleware.rb,
lib/iodized.rb,
lib/iodized/client.rb,
lib/iodized/version.rb,
lib/iodized/features.rb,
lib/iodized/feature_types.rb,
lib/iodized/feature_constants.rb

Overview

encoding utf-8

Defined Under Namespace

Modules: Features Classes: Client, IodizedRailtie, Middleware

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.clientObject



22
23
24
# File 'lib/iodized.rb', line 22

def self.client
  @client ||= Iodized::Client.new
end

.client=(client) ⇒ Object



26
27
28
# File 'lib/iodized.rb', line 26

def self.client=(client)
  @client = client
end

.config(host, port) ⇒ Object



30
31
32
# File 'lib/iodized.rb', line 30

def self.config(host, port)
  self.client = Iodized::Client.new(host, port)
end

.do?(feature, state) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
15
16
# File 'lib/iodized.rb', line 9

def self.do?(feature, state)
  feature_set = if Thread.current[:iodized_feature_set]
                  Thread.current[:iodized_feature_set]
                else
                  Thread.current[:iodized_feature_set] = client.feature_set(state)
                end
  feature_set[feature.to_s] || false
end

.reset_feature_set!Object



18
19
20
# File 'lib/iodized.rb', line 18

def self.reset_feature_set!
  Thread.current[:iodized_feature_set] = nil
end