Sha256: c13614e77b4342cfe9824a0aa6b778b6ceb0fc9b47eb649be6e2cad9d8d6aebe

Contents?: true

Size: 293 Bytes

Versions: 3

Compression:

Stored size: 293 Bytes

Contents

module XDR::DSL::Struct
  def attribute(name, type)

    unless type.is_a?(XDR::Concerns::ConvertsToXDR)
      raise ArgumentError, "#{type} does not convert to xdr" 
    end

    self.fields = self.fields.merge(name => type)

    attr_accessor name
    define_attribute_methods name
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
payshares-xdr-0.0.2 lib/xdr/dsl/struct.rb
xdr-0.0.2 lib/xdr/dsl/struct.rb
xdr-0.0.1 lib/xdr/dsl/struct.rb