Module: ActsAsCalculator
- Defined in:
- lib/acts_as_calculator.rb,
lib/acts_as_calculator/tier.rb,
lib/acts_as_calculator/engine.rb,
lib/acts_as_calculator/errors.rb,
lib/acts_as_calculator/result.rb,
lib/acts_as_calculator/version.rb,
lib/acts_as_calculator/cast_date.rb,
lib/acts_as_calculator/find_tier.rb,
app/models/acts_as_calculator/run.rb,
lib/acts_as_calculator/calculable.rb,
lib/acts_as_calculator/aggregation.rb,
lib/acts_as_calculator/persist_run.rb,
lib/acts_as_calculator/result_drop.rb,
lib/acts_as_calculator/cast_decimal.rb,
app/models/acts_as_calculator/record.rb,
lib/acts_as_calculator/apportionment.rb,
lib/acts_as_calculator/build_lookups.rb,
lib/acts_as_calculator/configuration.rb,
lib/acts_as_calculator/render_liquid.rb,
lib/acts_as_calculator/variable_spec.rb,
app/models/acts_as_calculator/formula.rb,
lib/acts_as_calculator/cast_json_safe.rb,
lib/acts_as_calculator/import_formula.rb,
lib/acts_as_calculator/import_outcome.rb,
lib/acts_as_calculator/import_summary.rb,
lib/acts_as_calculator/liquid_filters.rb,
app/models/acts_as_calculator/template.rb,
app/models/acts_as_calculator/variable.rb,
lib/acts_as_calculator/import_template.rb,
lib/acts_as_calculator/render_template.rb,
lib/acts_as_calculator/apportion_amount.rb,
lib/acts_as_calculator/build_calculator.rb,
lib/acts_as_calculator/calculator_cache.rb,
lib/acts_as_calculator/evaluate_formula.rb,
lib/acts_as_calculator/promote_template.rb,
lib/acts_as_calculator/publish_template.rb,
lib/acts_as_calculator/read_import_file.rb,
lib/acts_as_calculator/resolve_template.rb,
lib/acts_as_calculator/aggregate_results.rb,
lib/acts_as_calculator/cast_liquid_value.rb,
lib/acts_as_calculator/find_owned_record.rb,
lib/acts_as_calculator/function_registry.rb,
lib/acts_as_calculator/resolve_variables.rb,
lib/acts_as_calculator/serialize_formula.rb,
lib/acts_as_calculator/import_definitions.rb,
lib/acts_as_calculator/serialize_template.rb,
app/models/acts_as_calculator/lookup_table.rb,
lib/acts_as_calculator/evaluate_expression.rb,
lib/acts_as_calculator/import_lookup_table.rb,
lib/acts_as_calculator/distribute_remainder.rb,
lib/acts_as_calculator/formula_version_drop.rb,
lib/acts_as_calculator/resolve_import_owner.rb,
lib/acts_as_calculator/divide_proportionally.rb,
app/models/acts_as_calculator/formula_version.rb,
lib/acts_as_calculator/publish_formula_version.rb,
lib/acts_as_calculator/resolve_formula_version.rb,
lib/acts_as_calculator/cast_variable_attributes.rb,
lib/acts_as_calculator/serialize_import_summary.rb,
app/models/acts_as_calculator/lookup_table_entry.rb,
lib/acts_as_calculator/serialize_formula_version.rb,
lib/acts_as_calculator/supersede_formula_versions.rb,
lib/acts_as_calculator/find_lookup_table_references.rb,
app/controllers/acts_as_calculator/imports_controller.rb,
app/controllers/acts_as_calculator/formulas_controller.rb,
app/controllers/acts_as_calculator/templates_controller.rb,
app/controllers/acts_as_calculator/application_controller.rb,
lib/generators/acts_as_calculator/import/import_generator.rb,
lib/generators/acts_as_calculator/install/install_generator.rb,
app/controllers/acts_as_calculator/formula_versions_controller.rb,
sig/acts_as_calculator.rbs
Defined Under Namespace
Modules: Aggregation, Apportionment, Calculable, Generators, LiquidFilters Classes: AggregateResults, AggregationError, ApplicationController, ApportionAmount, ApportionmentError, BuildCalculator, BuildLookups, CalculatorCache, CastDate, CastDecimal, CastJsonSafe, CastLiquidValue, CastVariableAttributes, Configuration, DistributeRemainder, DivideProportionally, Engine, Error, EvaluateExpression, EvaluateFormula, EvaluationError, FindLookupTableReferences, FindOwnedRecord, FindTier, Formula, FormulaNotFoundError, FormulaVersion, FormulaVersionDrop, FormulaVersionsController, FormulasController, FunctionRegistry, ImportDefinitions, ImportError, ImportFormula, ImportLookupTable, ImportOutcome, ImportSummary, ImportTemplate, ImportsController, LookupTable, LookupTableEntry, LookupTableInUseError, MissingLookupTableError, MissingVariableError, NoEffectiveVersionError, PartialSupersedeError, PersistRun, PromoteTemplate, PublishFormulaVersion, PublishTemplate, ReadImportFile, Record, RenderLiquid, RenderTemplate, ResolveFormulaVersion, ResolveImportOwner, ResolveTemplate, ResolveVariables, Result, ResultDrop, Run, SerializeFormula, SerializeFormulaVersion, SerializeImportSummary, SerializeTemplate, SupersedeFormulaVersions, Template, TemplateNotFoundError, TemplateRenderError, TemplatesController, Tier, TierNotFoundError, UnknownSourceTypeError, UnknownStrategyError, UnsafeAssignError, Variable, VariableResolutionError, VariableSpec
Constant Summary collapse
- DEFAULT_SCOPE =
The scope every formula, lookup table and template falls into when a host doesn't namespace one. A non-null column beats a nullable one here because uniqueness is scoped on
[key, scope, owner_type, owner_id]and NULLs never compare equal. "default"- VERSION =
"0.1.0"- IMPORT_STATUSES =
One line of an import report: what was touched, and what happened to it.
%i[created updated skipped failed].freeze
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.reset_configuration! ⇒ Object
Test-suite affordance: a host's own specs need to flip
enable_apiand put it back. -
.table_name_prefix ⇒ Object
Defined here rather than in engine.rb because Engine.isolate_namespace only leaves this alone if the module already answers to it — otherwise it installs an
on_load(:active_record)hook that redefines it to "acts_as_calculator_" long after the engine class body has run.
Class Method Details
.configuration ⇒ Object
19 20 21 |
# File 'lib/acts_as_calculator/configuration.rb', line 19 def self.configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
23 24 25 |
# File 'lib/acts_as_calculator/configuration.rb', line 23 def self.configure yield(configuration) end |
.reset_configuration! ⇒ Object
Test-suite affordance: a host's own specs need to flip enable_api and put it back.
28 29 30 |
# File 'lib/acts_as_calculator/configuration.rb', line 28 def self.reset_configuration! @configuration = Configuration.new end |
.table_name_prefix ⇒ Object
Defined here rather than in engine.rb because Engine.isolate_namespace only leaves
this alone if the module already answers to it — otherwise it installs an
on_load(:active_record) hook that redefines it to "acts_as_calculator_" long after
the engine class body has run. The tables are named for what they hold.
41 42 43 |
# File 'lib/acts_as_calculator.rb', line 41 def self.table_name_prefix "calculator_" end |