Class: Unveil::Feature
- Inherits:
-
Object
show all
- Defined in:
- lib/unveil/feature.rb
Instance Method Summary
collapse
Constructor Details
#initialize(attrs) ⇒ Feature
Returns a new instance of Feature.
3
4
5
|
# File 'lib/unveil/feature.rb', line 3
def initialize(attrs)
@attributes = attrs
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
45
46
47
48
49
50
51
|
# File 'lib/unveil/feature.rb', line 45
def method_missing(method, *args, &block)
if attributes.has_key?(method)
attributes[method]
else
super
end
end
|
Instance Method Details
#activate_group(group) ⇒ Object
19
20
21
22
|
# File 'lib/unveil/feature.rb', line 19
def activate_group(group)
group = group.is_a?(Unveil::Group) ? group.name : group
Unveil.post 'features/activate_group', feature: name, group: group
end
|
#activate_percentage(percentage) ⇒ Object
37
38
39
|
# File 'lib/unveil/feature.rb', line 37
def activate_percentage(percentage)
Unveil.post 'features/activate_percentage', feature: name, percentage: percentage
end
|
#activate_user(user_id) ⇒ Object
29
30
31
|
# File 'lib/unveil/feature.rb', line 29
def activate_user(user_id)
Unveil.post 'features/activate_user', feature: name, user_id: user_id
end
|
#attributes ⇒ Object
7
8
9
|
# File 'lib/unveil/feature.rb', line 7
def attributes
@attributes.with_indifferent_access
end
|
#deactivate_all ⇒ Object
15
16
17
|
# File 'lib/unveil/feature.rb', line 15
def deactivate_all
Unveil.post 'features/deactivate_all', feature: name
end
|
#deactivate_group(group) ⇒ Object
24
25
26
27
|
# File 'lib/unveil/feature.rb', line 24
def deactivate_group(group)
group = group.is_a?(Unveil::Group) ? group.name : group
Unveil.post 'features/deactivate_group', feature: name, group: group
end
|
#deactivate_percentage ⇒ Object
41
42
43
|
# File 'lib/unveil/feature.rb', line 41
def deactivate_percentage
Unveil.post 'features/deactivate_percentage', feature: name
end
|
#deactivate_user(user_id) ⇒ Object
33
34
35
|
# File 'lib/unveil/feature.rb', line 33
def deactivate_user(user_id)
Unveil.post 'features/deactivate_user', feature: name, user_id: user_id
end
|
#enabled(user_id) ⇒ Object
11
12
13
|
# File 'lib/unveil/feature.rb', line 11
def enabled(user_id)
JSON.parse(Unveil.get("features/#{name}/enabled/#{user_id}").body)['enabled']
end
|