Sha256: f254d3eccc7ab4cdc7caa00fb154fa70d5b7e0d8c516664529eeaf2300f5fa7a

Contents?: true

Size: 879 Bytes

Versions: 4

Compression:

Stored size: 879 Bytes

Contents

module SimpleAdmin
  module Helpers
    module BooleanHelper
      extend ActiveSupport::Concern

      included do
        using Refinements::Boolean

        class << self
          def boolean_fields(*model_column_names)
            model_column_names.each do |column_name|
              build_humanized_method!(column_name)
              build_predicate_method!(column_name)
            end
          end

          private

            def build_humanized_method!(column_name)
              postfix = :humanized

              define_method "#{column_name}_#{postfix}" do
                public_send(column_name).humanize
              end
            end

            def build_predicate_method!(column_name)
              define_method "#{column_name}?" do
                public_send(column_name)
              end
            end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple-admin-0.2.0.pre.alpha lib/simple_admin/helpers/boolean_helper.rb
simple-admin-0.1.2.pre.alpha lib/simple_admin/helpers/boolean_helper.rb
simple-admin-0.1.1.pre.alpha lib/simple_admin/helpers/boolean_helper.rb
simple-admin-0.1.0.pre.alpha lib/simple_admin/helpers/boolean_helper.rb