Sha256: 28ee59dbd90276294f4065ee58c4fb27934dbc5e23f4acb568964befc846a79d
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true module Danica module Common extend ::ActiveSupport::Concern included do include Wrapper include DSL default_values :constant?, :signaled?, :container?, :variable?, :variable_holder?, false default_value :priority, 1 end class_methods do def default_value(name, value) define_method(name) { |*_| value } end def default_values(*names, value) names.each do |name| default_value(name, value) end end end def to_f raise Exception::NotImplemented end def to_tex(**options) to(:tex, options) end def to_gnu(**options) to(:gnu, options) end def to(format, **options) case format.to_sym when :tex to_tex(options) when :gnu to_gnu(options) when :f to_f else raise Exception::FormattedNotFound end end def tex(**options) formatted(format: :tex, **options) end def gnu(**options) formatted(format: :gnu, **options) end def formatted(*args) Formatted.new(self, *args) end def valued? to_f.present? rescue Exception::NotDefined false end def content self end private def wrap_as_group(value) return value if is_grouped? || value.priority >= priority group(value) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
danica-2.7.7 | lib/danica/common.rb |
danica-2.7.6 | lib/danica/common.rb |