Class: Administrate::Field::JSONB
- Inherits:
-
Base
- Object
- Base
- Administrate::Field::JSONB
- Defined in:
- lib/administrate/field/jsonb.rb
Defined Under Namespace
Classes: Engine
Instance Method Summary collapse
- #advanced_view ⇒ Object
- #advanced_view? ⇒ Boolean
- #array? ⇒ Boolean
- #blank_sign ⇒ Object
- #to_partial_path(partial = page) ⇒ Object
- #transform ⇒ Object
Instance Method Details
#advanced_view ⇒ Object
38 39 40 |
# File 'lib/administrate/field/jsonb.rb', line 38 def advanced_view [:advanced_view] end |
#advanced_view? ⇒ 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
30 31 32 |
# File 'lib/administrate/field/jsonb.rb', line 30 def array? transform.is_a?(Array) end |
#blank_sign ⇒ Object
46 47 48 |
# File 'lib/administrate/field/jsonb.rb', line 46 def blank_sign [: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 |
#transform ⇒ Object
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? && (!.key?(:nil_blank) || [:nil_blank] == true) return data unless [:transform].present? && [:transform].is_a?(Array) result = data [: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 |