diff options
| author | Robert | 2017-10-02 08:53:18 +0200 | 
|---|---|---|
| committer | Robert | 2017-10-02 10:52:07 +0200 | 
| commit | 30bdfe7c5557ba85f2c6cb18abe4b0308faa217d (patch) | |
| tree | 2b5c36dced85c09fbfed1bf53a5da827862ee4e6 /app/models/compliance_control.rb | |
| parent | 1bc4ab6684803a3974bd65f6531bd43a57c15fd0 (diff) | |
| download | chouette-core-30bdfe7c5557ba85f2c6cb18abe4b0308faa217d.tar.bz2 | |
Fixes: #4627@0.55h;
        Class Methods replace Class Attributes
Diffstat (limited to 'app/models/compliance_control.rb')
| -rw-r--r-- | app/models/compliance_control.rb | 31 | 
1 files changed, 16 insertions, 15 deletions
| diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 0763de477..930d54fe8 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -3,10 +3,6 @@ class ComplianceControl < ActiveRecord::Base    belongs_to :compliance_control_set    belongs_to :compliance_control_block -  cattr_reader :default_criticity, :default_code -  @@default_criticity = :warning -  @@default_code = "" -    enumerize :criticity, in: %i(info warning error), scope: true, default: :info    validates :criticity, presence: true @@ -15,27 +11,32 @@ class ComplianceControl < ActiveRecord::Base    validates :origin_code, presence: true    validates :compliance_control_set, presence: true -  def self.policy_class -    ComplianceControlPolicy -  end +  class << self +    def default_criticity; :warning end +    def default_code; "" end + +    def policy_class +      ComplianceControlPolicy +    end -  def self.inherited(child) -    child.instance_eval do -      def model_name -        ComplianceControl.model_name +    def inherited(child) +      child.instance_eval do +        def model_name +          ComplianceControl.model_name +        end        end +      super      end -    super    end    before_validation(on: :create) do     self.name ||= self.class.name -   self.code ||= @@default_code -   self.origin_code ||= @@default_code +   self.code ||= self.class.default_code +   self.origin_code ||= self.class.default_code     # TODO: Remove this very ambigous line, as a matter of fact it is never triggered     # **unless** `criticity` is **explicitly** set to nil, thusly bypassing the att's     # initialisation by `Enumerize`'s default. -   self.criticity ||= @@default_criticity +   self.criticity ||= self.class.default_criticity    end  end | 
