Class: Iiko::Web

Inherits:
Object
  • Object
show all
Defined in:
lib/iiko/web.rb

Constant Summary collapse

IIKO_USER_AGENT =
'iiko agent'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(settings) ⇒ Web

Returns a new instance of Web.



9
10
11
12
13
14
15
16
17
# File 'lib/iiko/web.rb', line 9

def initialize(settings)
  @settings = settings # :url, :user, :password, :user_agent
  validate_arguments

  @agent = Mechanize.new { |agent| agent.user_agent = settings[:user_agent] || IIKO_USER_AGENT }

  #default_headers = { "Accept-Language" => 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4' }
  #@headers = settings[:headers] ? settings[:headers].merge(default_headers) : default_headers
end

Instance Attribute Details

#agentObject (readonly)

Returns the value of attribute agent.



7
8
9
# File 'lib/iiko/web.rb', line 7

def agent
  @agent
end

#filesObject (readonly)

Returns the value of attribute files.



7
8
9
# File 'lib/iiko/web.rb', line 7

def files
  @files
end

#headersObject (readonly)

Returns the value of attribute headers.



7
8
9
# File 'lib/iiko/web.rb', line 7

def headers
  @headers
end

#loggedObject (readonly)

Returns the value of attribute logged.



7
8
9
# File 'lib/iiko/web.rb', line 7

def logged
  @logged
end

#resultObject (readonly)

Returns the value of attribute result.



7
8
9
# File 'lib/iiko/web.rb', line 7

def result
  @result
end

#settingsObject (readonly)

Returns the value of attribute settings.



7
8
9
# File 'lib/iiko/web.rb', line 7

def settings
  @settings
end

Instance Method Details

#goods(file_name = nil) ⇒ Object



37
38
39
40
41
42
# File 'lib/iiko/web.rb', line 37

def goods(file_name = nil)
   unless logged

  @result = agent.get(service_url(:goods))
  write_file(file_name, 'goods', 'csv')
end

#loginObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/iiko/web.rb', line 19

def 
  agent.get(service_url) do ||
    @result = .form_with(name: 'f') do |form|
      form.j_username = settings[:user]
      form.j_password = settings[:password]
    end.submit
    # TODO: Check success login
    @logged = true
  end
end

#ttk(file_name = nil) ⇒ Object



30
31
32
33
34
35
# File 'lib/iiko/web.rb', line 30

def ttk(file_name = nil)
   unless logged

  @result = agent.get(service_url(:ttk))
  write_file(file_name, 'ttk', 'csv')
end