class TorgiGov::ListNotificationForDate

Public Class Methods

new(args) click to toggle source
# File lib/torgi_gov/request/list_notification_for_date.rb, line 9
def initialize(args)
  query = initialize_query(args)

  @options = {
      query: query
  }
end

Public Instance Methods

call() click to toggle source
# File lib/torgi_gov/request/list_notification_for_date.rb, line 17
def call
  request = self.class.get('/opendata/7710349494-torgi/data.xml', @options)
  parser = Nokogiri.XML(request.body)
  parser.css('odDetailedHref').collect do |element|
    element.children.text.split('/').last
  end
end

Private Instance Methods

initialize_date(date) click to toggle source
# File lib/torgi_gov/request/list_notification_for_date.rb, line 43
def initialize_date(date)
  date.strftime('%Y%m%dT%H%m')
end
initialize_query(args) click to toggle source
# File lib/torgi_gov/request/list_notification_for_date.rb, line 27
def initialize_query(args)
  publish_date_from = args[:publish_date_from]
  publish_date_to   = args[:publish_date_to]
  last_change_from  = args[:last_change_from]
  last_change_to    = args[:last_change_to]
  raise ArgumentError unless publish_date_from || publish_date_to || last_change_from || last_change_to

  query = {}
  query[:bkId]            = args[:bid_kind]
  query[:publishDateFrom] = initialize_date(publish_date_from) if publish_date_from
  query[:publishDateTo]   = initialize_date(publish_date_to)   if publish_date_to
  query[:lastChangeFrom]  = initialize_date(last_change_from)  if last_change_from
  query[:lastChangeTo]    = initialize_date(last_change_to)    if last_change_to
  query
end