Module: Switchlet
- Defined in:
- lib/switchlet.rb,
lib/switchlet/flag.rb,
lib/switchlet/engine.rb,
lib/switchlet/railtie.rb,
lib/switchlet/version.rb,
lib/switchlet/configuration.rb,
app/controllers/switchlet/flags_controller.rb,
lib/generators/switchlet/install_generator.rb,
app/controllers/switchlet/application_controller.rb
Defined Under Namespace
Modules: Generators
Classes: ApplicationController, Configuration, Engine, Error, Flag, FlagsController, Railtie
Constant Summary
collapse
- VERSION =
"0.3.1"
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
12
13
14
|
# File 'lib/switchlet.rb', line 12
def self.configuration
@configuration ||= Configuration.new
end
|
16
17
18
|
# File 'lib/switchlet.rb', line 16
def self.configure
yield(configuration)
end
|
.delete!(name) ⇒ Object
40
41
42
43
|
# File 'lib/switchlet.rb', line 40
def self.delete!(name)
Flag.where(name: name.to_s).delete_all
nil
end
|
.disable!(name, description: nil) ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/switchlet.rb', line 32
def self.disable!(name, description: nil)
flag = Flag.find_or_create_by(name: name.to_s)
attrs = { enabled: false }
attrs[:description] = description if description
flag.update!(attrs)
false
end
|
.enable!(name, description: nil) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/switchlet.rb', line 24
def self.enable!(name, description: nil)
flag = Flag.find_or_create_by(name: name.to_s)
attrs = { enabled: true }
attrs[:description] = description if description
flag.update!(attrs)
true
end
|
.enabled?(name) ⇒ Boolean
20
21
22
|
# File 'lib/switchlet.rb', line 20
def self.enabled?(name)
Flag.find_by(name: name.to_s)&.enabled || false
end
|
.list ⇒ Object
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/switchlet.rb', line 45
def self.list
Flag.order(:name).map do |flag|
{
name: flag.name,
enabled: flag.enabled,
description: flag.description,
updated_at: flag.updated_at
}
end
end
|
.update!(name, description: nil, enabled: nil) ⇒ Object
56
57
58
59
60
61
62
63
|
# File 'lib/switchlet.rb', line 56
def self.update!(name, description: nil, enabled: nil)
flag = Flag.find_or_create_by(name: name.to_s)
attrs = {}
attrs[:description] = description unless description.nil?
attrs[:enabled] = enabled unless enabled.nil?
flag.update!(attrs) if attrs.any?
flag
end
|