Class: Gitlab::Issuable::NamespaceGetter
- Inherits:
-
Object
- Object
- Gitlab::Issuable::NamespaceGetter
- Defined in:
- lib/gitlab/issuable/namespace_getter.rb
Constant Summary collapse
- INVALID_ISSUABLE_ERROR =
Class.new(StandardError)
Instance Method Summary collapse
-
#initialize(issuable, excluded_issuable_types: [], allow_nil: false) ⇒ NamespaceGetter
constructor
A new instance of NamespaceGetter.
- #namespace_id ⇒ Object
Constructor Details
#initialize(issuable, excluded_issuable_types: [], allow_nil: false) ⇒ NamespaceGetter
Returns a new instance of NamespaceGetter.
8 9 10 11 12 13 14 |
# File 'lib/gitlab/issuable/namespace_getter.rb', line 8 def initialize(issuable, excluded_issuable_types: [], allow_nil: false) @issuable = issuable @excluded_issuable_types = excluded_issuable_types @allow_nil = allow_nil raise_invalid_issuable_error if excluded_issuable_types.include?(issuable.class) end |
Instance Method Details
#namespace_id ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/gitlab/issuable/namespace_getter.rb', line 16 def namespace_id case issuable when Issue issuable.namespace_id when MergeRequest issuable.project.project_namespace_id else return if @allow_nil && issuable.nil? raise_invalid_issuable_error end end |