class Agris::Api::Grain::Contract
Constants
- ATTRIBUTE_NAMES
Public Class Methods
add_transcodes_to_schedule(schedule)
click to toggle source
This adds the transcode attributes like salesperson into the schedule
# File lib/agris/api/grain/contract.rb, line 104 def self.add_transcodes_to_schedule(schedule) if schedule['trancodes'] trancodes = schedule['trancodes']['trancode'] trancodes = [trancodes] unless trancodes.class == Array trancodes.each do |trancode| label_code = trancode['label'].downcase + 'code' schedule[label_code] = trancode['code'] label_description = trancode['label'].downcase + 'description' schedule[label_description] = trancode['description'] end end schedule end
from_json_hash(hash)
click to toggle source
Calls superclass method
# File lib/agris/api/grain/contract.rb, line 85 def self.from_json_hash(hash) super.tap do |contract| if hash['schedules'] contract.schedules.concat( hash['schedules'].map do |schedule| Schedule.from_json_hash(schedule) end ) end end end
from_xml_hash(hash)
click to toggle source
Calls superclass method
# File lib/agris/api/grain/contract.rb, line 70 def self.from_xml_hash(hash) super.tap do |document| if hash['schedules'] document.schedules.concat( [hash['schedules']['schedule']] .flatten .map do |schedule| enhanced_schedule = add_transcodes_to_schedule(schedule) Schedule.from_xml_hash(enhanced_schedule) end ) end end end
new(hash = {})
click to toggle source
Calls superclass method
# File lib/agris/api/grain/contract.rb, line 97 def initialize(hash = {}) super @schedules = [] end