Module: Collins::Api::AssetType

Included in:
Collins::Api
Defined in:
lib/collins/api/asset_type.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.asset_type_testObject



5
# File 'lib/collins/api/asset_type.rb', line 5

def asset_type_test; @asset_type_test end

.asset_type_test=(v) ⇒ Object



6
# File 'lib/collins/api/asset_type.rb', line 6

def asset_type_test= v; @asset_type_test = v end

Instance Method Details

#asset_type_create!(name, label) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/collins/api/asset_type.rb', line 9

def asset_type_create! name, label
  name = validate_name name
  parameters = { :label => label }

  if not ::Collins::Api::AssetType.asset_type_test then
    parameters = select_non_empty_parameters parameters
  end

  logger.debug("Creating asset type with name #{name}")
  http_put("/api/assettype/#{name}", parameters) do |r|
    parse_response r, :expects => 201, :as => :status, :raise => strict?, :default => false
  end
end

#asset_type_delete!(atype) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/collins/api/asset_type.rb', line 23

def asset_type_delete! atype
  name = validate_name case atype.class
  when ::Collins::AssetType
    atype.name
  else
    atype
  end

  logger.debug("Deleting asset type with name #{name}")
  http_delete("/api/assettype/#{name}") do |r|
    parse_response r, :expects => 202, :as => :data, :raise => strict?, :default => 0 do |js|
      js["DELETED"].to_s.to_i
    end
  end
end

#asset_type_get(name) ⇒ Object



60
61
62
63
64
65
66
67
68
69
# File 'lib/collins/api/asset_type.rb', line 60

def asset_type_get name
  name = validate_name name
  logger.debug("Fetching asset type with name #{name}")
  http_get("/api/assettype/#{name}") do |r|
    empty = ::Collins::AssetType.new({})
    parse_response r, :expects => 200, :as => :data, :default => empty, :raise => false do |js|
      ::Collins::AssetType.from_json(js)
    end
  end
end

#asset_type_get_allObject



71
72
73
74
75
76
77
78
79
# File 'lib/collins/api/asset_type.rb', line 71

def asset_type_get_all
  http_get("/api/assettypes") do |r|
    parse_response r, :expects => 200, :as => :data, :default => [], :raise => false do |js|
      js.map do |atype|
        ::Collins::AssetType.from_json(atype)
      end
    end
  end
end

#asset_type_update!(atype, options = {}) ⇒ Object



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

def asset_type_update! atype, options = {}
  name = validate_name case atype.class
  when ::Collins::AssetType
    atype.name
  else
    atype
  end

  parameters = {
    :name => options[:name],
    :label => options[:label]
  }
  if not ::Collins::Api::AssetType.asset_type_test then
    parameters = select_non_empty_parameters parameters
  end
  logger.debug("Updating asset type with name #{name} params #{parameters}")
  http_post("/api/assettype/#{name}", parameters) do |r|
    parse_response r, :expects => 200, :as => :status, :raise => strict?, :default => false
  end
end