Class: VersiononeSdk::Asset

Inherits:
JsonDoc::Document
  • Object
show all
Defined in:
lib/versionone_sdk/asset.rb

Overview

VersiononeSdk::Asset class is a JsonDoc::Document subclass that includes the #inflateNames method to add AssetState.Name based on the VersionOne classifications avaiable at: community.versionone.com/Developers/Developer-Library/Concepts/Asset_State

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dValues = nil, dSchema = nil, bDefaultifyDoc = false, bIsStrict = false) ⇒ Asset

Returns a new instance of Asset.



11
12
13
14
15
16
17
# File 'lib/versionone_sdk/asset.rb', line 11

def initialize(dValues=nil,dSchema=nil,bDefaultifyDoc=false,bIsStrict=false)
  @dSchema        = dSchema || self.getDefaultSchema()
  @bDefaultifyDoc = bDefaultifyDoc ? true : false
  @bIsStrict      = bIsStrict      ? true : false
  @dDocument      = self.getDefaultDocument()
  self.loadInitialValues(dValues)
end

Instance Attribute Details

#dSchemaObject

Returns the value of attribute dSchema.



10
11
12
# File 'lib/versionone_sdk/asset.rb', line 10

def dSchema
  @dSchema
end

Instance Method Details

#convertIntegersObject



29
30
31
32
33
34
35
36
37
# File 'lib/versionone_sdk/asset.rb', line 29

def convertIntegers()
  [:Order,:AssetState].each do |yKey|
    xxVal = self.getProp(yKey)
    if xxVal.is_a?(String) && xxVal =~ /^-?[0-9]+$/
      xxVal = xxVal.to_i
      self.setProp(yKey,xxVal)
    end
  end
end

#getDefaultSchemaObject



19
20
21
22
# File 'lib/versionone_sdk/asset.rb', line 19

def getDefaultSchema()
  dSchema =  {}
  return dSchema
end

#inflateObject



24
25
26
27
# File 'lib/versionone_sdk/asset.rb', line 24

def inflate()
  self.inflateNames
  self.convertIntegers
end

#inflateNamesObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/versionone_sdk/asset.rb', line 39

def inflateNames()
  dAssetState = {
    0   => 'Future',
    64  => 'Active',
    128 => 'Closed',
    200 => 'Template (Dead)',
    208 => 'Broken Down (Dead)',
    255 => 'Deleted (Dead)'
  }
  if @dDocument.has_key?(:AssetState)
    sAssetState = @dDocument[:AssetState]
    if sAssetState.is_a?(String) && sAssetState =~ /^[0-9]+$/
      iAssetState = sAssetState.to_i
      if dAssetState.has_key?(iAssetState)
        sAssetStateName = dAssetState[iAssetState]
        self.setProp(:'AssetState.Name',sAssetStateName)
      end
    end
  end
end