class DJNML::Modification::Mdata

Attributes

company_code[R]
content_code[R]
function_code[R]
geo_code[R]
government_code[R]
industry_code[R]
isin_code[R]
journal_code[R]
market_code[R]
page_code[R]
product_code[R]
routing_code[R]
stat_code[R]
subject_code[R]

Public Class Methods

from_hash(data) click to toggle source
# File lib/djnml/modification.rb, line 116
def self.from_hash(data)
  self.new(data) if data.is_a?(Hash)
end
new(data = nil) click to toggle source
# File lib/djnml/modification.rb, line 120
def initialize(data = nil)
  return unless data

  initialize_from_xml(data) if data.is_a?(Nokogiri::XML::Element)
  initialize_from_hash(data) if data.is_a?(Hash)
end

Public Instance Methods

initialize_from_hash(data) click to toggle source
# File lib/djnml/modification.rb, line 127
def initialize_from_hash(data)
  @company_code = data['company_code']
  @isin_code = data['isin_code']
  @page_code = data['page_code']
  @industry_code = data['industry_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @government_code = data['government_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @subject_code = data['subject_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @market_code = data['market_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @geo_code = data['geo_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @stat_code = data['stat_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @journal_code = data['journal_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @routing_code = data['routing_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @function_code = data['function_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
  @product_code = data['product_code'].map { |c| ::DJNML::Codes.new(c['symbol']) }
end
initialize_from_xml(xml) click to toggle source
# File lib/djnml/modification.rb, line 143
def initialize_from_xml(xml)
  # company
  #
  if tag = xml.search('djn-coding/djn-company/c')
    @company_code = tag.map { |tag| tag.text.strip }
    tag = nil
  end

  # isin
  #
  if tag = xml.search('djn-coding/djn-isin/c')
    @isin_code = tag.map { |tag| tag.text.strip }
    tag = nil
  end

  # industry
  #
  if tag = xml.search('djn-coding/djn-industry/c')
    @industry_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # government
  #
  if tag = xml.search('djn-coding/djn-government/c')
    @government_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # page
  #
  if tag = xml.search('djn-coding/djn-page/c')
    @page_code = tag.map { tag.text.strip }
    tag = nil
  end

  # subject
  #
  if tag = xml.search('djn-coding/djn-subject/c')
    @subject_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # market
  #
  if tag = xml.search('djn-coding/djn-market/c')
    @market_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # product
  #
  if tag = xml.search('djn-coding/djn-product/c')
    @product_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # geo
  #
  if tag = xml.search('djn-coding/djn-geo/c')
    @geo_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # stat
  #
  if tag = xml.search('djn-coding/djn-stat/c')
    @stat_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # journal
  #
  if tag = xml.search('djn-coding/djn-journal/c')
    @journal_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # routing
  #
  if tag = xml.search('djn-coding/djn-routing/c')
    @routing_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # content
  #
  if tag = xml.search('djn-coding/djn-content/c')
    @content_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end

  # function
  #
  if tag = xml.search('djn-coding/djn-function/c')
    @function_code = tag.map { |tag| ::DJNML::Codes.new(tag.text.strip) }
    tag = nil
  end
end