Class: Toogle::Definition

Inherits:
Object
  • Object
show all
Defined in:
app/models/toogle/definition.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, default_enabled:, milestone: nil, introduced_by_url: nil, rollout_issue_url: nil) ⇒ Definition

Returns a new instance of Definition.



28
29
30
31
32
33
34
# File 'app/models/toogle/definition.rb', line 28

def initialize(name:, default_enabled:, milestone: nil, introduced_by_url: nil, rollout_issue_url: nil)
  @name = name
  @default_enabled = default_enabled
  @milestone = milestone
  @introduced_by_url = introduced_by_url
  @rollout_issue_url = rollout_issue_url
end

Instance Attribute Details

#default_enabledObject

Returns the value of attribute default_enabled.



5
6
7
# File 'app/models/toogle/definition.rb', line 5

def default_enabled
  @default_enabled
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'app/models/toogle/definition.rb', line 5

def name
  @name
end

Class Method Details

.allObject



7
8
9
10
11
12
13
14
15
16
17
# File 'app/models/toogle/definition.rb', line 7

def self.all
  ::Feature::Definition.definitions.map do |definition|
    new(
      name: definition[0].to_s,
      default_enabled: definition[1].default_enabled,
      milestone: definition[1].milestone,
      introduced_by_url: definition[1].introduced_by_url,
      rollout_issue_url: definition[1].rollout_issue_url,
    )
  end
end

.find(name) ⇒ Object



24
25
26
# File 'app/models/toogle/definition.rb', line 24

def self.find(name)
  all.find { |definition| definition.name == name }
end

.unchangedObject



19
20
21
22
# File 'app/models/toogle/definition.rb', line 19

def self.unchanged
  changed_features = Toogle::Feature.all.map(&:name)
  all.reject { |definition| changed_features.include?(definition.name) }
end