module Nem::Mixin::MosaicAttachable

Attributes

mosaic_id[R]
properties[R]
quantity[R]

Public Class Methods

divisibility(value) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 48
def self.divisibility(value)
  define_method "#{__method__}" do
    value
  end
end
included(base) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 32
def self.included(base)
  base.send :prepend, self

  base.class_eval do
    def self.namespace_id(value)
      define_method "#{__method__}" do
        value
      end
    end

    def self.name(value)
      define_method "#{__method__}" do
        value
      end
    end

    def self.divisibility(value)
      define_method "#{__method__}" do
        value
      end
    end

    def self.initial_supply(value)
      define_method "#{__method__}" do
        value
      end
    end
  end
end
initial_supply(value) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 54
def self.initial_supply(value)
  define_method "#{__method__}" do
    value
  end
end
name(value) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 42
def self.name(value)
  define_method "#{__method__}" do
    value
  end
end
namespace_id(value) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 36
def self.namespace_id(value)
  define_method "#{__method__}" do
    value
  end
end
new(quantity) click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 14
def initialize(quantity)
  mosaic_id = Nem::Model::MosaicId.new(
    namespace_id: namespace_id,
    name: name
  )
  properties = Nem::Model::MosaicProperties.new(
    divisibility: divisibility,
    initial_supply: initial_supply
  )
  @mosaic_id = mosaic_id
  @properties = properties
  @quantity = quantity
end

Public Instance Methods

amount() click to toggle source
# File lib/nem/mixin/mosaic_attachable.rb, line 28
def amount
  (quantity * (10**properties.divisibility)).to_i
end