Class: Acumatica::StockItem

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/acumatica/stock_item.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ StockItem

Returns a new instance of StockItem.



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/acumatica/stock_item.rb', line 27

def initialize(params = {})
  new_params = {}
  params.each do |k,v|
    v = v.values.first if v.is_a?(Hash) && v.keys == ["value"]
    new_params[methodify(k)] = v
  end

  super(new_params)

  self.attributes ||= []
  attributes.each { |a| self[methodify(a['AttributeID']['value'])] = a['Value']['value'] }
end

Class Method Details

.find_all(select: nil, filter: nil, expand: nil, offset: nil, limit: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/acumatica/stock_item.rb', line 3

def self.find_all(select: nil, filter: nil, expand: nil, offset: nil, limit: nil)
  params = {}

  params['$select'] = select if select
  params['$filter'] = filter if filter
  params['$expand'] = expand if expand
  params['$skip']   = offset if offset
  params['$top']    = limit  if limit

  response = Acumatica::Client.instance.connection.get do |req|
    req.url url
    req.params = params
  end

  response.body.map { |attrs| self.new(attrs) }
end

.urlObject



20
21
22
23
24
25
# File 'lib/acumatica/stock_item.rb', line 20

def self.url
  URI.join(
    Acumatica::Client.instance.url,
    "/entity/Default/#{Acumatica::Client::API_VERSION}/StockItem"
  )
end