Class: Administrate::Field::JSONB

Inherits:
Base
  • Object
show all
Defined in:
lib/administrate/field/jsonb.rb

Defined Under Namespace

Classes: Engine

Instance Method Summary collapse

Instance Method Details

#advanced_viewObject



38
39
40
# File 'lib/administrate/field/jsonb.rb', line 38

def advanced_view
  options[:advanced_view]
end

#advanced_view?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/administrate/field/jsonb.rb', line 34

def advanced_view?
  advanced_view.present? && advanced_view.is_a?(Hash)
end

#array?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/administrate/field/jsonb.rb', line 30

def array?
  transform.is_a?(Array)
end

#blank_signObject



46
47
48
# File 'lib/administrate/field/jsonb.rb', line 46

def blank_sign
  options[:blank_sign] || '-'
end

#to_partial_path(partial = page) ⇒ Object



42
43
44
# File 'lib/administrate/field/jsonb.rb', line 42

def to_partial_path(partial = page)
  "/fields/jsonb/#{partial}"
end

#transformObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/administrate/field/jsonb.rb', line 11

def transform
  return nil if data.blank?
  return data unless options[:transform].present? && options[:transform].is_a?(Array)

  result = data
  options[:transform].each do |method|
    result = if method == :parse_json
               JSON.parse(result) rescue result
             elsif result.is_a?(Array)
               result.map(&method)
             elsif method.is_a?(Proc)
               method.call(result)
             else
               result.public_send(method)
             end
  end
  result
end