Sha256: de1549b9a6d94465bcbf19468408a42acc866d68693b8a5b853709e2841e48a1
Contents?: true
Size: 1.17 KB
Versions: 8
Compression:
Stored size: 1.17 KB
Contents
include_set Abstract::Accountable basket[:non_createable_types] << :signup require_field :account def default_account_status can_approve? ? "unverified" : "unapproved" end def can_approve? Card.new(type_id: Card.default_accounted_type_id).ok? :create end def activate_accounted self.type_id = Card.default_accounted_type_id end event :auto_approve_with_verification, :validate, on: :create, when: :can_approve? do request_verification end event :approve_with_verification, :validate, on: :update, trigger: :required do approvable { request_verification } end event :approve_without_verification, :validate, on: :update, trigger: :required do # TODO: if validated here, add trigger and activate in storage phase approvable do activate_accounted field(:account).activate_account end end event :act_as_current_for_integrate_stage, :integrate, on: :create do # needs justification! Auth.current_id = id end def request_verification acct = field :account acct.field :status, content: "unverified" acct.trigger_event! :send_verification_email end def approvable can_approve? ? yield : abort(:failure, "illegal approval") # raise permission denied? end
Version data entries
8 entries across 8 versions & 1 rubygems