class Kintone::Client::Middleware::Form
Public Class Methods
new(app, options = nil)
click to toggle source
Calls superclass method
# File lib/kintone/client/middleware/form.rb, line 3 def initialize(app, options = nil) super(app) end
Public Instance Methods
call(env)
click to toggle source
# File lib/kintone/client/middleware/form.rb, line 7 def call(env) @app.call(env).on_complete do |env| if record = env[:body]['record'] env[:body]['record'] = parse_form(record) elsif records = env[:body]['records'] env[:body]['records'] = records.map {|r| parse_form(r) } end if totalCount = env[:body]['totalCount'] env[:body]['totalCount'] = totalCount.to_i end end end
Private Instance Methods
parse_field(field)
click to toggle source
# File lib/kintone/client/middleware/form.rb, line 33 def parse_field(field) field_type = field['type'] field_value = field['value'] if field_type == 'SUBTABLE' subtable = {} field_value.each do |row| subtable[row['id']] = parse_form(row['value']) end subtable else field_value end end
parse_form(form)
click to toggle source
# File lib/kintone/client/middleware/form.rb, line 23 def parse_form(form) parsed = {} form.each do |name, field| parsed[name] = parse_field(field) end parsed end