Class: Gitlab::ManifestImport::Metadata
- Inherits:
-
Object
- Object
- Gitlab::ManifestImport::Metadata
- Defined in:
- lib/gitlab/manifest_import/metadata.rb
Constant Summary collapse
- EXPIRY_TIME =
1.week
- KEY_PREFIX =
'manifest_import:metadata:user'
Instance Attribute Summary collapse
-
#fallback ⇒ Object
readonly
Returns the value of attribute fallback.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
- #group_id ⇒ Object
-
#initialize(user, fallback: {}) ⇒ Metadata
constructor
A new instance of Metadata.
- #repositories ⇒ Object
- #save(repositories, group_id) ⇒ Object
Constructor Details
#initialize(user, fallback: {}) ⇒ Metadata
Returns a new instance of Metadata.
11 12 13 14 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 11 def initialize(user, fallback: {}) @user = user @fallback = fallback end |
Instance Attribute Details
#fallback ⇒ Object (readonly)
Returns the value of attribute fallback.
9 10 11 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 9 def fallback @fallback end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
9 10 11 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 9 def user @user end |
Instance Method Details
#group_id ⇒ Object
33 34 35 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 33 def group_id redis_get('group_id')&.to_i || fallback[:manifest_import_group_id] end |
#repositories ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 25 def repositories redis_get('repositories').then do |repositories| next unless repositories Gitlab::Json.parse(repositories).map(&:symbolize_keys) end || fallback[:manifest_import_repositories] end |
#save(repositories, group_id) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/gitlab/manifest_import/metadata.rb', line 16 def save(repositories, group_id) Gitlab::Redis::SharedState.with do |redis| redis.multi do |multi| multi.set(hashtag_key_for('repositories'), Gitlab::Json.dump(repositories), ex: EXPIRY_TIME) multi.set(hashtag_key_for('group_id'), group_id, ex: EXPIRY_TIME) end end end |