Sha256: b18e51bb6f284aad3315bc82a8a279bb4d96fe9fb5855dbf937aa2c6f03ceb16

Contents?: true

Size: 936 Bytes

Versions: 13

Compression:

Stored size: 936 Bytes

Contents

module ActiveAdminAddons
  class EnumBuilder < CustomBuilder

    def render
      @is_enum = false
      @is_enum = :enumerize if data.is_a?('Enumerize::Value'.constantize)
      if defined? Rails && Rails::VERSION::MAJOR == 4 && Rails::VERSION::MINOR >= 1
        @is_enum = :enum if model.defined_enums[attribute.to_s]
      end
      raise 'you need to pass an enumerize or enum attribute' unless @is_enum
      context.status_tag(display_data, data)
    end

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

  end

  module ::ActiveAdmin
    module Views
      class TableFor
        def tag_column(*args, &block)
          column(*args) { |model| EnumBuilder.render(self, model, *args, &block) }
        end
      end
      class AttributesTable
        def tag_row(*args, &block)
          row(*args) { |model| EnumBuilder.render(self, model, *args, &block) }
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activeadmin_addons-0.6.4 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.6.3 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.6.2 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.6.1 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.6.0 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.5.0 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.4.0 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.3.4 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.3.3 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.3.2 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.3.1 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.3.0 lib/activeadmin_addons/addons/enum_tag.rb
activeadmin_addons-0.2.8 lib/activeadmin_addons/addons/enum_tag.rb