Module: Graphdb::Model::Extensions::OpenAssets::TxOut

Included in:
TxOut
Defined in:
lib/graphdb/model/extensions/open_assets/tx_out.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/graphdb/model/extensions/open_assets/tx_out.rb', line 7

def self.prepended(base)
  class << base
    self.prepend(ClassMethods)

  end
  base.class_eval do
    property :asset_quantity, type: Integer, default: 0
    property :oa_output_type, default: 'uncolored'
    has_one :out, :asset_id, type: :asset_id, model_class: 'Graphdb::Model::AssetId'
  end
end

Instance Method Details

#apply_oa_attributes(oa_out) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/graphdb/model/extensions/open_assets/tx_out.rb', line 23

def apply_oa_attributes(oa_out)
  self.asset_quantity = oa_out['asset_quantity']
  self.oa_output_type = oa_out['output_type']
  self.asset_id = oa_out['asset_id'].nil? ? nil : AssetId.find_or_create(oa_out['asset_id'])
  self.oa_output_type = 'uncolored' if self.asset_id.nil? && self.oa_output_type != 'marker'
  save!
end