Sha256: 42bbd53a4b2d5c524cf88f9435cdfcbdcc0a4d6eed6fbd7d0f7331b09defc0ae

Contents?: true

Size: 621 Bytes

Versions: 121

Compression:

Stored size: 621 Bytes

Contents

module Assistable
  extend ActiveSupport::Concern

  included do
    serialize :assistance_rules, Array
    validate :ensure_assistance_rules_format
  end

  def assistant
    Mumukit::Assistant.parse(assistance_rules)
  end

  def assist_with(assignment)
    # not strictly necessary, but avoid going through
    # all the assistence process when there are no rules
    assistance_rules.blank? ? [] : assistant.assist_with(assignment)
  end

  private

  def ensure_assistance_rules_format
    errors.add :assistance_rules,
               :invalid_format unless Mumukit::Assistant.valid? assistance_rules.to_a
  end
end

Version data entries

121 entries across 121 versions & 2 rubygems

Version Path
mumuki-domain-9.23.0 app/models/concerns/assistable.rb
mumuki-domain-9.22.1 app/models/concerns/assistable.rb
mumuki-domain-9.22.0 app/models/concerns/assistable.rb
mumuki-domain-9.21.0 app/models/concerns/assistable.rb
mumuki-domain-9.20.0 app/models/concerns/assistable.rb
mumuki-domain-9.19.0 app/models/concerns/assistable.rb
mumuki-domain-9.18.0 app/models/concerns/assistable.rb
mumuki-domain-9.17.0 app/models/concerns/assistable.rb
mumuki-domain-9.16.0 app/models/concerns/assistable.rb
mumuki-domain-9.15.0 app/models/concerns/assistable.rb
mumuki-domain-9.14.1 app/models/concerns/assistable.rb
mumuki-domain-9.14.0 app/models/concerns/assistable.rb
mumuki-domain-9.13.1 app/models/concerns/assistable.rb
mumuki-domain-9.13.0 app/models/concerns/assistable.rb
mumuki-domain-9.12.0 app/models/concerns/assistable.rb
mumuki-domain-9.11.0 app/models/concerns/assistable.rb
mumuki-domain-9.10.0 app/models/concerns/assistable.rb
mumuki-domain-9.9.0 app/models/concerns/assistable.rb
mumuki-domain-9.8.1 app/models/concerns/assistable.rb
mumuki-domain-9.8.0 app/models/concerns/assistable.rb