class Gzlib::Positions

Constants

Public Class Methods

new(id) click to toggle source
# File lib/gzlib/positions.rb, line 11
def initialize(id)
  fetch_json id
  merge_holding_loan
end

Public Instance Methods

each(&b) click to toggle source
# File lib/gzlib/positions.rb, line 16
def each &b
  @holdings.each &b
end

Private Instance Methods

fetch_json(id) click to toggle source
# File lib/gzlib/positions.rb, line 26
def fetch_json id
  json = Net::HTTP.get(URI("#{Search}#{id}"))
  @json = JSON.parse json
end
json() click to toggle source
# File lib/gzlib/positions.rb, line 22
def json
  @json
end
merge_holding_loan() click to toggle source
# File lib/gzlib/positions.rb, line 31
def merge_holding_loan
  libcodeMap = json['libcodeMap']
  localMap = json['localMap']
  loanWorkMap = json['loanWorkMap']

  @holdings = json['holdingList'].map do |hold|
    h = Gzlib::Holding.new hold
    h.libcodeMap = libcodeMap
    h.localMap = localMap
    h.loan = loanWorkMap[h.barcode]
    h
  end
end