Class: BaUpload::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/ba_upload/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key_file, cert_file, ca_cert_file) ⇒ Connection

Returns a new instance of Connection.



7
8
9
10
11
12
13
14
15
16
# File 'lib/ba_upload/connection.rb', line 7

def initialize(key_file, cert_file, ca_cert_file)
  require 'mechanize'
  @key = key_file
  @cert = cert_file
  @ca_cert = ca_cert_file
  @m = Mechanize.new
  @m.key = @key.path
  @m.ca_file = @ca_cert.path
  @m.cert = @cert.path
end

Instance Attribute Details

#mObject (readonly)

Returns the value of attribute m.



5
6
7
# File 'lib/ba_upload/connection.rb', line 5

def m
  @m
end

Instance Method Details

#error_files(partner_id: nil) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/ba_upload/connection.rb', line 26

def error_files(partner_id: nil)
  url = base_url(partner_id)
  m.get(url)
  links = m.page.links_with(text: /ESP|ESV/)
  links.map do |link|
    ErrorFile.new(link)
  end
end

#misc(partner_id: nil) ⇒ Object



43
44
45
46
47
48
# File 'lib/ba_upload/connection.rb', line 43

def misc(partner_id: nil)
  url = base_url(partner_id)
  m.get url
  m.page.links_with(text: /sonstiges/).first.click
  m.page.links.reject { |i| i.href[/^\?|mailto:/] || i.href == '/' }
end

#shutdownObject



50
51
52
# File 'lib/ba_upload/connection.rb', line 50

def shutdown
  m.shutdown
end

#statistics(partner_id: nil) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/ba_upload/connection.rb', line 35

def statistics(partner_id: nil)
  url = base_url(partner_id) + "Statistiken"
  m.get(url)
  m.page.links_with(text: /xlsx/).map do |link|
    StatisticFile.new(link)
  end
end

#upload(file: nil, partner_id: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/ba_upload/connection.rb', line 18

def upload(file: nil, partner_id: nil)
  url = base_url(partner_id) + "in/"
  m.get(url)
  form = m.page.forms.first
  form.file_uploads.first.file_name = file
  form.submit
end