module Flagship

Constants

VERSION

Public Class Methods

clear_context() click to toggle source
# File lib/flagship.rb, line 75
def clear_context
  @default_context && @default_context.clear
end
clear_current_flagset() click to toggle source
# File lib/flagship.rb, line 71
def clear_current_flagset
  @current_flagset = nil
end
clear_flagsets_container() click to toggle source
# File lib/flagship.rb, line 67
def clear_flagsets_container
  @default_flagsts_container = nil
end
clear_state() click to toggle source
# File lib/flagship.rb, line 61
def clear_state
  clear_flagsets_container
  clear_current_flagset
  clear_context
end
current_flagset() click to toggle source
# File lib/flagship.rb, line 53
def current_flagset
  @current_flagset or raise NoFlagsetSelectedError.new('No flagset is selected')
end
default_context() click to toggle source
# File lib/flagship.rb, line 57
def default_context
  @default_context ||= ::Flagship::Context.new
end
default_flagsets_container() click to toggle source
# File lib/flagship.rb, line 49
def default_flagsets_container
  @default_flagsts_container ||= ::Flagship::FlagsetsContainer.new
end
define(key, options = {}, &block) click to toggle source
# File lib/flagship.rb, line 13
def define(key, options = {}, &block)
  context = self.default_context
  base = options[:extend] ? self.get_flagset(options[:extend]) : nil
  default_flagsets_container.add ::Flagship::Dsl.new(key, context, base, &block).flagset
end
enabled?(key) click to toggle source
# File lib/flagship.rb, line 19
def enabled?(key)
  current_flagset.enabled?(key)
end
features() click to toggle source
# File lib/flagship.rb, line 41
def features
  current_flagset.features
end
get_flagset(key) click to toggle source
# File lib/flagship.rb, line 45
def get_flagset(key)
  default_flagsets_container.get(key)
end
select_flagset(key) click to toggle source
# File lib/flagship.rb, line 37
def select_flagset(key)
  @current_flagset = default_flagsets_container.get(key)
end
set_context(key_or_hash, value=nil) click to toggle source
# File lib/flagship.rb, line 23
def set_context(key_or_hash, value=nil)
  if key_or_hash.is_a?(Hash)
    key_or_hash.each { |k, v| default_context.__set(k, v) }
  else
    default_context.__set(key_or_hash, value)
  end
end
with_context(values, &block) click to toggle source
# File lib/flagship.rb, line 31
def with_context(values, &block)
  default_context.with_values values do
    block.call
  end
end