Class: Iiko::Web
- Inherits:
-
Object
- Object
- Iiko::Web
- Defined in:
- lib/iiko/web.rb
Constant Summary collapse
- IIKO_USER_AGENT =
'iiko agent'
Instance Attribute Summary collapse
-
#agent ⇒ Object
readonly
Returns the value of attribute agent.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#logged ⇒ Object
readonly
Returns the value of attribute logged.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
-
#settings ⇒ Object
readonly
Returns the value of attribute settings.
Instance Method Summary collapse
- #goods(file_name = nil) ⇒ Object
-
#initialize(settings) ⇒ Web
constructor
A new instance of Web.
- #login ⇒ Object
- #ttk(file_name = nil) ⇒ Object
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
#agent ⇒ Object (readonly)
Returns the value of attribute agent.
7 8 9 |
# File 'lib/iiko/web.rb', line 7 def agent @agent end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
7 8 9 |
# File 'lib/iiko/web.rb', line 7 def files @files end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
7 8 9 |
# File 'lib/iiko/web.rb', line 7 def headers @headers end |
#logged ⇒ Object (readonly)
Returns the value of attribute logged.
7 8 9 |
# File 'lib/iiko/web.rb', line 7 def logged @logged end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
7 8 9 |
# File 'lib/iiko/web.rb', line 7 def result @result end |
#settings ⇒ Object (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) login unless logged @result = agent.get(service_url(:goods)) write_file(file_name, 'goods', 'csv') end |
#login ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/iiko/web.rb', line 19 def login agent.get(service_url) do |login_page| @result = login_page.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) login unless logged @result = agent.get(service_url(:ttk)) write_file(file_name, 'ttk', 'csv') end |