Skip to content

Commit bfbecf9

Browse files
committed
promote SupportsFeatureMixin to a global phenomenon
Adding supports feature to a few more core models. It makes sense to have this as a base class for all
1 parent a04c02d commit bfbecf9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1
-73
lines changed

app/models/application_record.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class ApplicationRecord < ActiveRecord::Base
1212
include ArHrefSlug
1313
include ToModelHash
1414
include ArVisibleAttribute
15+
include SupportsFeatureMixin
1516

1617
extend ArTableLock
1718
extend ArReferences

app/models/authentication.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ class Authentication < ApplicationRecord
22
acts_as_miq_taggable
33
include ImportExport
44
include YamlImportExportMixin
5-
include SupportsFeatureMixin
65
include NewWithTypeStiMixin
76
def self.new(*args, &block)
87
if self == Authentication && (args.empty? || args.first.kind_of?(Hash))

app/models/availability_zone.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class AvailabilityZone < ApplicationRecord
2-
include SupportsFeatureMixin
32
include NewWithTypeStiMixin
43
include Metric::CiMixin
54
include EventMixin

app/models/cloud_database.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ class CloudDatabase < ApplicationRecord
22
include AsyncDeleteMixin
33
include NewWithTypeStiMixin
44
include ProviderObjectMixin
5-
include SupportsFeatureMixin
65

76
belongs_to :ext_management_system, :foreign_key => :ems_id, :class_name => "ManageIQ::Providers::CloudManager"
87
belongs_to :cloud_tenant

app/models/cloud_network.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class CloudNetwork < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54
include CustomActionsMixin
65

app/models/cloud_object_store_container.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CloudObjectStoreContainer < ApplicationRecord
99
include ProviderObjectMixin
1010
include NewWithTypeStiMixin
1111
include ProcessTasksMixin
12-
include SupportsFeatureMixin
1312
include CustomActionsMixin
1413

1514
include Operations

app/models/cloud_object_store_object.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CloudObjectStoreObject < ApplicationRecord
99
include ProviderObjectMixin
1010
include NewWithTypeStiMixin
1111
include ProcessTasksMixin
12-
include SupportsFeatureMixin
1312

1413
include Operations
1514

app/models/cloud_subnet.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class CloudSubnet < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54
include CustomActionsMixin
65

app/models/cloud_volume.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ class CloudVolume < ApplicationRecord
22
include NewWithTypeStiMixin
33
include ProviderObjectMixin
44
include AsyncDeleteMixin
5-
include SupportsFeatureMixin
65
include CloudTenancyMixin
76
include CustomActionsMixin
87
include EmsRefreshMixin

app/models/cloud_volume_backup.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class CloudVolumeBackup < ApplicationRecord
22
include NewWithTypeStiMixin
33
include ProviderObjectMixin
4-
include SupportsFeatureMixin
54
include CloudTenancyMixin
65

76
acts_as_miq_taggable

app/models/cloud_volume_snapshot.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class CloudVolumeSnapshot < ApplicationRecord
22
include NewWithTypeStiMixin
33
include ProviderObjectMixin
4-
include SupportsFeatureMixin
54
include CloudTenancyMixin
65
include CustomActionsMixin
76
include EmsRefreshMixin

app/models/configuration_profile.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class ConfigurationProfile < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43

54
acts_as_miq_taggable
65
belongs_to :manager, :class_name => 'ExtManagementSystem'

app/models/configuration_script_base.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,4 @@ class ConfigurationScriptBase < ApplicationRecord
2323
scope :with_manager, ->(manager_id) { where(:manager_id => manager_id) }
2424

2525
include ProviderObjectMixin
26-
include SupportsFeatureMixin
2726
end

app/models/configuration_script_source.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
class ConfigurationScriptSource < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
5-
64
has_many :configuration_script_payloads, :dependent => :destroy
75
belongs_to :authentication
86
belongs_to :manager, :class_name => "ExtManagementSystem"

app/models/configured_system.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class ConfiguredSystem < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CustomAttributeMixin
54

65
acts_as_miq_taggable

app/models/container.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class Container < ApplicationRecord
2-
include SupportsFeatureMixin
32
include NewWithTypeStiMixin
43
include ArchivedMixin
54
include Purging

app/models/container_group.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class ContainerGroup < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
54
include ComplianceMixin
65
include CustomAttributeMixin
76
include MiqPolicyMixin

app/models/container_image.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class ContainerImage < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
54
include ComplianceMixin
65
include MiqPolicyMixin
76
include ScanningMixin

app/models/container_node.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
class ContainerNode < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
54
include ComplianceMixin
65
include MiqPolicyMixin
76
include NewWithTypeStiMixin
87
include TenantIdentityMixin
9-
include SupportsFeatureMixin
108
include ArchivedMixin
119
include CustomActionsMixin
1210
include Purging

app/models/container_project.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class ContainerProject < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
54
include CustomAttributeMixin
65
include ArchivedMixin
76
include MiqPolicyMixin

app/models/container_replicator.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class ContainerReplicator < ApplicationRecord
22
acts_as_miq_taggable
33

4-
include SupportsFeatureMixin
54
include ComplianceMixin
65
include CustomAttributeMixin
76
include MiqPolicyMixin

app/models/container_service.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class ContainerService < ApplicationRecord
22
include CustomAttributeMixin
3-
include SupportsFeatureMixin
43
# :name, :uid, :creation_timestamp, :resource_version, :namespace
54
# :labels, :selector, :protocol, :port, :container_port, :portal_ip, :session_affinity
65

app/models/container_template.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class ContainerTemplate < ApplicationRecord
22
include CustomAttributeMixin
33
include CustomActionsMixin
4-
include SupportsFeatureMixin
54

65
belongs_to :ext_management_system, :foreign_key => "ems_id"
76
belongs_to :container_project

app/models/ems_cluster.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class EmsCluster < ApplicationRecord
2-
include SupportsFeatureMixin
32
include NewWithTypeStiMixin
43
include EventMixin
54
include TenantIdentityMixin

app/models/ext_management_system.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class ExtManagementSystem < ApplicationRecord
22
include CustomActionsMixin
3-
include SupportsFeatureMixin
43
include ExternalUrlMixin
54
include VerifyCredentialsMixin
65
include SupportsAttribute
@@ -200,7 +199,6 @@ def validate_zone_not_maintenance_when_ems_enabled?
200199
include UuidMixin
201200
include EmsRefresh::Manager
202201
include TenancyMixin
203-
include SupportsFeatureMixin
204202
include ComplianceMixin
205203
include CustomAttributeMixin
206204

app/models/flavor.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class Flavor < ApplicationRecord
22
include NewWithTypeStiMixin
33
include CloudTenancyMixin
4-
include SupportsFeatureMixin
54

65
acts_as_miq_taggable
76

app/models/floating_ip.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class FloatingIp < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54

65
acts_as_miq_taggable

app/models/host.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
require 'metadata/ScanProfile/HostScanProfiles'
77

88
class Host < ApplicationRecord
9-
include SupportsFeatureMixin
109
include NewWithTypeStiMixin
1110
include TenantIdentityMixin
1211
include DeprecationMixin

app/models/host_aggregate.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class HostAggregate < ApplicationRecord
2-
include SupportsFeatureMixin
32
include NewWithTypeStiMixin
43
include Metric::CiMixin
54
include EventMixin

app/models/host_initiator.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class HostInitiator < ApplicationRecord
22
include NewWithTypeStiMixin
33
include ProviderObjectMixin
4-
include SupportsFeatureMixin
54
include CustomActionsMixin
65
include EmsRefreshMixin
76

app/models/host_initiator_group.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
class HostInitiatorGroup < ApplicationRecord
22
include NewWithTypeStiMixin
33
include ProviderObjectMixin
4-
include SupportsFeatureMixin
54
include CustomActionsMixin
65
include EmsRefreshMixin
76

app/models/manageiq/providers/container_manager.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module ManageIQ::Providers
22
class ContainerManager < BaseManager
3-
include SupportsFeatureMixin
43

54
has_many :container_nodes, -> { active }, # rubocop:disable Rails/HasManyOrHasOneDependent
65
:foreign_key => :ems_id,

app/models/manageiq/providers/infra_manager.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module ManageIQ::Providers
22
class InfraManager < BaseManager
3-
include SupportsFeatureMixin
4-
53
has_many :distributed_virtual_switches, :dependent => :destroy, :foreign_key => :ems_id, :inverse_of => :ext_management_system
64
has_many :distributed_virtual_lans, -> { distinct }, :through => :distributed_virtual_switches, :source => :lans
75
has_many :host_virtual_switches, -> { distinct }, :through => :hosts

app/models/manageiq/providers/network_manager.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module ManageIQ::Providers
22
class NetworkManager < BaseManager
3-
include SupportsFeatureMixin
4-
53
PROVIDER_NAME = "Network Manager".freeze
64

75
class << model_name

app/models/manageiq/providers/physical_infra_manager.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module ManageIQ::Providers
22
class PhysicalInfraManager < BaseManager
3-
include SupportsFeatureMixin
4-
53
has_many :physical_chassis, :foreign_key => "ems_id", :dependent => :destroy, :inverse_of => :ext_management_system
64
has_many :physical_racks, :foreign_key => "ems_id", :dependent => :destroy, :inverse_of => :ext_management_system
75
has_many :physical_servers, :foreign_key => "ems_id", :dependent => :destroy, :inverse_of => :ext_management_system

app/models/manageiq/providers/storage_manager.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module ManageIQ::Providers
22
class StorageManager < ManageIQ::Providers::BaseManager
3-
include SupportsFeatureMixin
4-
53
has_many :cloud_tenants, :foreign_key => :ems_id, :dependent => :destroy
64
has_many :volume_availability_zones, :class_name => "AvailabilityZone", :foreign_key => :ems_id, :dependent => :destroy
75

app/models/miq_enterprise.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ class MiqEnterprise < ApplicationRecord
1616

1717
acts_as_miq_taggable
1818

19-
include SupportsFeatureMixin
2019
include MiqPolicyMixin
2120
include Metric::CiMixin
2221

app/models/miq_region.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ class MiqRegion < ApplicationRecord
2626
include ConfigurationManagementMixin
2727

2828
include MiqPolicyMixin
29-
include SupportsFeatureMixin
3029
include Metric::CiMixin
3130

3231
alias_method :all_storages, :storages

app/models/network_router.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class NetworkRouter < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54
include CustomActionsMixin
65

app/models/network_service.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class NetworkService < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54
include CustomActionsMixin
65

app/models/network_service_entry.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class NetworkServiceEntry < ApplicationRecord
22
include NewWithTypeStiMixin
3-
include SupportsFeatureMixin
43
include CloudTenancyMixin
54
include CustomActionsMixin
65

app/models/orchestration_stack.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ class OrchestrationStack < ApplicationRecord
88
include RetirementMixin
99
include TenantIdentityMixin
1010
include CustomActionsMixin
11-
include SupportsFeatureMixin
1211
include CiFeatureMixin
1312
include CloudTenancyMixin
1413
include EmsRefreshMixin

app/models/orchestration_template.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
require 'digest/md5'
22
class OrchestrationTemplate < ApplicationRecord
3-
include SupportsFeatureMixin
43
include NewWithTypeStiMixin
54

65
acts_as_miq_taggable

app/models/physical_chassis.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class PhysicalChassis < ApplicationRecord
2-
include SupportsFeatureMixin
32
include EventMixin
43
include EmsRefreshMixin
54
include CustomActionsMixin

app/models/physical_rack.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class PhysicalRack < ApplicationRecord
2-
include SupportsFeatureMixin
32
include EmsRefreshMixin
43
include CustomActionsMixin
54

app/models/physical_server.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ class PhysicalServer < ApplicationRecord
44
include NewWithTypeStiMixin
55
include MiqPolicyMixin
66
include TenantIdentityMixin
7-
include SupportsFeatureMixin
87
include EventMixin
98
include ProviderObjectMixin
109
include ComplianceMixin

app/models/physical_server_profile.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ class PhysicalServerProfile < ApplicationRecord
33

44
include NewWithTypeStiMixin
55
include TenantIdentityMixin
6-
include SupportsFeatureMixin
76
include EventMixin
87
include ProviderObjectMixin
98
include EmsRefreshMixin

app/models/physical_server_profile_template.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ class PhysicalServerProfileTemplate < ApplicationRecord
33

44
include NewWithTypeStiMixin
55
include TenantIdentityMixin
6-
include SupportsFeatureMixin
76
include ProviderObjectMixin
87
include EmsRefreshMixin
98

app/models/physical_storage.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
class PhysicalStorage < ApplicationRecord
2-
include SupportsFeatureMixin
32
include NewWithTypeStiMixin
43
include ProviderObjectMixin
5-
include SupportsFeatureMixin
64
include CustomActionsMixin
75
include EmsRefreshMixin
86
include EventMixin

app/models/physical_storage_family.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class PhysicalStorageFamily < ApplicationRecord
22
include ProviderObjectMixin
3-
include SupportsFeatureMixin
43

54
belongs_to :ext_management_system, :foreign_key => :ems_id
65
has_many :physical_storages, :dependent => :nullify

app/models/physical_switch.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
class PhysicalSwitch < Switch
2-
include SupportsFeatureMixin
32
include EventMixin
43
include EmsRefreshMixin
54

0 commit comments

Comments
 (0)