Class: Prof::OpsManager::WebAppInternals::Page::TileSettings
- Inherits:
-
Object
- Object
- Prof::OpsManager::WebAppInternals::Page::TileSettings
- Defined in:
- lib/prof/ops_manager/web_app_internals/page/tile_settings.rb
Instance Method Summary collapse
- #configure(configuration) ⇒ Object
- #current_uri ⇒ Object
-
#initialize(opts = {}) ⇒ TileSettings
constructor
A new instance of TileSettings.
- #return_to_dashboard ⇒ Object
- #set_field_value(setting_name, field_name, field_value) ⇒ Object
- #setting_names ⇒ Object
- #settings_for(setting_name) ⇒ Object
- #sidebar(next_settings_name, &_block) ⇒ Object
- #update(config = {}, &block) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ TileSettings
Returns a new instance of TileSettings.
20 21 22 23 24 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 20 def initialize(opts = {}) @page = opts.fetch(:page) check_on_settings! end |
Instance Method Details
#configure(configuration) ⇒ Object
49 50 51 52 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 49 def configure(configuration) configuration.each { |, config| ().update(config) } return_to_dashboard end |
#current_uri ⇒ Object
77 78 79 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 77 def current_uri URI(page.current_url) end |
#return_to_dashboard ⇒ Object
72 73 74 75 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 72 def return_to_dashboard page.click_on 'Installation Dashboard' Dashboard.new(page: page) end |
#set_field_value(setting_name, field_name, field_value) ⇒ Object
30 31 32 33 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 30 def set_field_value(setting_name, field_name, field_value) (setting_name) update(field_name => field_value) end |
#setting_names ⇒ Object
26 27 28 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 26 def setting_names page.all('.sidebar li').map(&:text) end |
#settings_for(setting_name) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 35 def settings_for(setting_name) (setting_name) config = {} page.all(".content #{fields_selector}").each do |input| config[input['name']] = if config[input['name']] [input.value] + Array(config[input['name']]) else input.value end end config end |
#sidebar(next_settings_name, &_block) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 59 def (next_settings_name, &_block) return self if next_settings_name == current_setting_name page.find('li a', text: /^\s*#{next_settings_name}\s*$/).click if block_given? yield page return_to_dashboard else TileSettings.new(page: page) end end |
#update(config = {}, &block) ⇒ Object
54 55 56 57 |
# File 'lib/prof/ops_manager/web_app_internals/page/tile_settings.rb', line 54 def update(config = {}, &block) form.update config, &block self end |