module Line module Bot module Event class Postback attr_reader :action, :params def initialize src super set_instance_variables end private # dataプロパティからインスタンス変数に設定する。 # # action 'path/to/command' # params '{product_id: 1, order_num: 3}' def set_instance_variables data = postback.data.split('&') .map { |s| s.split('=') } .each_with_object({}) { |(key, val), hash| hash[key.to_sym] = val } @action = data.delete :action @params = data end end end end end