Sha256: c5c732987a69b2a97d82e2d830fbe27c92b8d74d99807ea00a2e8b65d0a83285

Contents?: true

Size: 1001 Bytes

Versions: 13

Compression:

Stored size: 1001 Bytes

Contents

# -*- encoding : utf-8 -*-

card_accessor :email
card_accessor :password
card_accessor :salt
card_accessor :status

require_field :email

def accounted
  left
end

def accounted_id
  left_id
end

def ok_to_read
  own_account? || super
end

# allow account owner to update account field content
def ok_to_update
  return true if own_account? && !name_changed? && !type_id_changed?

  super
end

def changes_visible? act
  act.actions_affecting(act.card).each do |action|
    return true if action.card.ok? :read
  end
  false
end

def send_account_email email_template
  ecard = Card[email_template]
  unless ecard&.type_id == EmailTemplateID
    raise Card::Error, "invalid email template: #{email_template}"
  end

  ecard.deliver self, to: email
end

def method_missing method, *args
  return super unless args.empty? && (matches = method.match(/^(?<status>.*)\?$/))

  status == matches[:status]
end

def respond_to_missing? method, _include_private=false
  method.match?(/\?$/) ? true : super
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
card-mod-account-0.14.2 set/right/account.rb
card-mod-account-0.14.1 set/right/account.rb
card-mod-account-0.14.0 set/right/account.rb
card-mod-account-0.13.4 set/right/account.rb
card-mod-account-0.13.3 set/right/account.rb
card-mod-account-0.13.2 set/right/account.rb
card-mod-account-0.13.1 set/right/account.rb
card-mod-account-0.13.0 set/right/account.rb
card-mod-account-0.11.7 set/right/account.rb
card-mod-account-0.12.0 set/right/account.rb
card-mod-account-0.11.6 set/right/account.rb
card-mod-account-0.11.5 set/right/account.rb
card-mod-account-0.11.4 set/right/account.rb