Module: AdminIt::FieldsHolder

Extended by:
ExtendIt::DslModule
Included in:
Context, Resource
Defined in:
lib/admin_it/field/field.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.dsl(&block) ⇒ Object Originally defined in module ExtendIt::DslModule

.extended(&block) ⇒ Object Originally defined in module ExtendIt::DslModule

.included(&block) ⇒ Object Originally defined in module ExtendIt::DslModule

Instance Method Details

#field(name) ⇒ Object



313
314
315
# File 'lib/admin_it/field/field.rb', line 313

def field(name)
  @fields[name.ensure_symbol]
end

#fields(scope: :visible) ⇒ Object



292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
# File 'lib/admin_it/field/field.rb', line 292

def fields(scope: :visible)
  values = @fields.values
  if scope.is_a?(Hash)
    if scope.key?(:editor)
      return values.select { |f| f.editor == scope[:editor] }
    end
  end
  case scope
  when nil, :all then values
  when :visible then values.select { |f| f.visible? }
  when :hidden then values.select { |f| !f.visible? }
  when :readable then values.select { |f| f.readable? }
  when :writable then values.select { |f| f.writable? }
  when :sortable then values.select { |f| f.sortable? }
  when :with_labels then values.select { |f| f.show_label? }
  when :without_labels then values.select { |f| !f.show_label? }
  when *Field::TYPES then values.select { |f| f.type == scope }
  else values
  end
end