Class: SocketLabs::InjectionApi::Core::Serialization::MergeDataJson

Inherits:
Object
  • Object
show all
Defined in:
lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb

Instance Method Summary collapse

Constructor Details

#initialize(per_message = nil, global_merge_data = nil) ⇒ MergeDataJson

Returns a new instance of MergeDataJson.

Parameters:

  • per_message (Array) (defaults to: nil)
  • global_merge_data (Array) (defaults to: nil)


10
11
12
13
14
15
16
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 10

def initialize(
    per_message = nil,
    global_merge_data = nil
)
  self.per_message_merge_data = per_message
  self.global_merge_data = global_merge_data
end

Instance Method Details

#emptyObject



91
92
93
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 91

def empty
  @global_merge_data.length <= 0 &&  @per_message_merge_data.length <= 0
end

#global_merge_dataArray

Get merge field data for all messages in the request

Returns:

  • (Array)


44
45
46
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 44

def global_merge_data
  @global_merge_data
end

#global_merge_data=(value) ⇒ Object

Set merge field data for all messages in the request

Parameters:

  • value (Array)


50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 50

def global_merge_data=(value)
  @global_merge_data = Array.new

  unless value.nil?
    value.each do |v1|
      if v1.instance_of? MergeFieldJson
         @global_merge_data.push(v1)
      end
    end

  end

  # build json hash for MergeDataJson

  # @return [hash]

  def to_hash

    json = {}

    if @global_merge_data.length > 0
      e = Array.new
      @global_merge_data.each do |value|
        e.push(value.to_hash)
      end
      json[:global] = e
    end

    if @per_message_merge_data.length > 0
      e = Array.new
      @per_message_merge_data.each do |message|
        m = Array.new
        message.each do |value|
          m.push(value.to_hash)
        end
        e.push(m)
      end
      json[:perMessage] = e
    end

    json
  end

  def empty
    @global_merge_data.length <= 0 &&  @per_message_merge_data.length <= 0
  end

end

#per_message_merge_dataArray

Get merge field data for each message.

Returns:

  • (Array)


20
21
22
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 20

def per_message_merge_data
  @per_message_merge_data
end

#per_message_merge_data=(value) ⇒ Object

Set merge field data for each message.

Parameters:

  • value (Array)


26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 26

def per_message_merge_data=(value)
  @per_message_merge_data = Array.new

  unless value.nil?
    value.each do |v1|
      l1 = Array.new
      v1.each do |v2|
        if v2.instance_of? MergeFieldJson
          l1.push(v2)
        end
      end
      @per_message_merge_data.push(l1)
    end

  end

  # Get merge field data for all messages in the request

  # @return [Array]

  def global_merge_data
    @global_merge_data
  end

  # Set merge field data for all messages in the request

  # @param [Array] value

  def global_merge_data=(value)
    @global_merge_data = Array.new

    unless value.nil?
      value.each do |v1|
        if v1.instance_of? MergeFieldJson
           @global_merge_data.push(v1)
        end
      end

    end

    # build json hash for MergeDataJson

    # @return [hash]

    def to_hash

      json = {}

      if @global_merge_data.length > 0
        e = Array.new
        @global_merge_data.each do |value|
          e.push(value.to_hash)
        end
        json[:global] = e
      end

      if @per_message_merge_data.length > 0
        e = Array.new
        @per_message_merge_data.each do |message|
          m = Array.new
          message.each do |value|
            m.push(value.to_hash)
          end
          e.push(m)
        end
        json[:perMessage] = e
      end

      json
    end

    def empty
      @global_merge_data.length <= 0 &&  @per_message_merge_data.length <= 0
    end

  end

end

#to_hashhash

build json hash for MergeDataJson

Returns:

  • (hash)


64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/socketlabs/injectionapi/core/serialization/merge_data_json.rb', line 64

def to_hash

  json = {}

  if @global_merge_data.length > 0
    e = Array.new
    @global_merge_data.each do |value|
      e.push(value.to_hash)
    end
    json[:global] = e
  end

  if @per_message_merge_data.length > 0
    e = Array.new
    @per_message_merge_data.each do |message|
      m = Array.new
      message.each do |value|
        m.push(value.to_hash)
      end
      e.push(m)
    end
    json[:perMessage] = e
  end

  json
end