Class: RailsFlags::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_flags/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(adapter: nil) ⇒ Configuration

Returns a new instance of Configuration.



9
10
11
# File 'lib/rails_flags/configuration.rb', line 9

def initialize(adapter: nil)
  @adapter = adapter || Adapters::MemoryAdapter.new
end

Instance Attribute Details

#adapterObject

Returns the value of attribute adapter.



7
8
9
# File 'lib/rails_flags/configuration.rb', line 7

def adapter
  @adapter
end

Instance Method Details

#all_flagsObject



54
55
56
# File 'lib/rails_flags/configuration.rb', line 54

def all_flags
  @adapter.all
end

#delete(flag) ⇒ Object



45
46
47
48
# File 'lib/rails_flags/configuration.rb', line 45

def delete(flag)
  validate_flag_exists!(flag)
  @adapter.delete(flag.to_sym)
end

#disable(flag) ⇒ Object



38
39
40
41
42
43
# File 'lib/rails_flags/configuration.rb', line 38

def disable(flag)
  validate_flag_exists!(flag)
  data = @adapter.read(flag.to_sym).dup
  data[:enabled] = false
  @adapter.write(flag.to_sym, data)
end

#enable(flag) ⇒ Object



31
32
33
34
35
36
# File 'lib/rails_flags/configuration.rb', line 31

def enable(flag)
  validate_flag_exists!(flag)
  data = @adapter.read(flag.to_sym).dup
  data[:enabled] = true
  @adapter.write(flag.to_sym, data)
end

#enabled?(flag) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
28
29
# File 'lib/rails_flags/configuration.rb', line 25

def enabled?(flag)
  validate_flag_exists!(flag)
  data = @adapter.read(flag.to_sym)
  data ? data[:enabled] == true : false
end

#register(name, enabled: false, description: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rails_flags/configuration.rb', line 13

def register(name, enabled: false, description: nil)
  validate_flag_name!(name)
  data = {
    enabled: enabled,
    description: description,
    created_at: Time.now
  }

  @adapter.write(name.to_sym, data)
  data
end

#registered?(flag) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/rails_flags/configuration.rb', line 50

def registered?(flag)
  @adapter.read(flag.to_sym) ? true : false
end