Class: CPEE::Notifications::UpdateSubscription

Inherits:
Riddl::Implementation
  • Object
show all
Defined in:
lib/cpee/implementation_notifications.rb

Overview

}}}

Instance Method Summary collapse

Instance Method Details

#responseObject

{{{



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/cpee/implementation_notifications.rb', line 127

def response
  id = @a[0]
  opts = @a[1]
  key = @r.last

  if CPEE::Persistence::exists_handler?(id,opts,key)
    url = @p[0].name == 'url' ? @p.shift.value : nil
    values = []
    while @p.length > 0
      topic = @p.shift.value
      base = @p.shift
      type = base.name
      values += base.value.split(',').map { |i| File.join(topic,type[0..-2],i) }
    end
    @header = CPEE::Persistence::set_handler(id,opts,key,url,values,true)
  else
    @status = 404
  end
end