mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-08 07:55:14 +08:00
23 lines
436 B
Ruby
23 lines
436 B
Ruby
|
module VariablesModel
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
@@default_variables = HashWithIndifferentAccess.new
|
||
|
|
||
|
included do
|
||
|
serialize :variables, JsonbHashSerializer
|
||
|
after_initialize :init_default_variables, if: :new_record?
|
||
|
end
|
||
|
|
||
|
class_methods do
|
||
|
def default_variables(dfs)
|
||
|
@@default_variables.merge!(dfs)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
protected
|
||
|
|
||
|
def init_default_variables
|
||
|
self.variables = @@default_variables
|
||
|
end
|
||
|
end
|