module EffectiveResources
Constants
- VERSION
Public Class Methods
advance_date(date, business_days: 1, holidays: [:ca, :observed])
click to toggle source
# File lib/effective_resources.rb, line 49 def self.advance_date(date, business_days: 1, holidays: [:ca, :observed]) raise('business_days must be an integer <= 365') unless business_days.kind_of?(Integer) && business_days <= 365 business_days.times do loop do date = date + 1.day break if business_day?(date, holidays: holidays) end end date end
business_day?(date, holidays: [:ca, :observed])
click to toggle source
# File lib/effective_resources.rb, line 62 def self.business_day?(date, holidays: [:ca, :observed]) require 'holidays' unless defined?(Holidays) date.wday != 0 && date.wday != 6 && Holidays.on(date, *holidays).blank? end
config_keys()
click to toggle source
# File lib/effective_resources.rb, line 7 def self.config_keys [:authorization_method, :default_submits] end
default_submits()
click to toggle source
# File lib/effective_resources.rb, line 30 def self.default_submits (['Save', 'Continue', 'Add New'] & Array(config.default_submits)).inject({}) { |h, v| h[v] = true; h } end
deliver_method()
click to toggle source
# File lib/effective_resources.rb, line 44 def self.deliver_method config = Rails.application.config (config.respond_to?(:active_job) && config.active_job.queue_adapter) ? :deliver_later : :deliver_now end
truthy?(value)
click to toggle source
Utilities
# File lib/effective_resources.rb, line 36 def self.truthy?(value) if defined?(::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES) # Rails <5 ::ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(value) else ::ActiveRecord::Type::Boolean.new.cast(value) end end