Module: Collins::Api::AssetState
- Included in:
- Collins::Api
- Defined in:
- lib/collins/api/asset_state.rb
Class Method Summary collapse
Instance Method Summary collapse
- #state_create!(name, label, description, status = nil) ⇒ Object
- #state_delete!(state) ⇒ Object
- #state_get(name) ⇒ Object
- #state_get_all ⇒ Object
- #state_update!(state, options = {}) ⇒ Object
Class Method Details
.state_test ⇒ Object
4 |
# File 'lib/collins/api/asset_state.rb', line 4 def state_test; @state_test end |
.state_test=(v) ⇒ Object
5 |
# File 'lib/collins/api/asset_state.rb', line 5 def state_test= v; @state_test = v end |
Instance Method Details
#state_create!(name, label, description, status = nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/collins/api/asset_state.rb', line 8 def state_create! name, label, description, status = nil name = validate_state_name name parameters = { :label => label, :description => description, :status => status } if not ::Collins::Api::AssetState.state_test then parameters = select_non_empty_parameters parameters end logger.debug("Creating state with name #{name}") http_put("/api/state/#{name}", parameters) do |r| parse_response r, :expects => 201, :as => :status, :raise => strict?, :default => false end end |
#state_delete!(state) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/collins/api/asset_state.rb', line 26 def state_delete! state name = validate_state_name case state.class when ::Collins::AssetState state.name else state end logger.debug("Deleting state with name #{name}") http_delete("/api/state/#{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 |
#state_get(name) ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/collins/api/asset_state.rb', line 65 def state_get name name = validate_state_name name logger.debug("Fetching state with name #{name}") http_get("/api/state/#{name}") do |r| empty = ::Collins::AssetState.new({}) parse_response r, :expects => 200, :as => :data, :default => empty, :raise => false do |js| ::Collins::AssetState.from_json(js) end end end |
#state_get_all ⇒ Object
76 77 78 79 80 81 82 83 84 |
# File 'lib/collins/api/asset_state.rb', line 76 def state_get_all http_get("/api/states") do |r| parse_response r, :expects => 200, :as => :data, :default => [], :raise => false do |js| js.map do |state| ::Collins::AssetState.from_json(state) end end end end |
#state_update!(state, options = {}) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/collins/api/asset_state.rb', line 42 def state_update! state, = {} name = validate_state_name case state.class when ::Collins::AssetState state.name else state end parameters = { :label => [:label], :description => [:description], :name => [:name], :status => [:status] } if not ::Collins::Api::AssetState.state_test then parameters = select_non_empty_parameters parameters end logger.debug("Updating state with name #{name} params #{parameters}") http_post("/api/state/#{name}", parameters) do |r| parse_response r, :expects => 200, :as => :status, :raise => strict?, :default => false end end |