Class: ActiveAdminAddons::TagBuilder

Inherits:
CustomBuilder show all
Defined in:
lib/activeadmin_addons/addons/tag_builder.rb

Instance Attribute Summary

Attributes inherited from CustomBuilder

#args, #block, #context, #model

Instance Method Summary collapse

Methods inherited from CustomBuilder

builder_method_name, create_view_methods, #initialize

Constructor Details

This class inherits a constructor from ActiveAdminAddons::CustomBuilder

Instance Method Details

#display_dataObject



14
15
16
# File 'lib/activeadmin_addons/addons/tag_builder.rb', line 14

def display_data
  @enum_attr == :enumerize ? data.text : data
end

#enumerize_attr?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/activeadmin_addons/addons/tag_builder.rb', line 18

def enumerize_attr?
  data.is_a?("Enumerize::Value".constantize)
rescue NameError
  false
end

#rails_enum_attr?Boolean

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/activeadmin_addons/addons/tag_builder.rb', line 24

def rails_enum_attr?
  defined? Rails && Rails::VERSION::MAJOR == 4 && Rails::VERSION::MINOR >= 1 &&
    model.defined_enums[attribute.to_s]
end

#renderObject



3
4
5
6
7
8
9
10
11
12
# File 'lib/activeadmin_addons/addons/tag_builder.rb', line 3

def render
  @enum_attr = if enumerize_attr?
                 :enumerize
               elsif rails_enum_attr?
                 :enum
               end

  raise "you need to pass an enumerize or enum attribute" unless @enum_attr
  context.status_tag(display_data, data)
end