Module: Import::PlaceholderReferences::AliasResolver
- Extended by:
- AliasResolver
- Included in:
- AliasResolver
- Defined in:
- lib/import/placeholder_references/alias_resolver.rb
Constant Summary collapse
- MissingAlias =
Class.new(StandardError)
- NOTE_COLUMNS =
{ "author_id" => "author_id", "updated_by_id" => "updated_by_id", "resolved_by_id" => "resolved_by_id" }.freeze
- NOTE_EXCLUSIONS =
%w[updated_by_id resolved_by_id].freeze
Instance Method Summary collapse
- #aliased_column(model, column, version:) ⇒ Object
- #aliased_model(model, version:) ⇒ Object
- #aliases ⇒ Object
- #models_with_data ⇒ Object
- #version_for_model(model) ⇒ Object
Instance Method Details
#aliased_column(model, column, version:) ⇒ Object
245 246 247 248 249 250 251 252 |
# File 'lib/import/placeholder_references/alias_resolver.rb', line 245 def aliased_column(model, column, version:) aliased_column = aliases.dig(model, version, :columns, column) return aliased_column if aliased_column.present? track_error_for_missing(model: model, column: column, version: version) column end |
#aliased_model(model, version:) ⇒ Object
236 237 238 239 240 241 242 243 |
# File 'lib/import/placeholder_references/alias_resolver.rb', line 236 def aliased_model(model, version:) aliased_model = aliases.dig(model, version, :model) return aliased_model if aliased_model.present? track_error_for_missing(model:, version:) model.safe_constantize || (raise missing_alias_error(model:, version:)) end |
#aliases ⇒ Object
224 225 226 |
# File 'lib/import/placeholder_references/alias_resolver.rb', line 224 def aliases ALIASES end |
#models_with_data ⇒ Object
254 255 256 257 258 |
# File 'lib/import/placeholder_references/alias_resolver.rb', line 254 def models_with_data aliases.values .map { |versions| versions[versions.keys.max] } .map { |data| [data[:model], data] } end |
#version_for_model(model) ⇒ Object
228 229 230 231 232 233 234 |
# File 'lib/import/placeholder_references/alias_resolver.rb', line 228 def version_for_model(model) return aliases[model].keys.max if aliases[model] track_error_for_missing(model: model) 1 end |