Sha256: 1b058e016e94033f40e1c2d138abfafd2eace8247e266ac08c44421db6fbbc61
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
# frozen_string_literal: true class LifetimeType include EnumField::DefineEnum include ActionView::Helpers::NumberHelper attr_reader :code def initialize(code) @code = code.to_sym end def title I18n.t(code, scope: [:lifetime_type]) end def orders_count? @code == :orders_count end def orders_total? @code == :orders_total end def words_count? @code == :words_count end def symbol(options = {}) case @code when :orders_total then '$' when :words_count then " pages#{options[:plus]}" else '' end end def current(finance) case @code when :orders_count then finance.try :completed_orders_count when :orders_total then finance.try :completed_payments_total when :words_count then finance.try :completed_words_count end end def current_with_symbol(account) [number_with_precision(current(account).to_f, precision: 2, strip_insignificant_zeros: true), symbol].join end def affilate_title I18n.t(code, scope: [:affilate, :commission_type]) end define_enum do |builder| builder.member :orders_count, object: new(:orders_count) builder.member :orders_total, object: new(:orders_total) builder.member :words_count, object: new(:words_count) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
translation_cms-0.1.5 | app/models/enums/lifetime_type.rb |