Sha256: 0f3bfb06ff88703cb10689dfc8db90ef7337f7f3e6e1c6733f4020f47f864058

Contents?: true

Size: 1.07 KB

Versions: 6

Compression:

Stored size: 1.07 KB

Contents

if defined?(CarrierWave::Mount)
  require 'carrierwave/orm/activerecord'
end

module Tramway
  module Core
    class ApplicationRecord < ActiveRecord::Base
      self.abstract_class = true
      audited
      extend ::Enumerize

      state_machine :state, initial: :active do
        state :active
        state :removed

        event :remove do
          transition active: :remove
        end
      end

      scope :active, -> { where state: :active }

      include PgSearch

      # FIXME detect inhertited locales
      class << self
        def human_attribute_name(attribute_name, *args)
          excepted_attributes = %w( created_at updated_at state )
          if attribute_name.to_s.in? excepted_attributes
            I18n.t "activerecord.attributes.tramway/core/application_record.#{attribute_name}"
          else
            super attribute_name
          end
        end
      end
      # FIXME detect inhertited locales
      def human_state_name
        I18n.t "activerecord.state_machines.tramway/core/application_record.state.states.#{state}"
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tramway-core-1.9.7 app/models/tramway/core/application_record.rb
tramway-core-1.9.6.1 app/models/tramway/core/application_record.rb
tramway-core-1.9.6 app/models/tramway/core/application_record.rb
tramway-core-1.9.5 app/models/tramway/core/application_record.rb
tramway-core-1.9.4 app/models/tramway/core/application_record.rb
tramway-core-1.9.3 app/models/tramway/core/application_record.rb