class Datasource::Attributes::ComputedAttribute

Attributes

_depends[RW]
_loader_depends[RW]

Public Class Methods

depends(*args) click to toggle source
# File lib/datasource/attributes/computed_attribute.rb, line 12
def depends(*args)
  args.each do |dep|
    _depends.deep_merge!(dep)
  end
  _depends.delete_if do |key, value|
    if [:loaders, :loader].include?(key.to_sym)
      self._loader_depends += Array(value).map(&:to_sym)
      true
    end
  end
end
inherited(base) click to toggle source
# File lib/datasource/attributes/computed_attribute.rb, line 7
def inherited(base)
  base._depends = (_depends || {}).dup # TODO: deep dup?
  base._loader_depends = (_loader_depends || []).dup # TODO: deep dup?
end