module Collins::Api::AssetType
Public Class Methods
asset_type_test()
click to toggle source
# File lib/collins/api/asset_type.rb, line 5 def asset_type_test; @asset_type_test end
asset_type_test=(v;)
click to toggle source
# File lib/collins/api/asset_type.rb, line 6 def asset_type_test= v; @asset_type_test = v end
Public Instance Methods
asset_type_create!(name, label)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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_all()
click to toggle source
# 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 = {})
click to toggle source
# 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
Private Instance Methods
asset_type_test()
click to toggle source
# File lib/collins/api/asset_type.rb, line 5 def asset_type_test; @asset_type_test end
asset_type_test=(v;)
click to toggle source
# File lib/collins/api/asset_type.rb, line 6 def asset_type_test= v; @asset_type_test = v end
validate_name(name)
click to toggle source
# File lib/collins/api/asset_type.rb, line 82 def validate_name name if ::Collins::Api::AssetType.asset_type_test then return name end name_opt = ::Collins::Option(name).map {|x| x.to_s.strip}.filter_not {|x| x.empty?}.filter {|x| x.size > 1 && x.size <= 32 } if name_opt.empty? then raise ::Collins::ExpectationFailedError.new("name must be between 2 and 32 characters") else name_opt.get end end