Class: Usps::Imis::Panel::BasePanel

Inherits:
Object
  • Object
show all
Defined in:
lib/usps/imis/panel/base_panel.rb

Overview

Base class for configuring Panels

Direct Known Subclasses

Education, Vsc

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api = nil, imis_id: nil) ⇒ BasePanel

Returns a new instance of BasePanel.



13
14
15
16
# File 'lib/usps/imis/panel/base_panel.rb', line 13

def initialize(api = nil, imis_id: nil)
  @api = api || Api.new
  @api.imis_id = imis_id if imis_id
end

Instance Attribute Details

#apiObject (readonly)

The parent Api object



11
12
13
# File 'lib/usps/imis/panel/base_panel.rb', line 11

def api
  @api
end

Instance Method Details

#create(data) ⇒ Object

Create a new object in the Panel

Parameters:

  • data (Hash)

    The record data for the desired object



30
31
32
# File 'lib/usps/imis/panel/base_panel.rb', line 30

def create(data)
  api.business_object(business_object, url_id: '').post(payload(data))
end

#destroy(ordinal) ⇒ Object

Remove a specific object from the Panel

Parameters:

  • ordinal (Integer)

    The ordinal identifier for the desired object



49
50
51
# File 'lib/usps/imis/panel/base_panel.rb', line 49

def destroy(ordinal)
  api.business_object(business_object, url_id: "~#{api.imis_id}|#{ordinal}").delete
end

#get(ordinal) ⇒ Object

Get a specific object from the Panel

Parameters:

  • ordinal (Integer)

    The ordinal identifier for the desired object



22
23
24
# File 'lib/usps/imis/panel/base_panel.rb', line 22

def get(ordinal)
  api.business_object(business_object, url_id: "~#{api.imis_id}|#{ordinal}").get
end

#update(data) ⇒ Object

Update an existing object in the Panel

Parameters:

  • data (Hash)

    The record data for the desired object – including the required ordinal identifier



39
40
41
42
43
# File 'lib/usps/imis/panel/base_panel.rb', line 39

def update(data)
  api
    .business_object(business_object, url_id: "~#{api.imis_id}|#{data[:ordinal]}")
    .put(payload(data))
end