Module: IronAdmin::Concerns::Importable::ImportDsl

Defined in:
lib/iron_admin/concerns/importable.rb

Instance Method Summary collapse

Instance Method Details

#import_enabled?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/iron_admin/concerns/importable.rb', line 13

def import_enabled?
  import_formats.any?
end

#import_fields(*fields) ⇒ Object



17
18
19
# File 'lib/iron_admin/concerns/importable.rb', line 17

def import_fields(*fields)
  self.import_field_names = fields.map(&:to_sym)
end

#import_options(**options) ⇒ Object



33
34
35
# File 'lib/iron_admin/concerns/importable.rb', line 33

def import_options(**options)
  self.import_options_hash = import_options_hash.merge(options)
end

#import_transform(&block) ⇒ Object



25
26
27
# File 'lib/iron_admin/concerns/importable.rb', line 25

def import_transform(&block)
  self.import_transform_block = block
end

#import_upsert_key(*fields) ⇒ Object



21
22
23
# File 'lib/iron_admin/concerns/importable.rb', line 21

def import_upsert_key(*fields)
  self.import_upsert_key_names = fields.map(&:to_sym)
end

#import_validate(&block) ⇒ Object



29
30
31
# File 'lib/iron_admin/concerns/importable.rb', line 29

def import_validate(&block)
  self.import_validate_block = block
end

#importable_fields(current_user = nil) ⇒ Object



37
38
39
40
41
# File 'lib/iron_admin/concerns/importable.rb', line 37

def importable_fields(current_user = nil)
  import_base_fields
    .select { |field| field.visible?(current_user) && !field.readonly?(current_user) }
    .reject { |field| import_excluded_field_type?(field.type) }
end

#imports(*formats) ⇒ Object



9
10
11
# File 'lib/iron_admin/concerns/importable.rb', line 9

def imports(*formats)
  self.import_formats = formats.flatten.map(&:to_sym)
end