Class: Arista::EAPI::Request
- Inherits:
-
Object
- Object
- Arista::EAPI::Request
- Defined in:
- lib/arista/eapi/request.rb
Instance Attribute Summary collapse
-
#commands ⇒ Object
Returns the value of attribute commands.
-
#switch ⇒ Object
Returns the value of attribute switch.
Class Method Summary collapse
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(switch, *commands) ⇒ Request
constructor
A new instance of Request.
- #payload ⇒ Object
Constructor Details
#initialize(switch, *commands) ⇒ Request
Returns a new instance of Request.
6 7 8 9 |
# File 'lib/arista/eapi/request.rb', line 6 def initialize(switch, *commands) self.switch = switch self.commands = commands end |
Instance Attribute Details
#commands ⇒ Object
Returns the value of attribute commands.
4 5 6 |
# File 'lib/arista/eapi/request.rb', line 4 def commands @commands end |
#switch ⇒ Object
Returns the value of attribute switch.
4 5 6 |
# File 'lib/arista/eapi/request.rb', line 4 def switch @switch end |
Class Method Details
.execute!(switch, *commands) ⇒ Object
28 29 30 31 |
# File 'lib/arista/eapi/request.rb', line 28 def self.execute!(switch, *commands) req = self.new(switch, *commands) req.execute end |
Instance Method Details
#execute ⇒ Object
24 25 26 |
# File 'lib/arista/eapi/request.rb', line 24 def execute Arista::EAPI::Response.new(commands, RestClient.post(switch.url, payload)) end |
#payload ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/arista/eapi/request.rb', line 11 def payload @payload ||= JSON.generate({ :jsonrpc => '2.0', :method => 'runCmds', :id => 1, :params => { :version => 1, :cmds => commands, :format => Arista::EAPI.format_for(commands) }, }) end |