Class: CPEE::Properties::PutPositions
- Inherits:
-
Riddl::Implementation
- Object
- Riddl::Implementation
- CPEE::Properties::PutPositions
- Defined in:
- lib/cpee/implementation_properties.rb
Overview
}}}
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.set(id, opts, xml) ⇒ Object
{{{
546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 |
# File 'lib/cpee/implementation_properties.rb', line 546 def PutPositions::set(id,opts,xml) doc = XML::Smart::string(xml) content = {} newkeys = [] doc.find("/*/*").map do |ele| val = { 'position' => ele.qname.name } val['passthrough'] = ele.attributes['passthrough'] if ele.attributes['passthrough'] content[ele.text] ||= [] content[ele.text] << val newkeys << ele.qname.name end oldkeys = CPEE::Persistence::extract_set(id,opts,'positions').to_h.keys del = oldkeys - newkeys del.each do |key| val = { 'position' => key } content['unmark'] ||= [] content['unmark'] << val end CPEE::Persistence::set_item(id,opts,'position',content) end |
Instance Method Details
#response ⇒ Object
567 568 569 570 571 572 573 574 575 576 577 578 579 580 |
# File 'lib/cpee/implementation_properties.rb', line 567 def response id = @a[0] opts = @a[1] if opts[:statemachine].readonly? id @status = 423 else begin PutPositions::set(id,opts,@p[0].value.read) rescue => e @status = 400 end end nil end |