Class: Wdmc::Device
- Inherits:
-
Thor
- Object
- Thor
- Wdmc::Device
- Includes:
- Enumerable
- Defined in:
- lib/wdmc/device.rb
Instance Method Summary collapse
- #firmware ⇒ Object
- #info ⇒ Object
-
#initialize(*args) ⇒ Device
constructor
A new instance of Device.
- #network ⇒ Object
- #state ⇒ Object
- #summary ⇒ Object
- #usage ⇒ Object
Constructor Details
#initialize(*args) ⇒ Device
Returns a new instance of Device.
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/wdmc/device.rb', line 5 def initialize(*args) @wdmc = Wdmc::Client.new @device_description = @wdmc.device_description @system_information = @wdmc.system_information @firmware = @wdmc.firmware @shares = @wdmc.all_shares @network = @wdmc.network @system_state = @wdmc.system_state super end |
Instance Method Details
#firmware ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/wdmc/device.rb', line 30 def firmware puts "Firmware".upcase.color(:magenta) puts "\sFW Version\t\t: ".color(:whitesmoke) + @firmware[:current_firmware][:package][:version] if @firmware[:firmware_update_available][:available] == 'false' puts "\s\s- Updates available\t: ".color(:whitesmoke) + @firmware[:firmware_update_available][:available].color(:green) else puts "\s\s- Updates available\t: ".color(:whitesmoke) + @firmware[:firmware_update_available][:available].color(:orange) end if @firmware[:upgrades][:available] == 'false' puts "\s\s- Upgrades available\t: ".color(:whitesmoke) + @firmware[:upgrades][:available].color(:green) else puts "\s\s- Upgrades available\t: ".color(:whitesmoke) + @firmware[:upgrades][:available].color(:orange) end end |
#info ⇒ Object
46 47 48 49 50 51 52 53 54 |
# File 'lib/wdmc/device.rb', line 46 def info puts "Device Information".upcase.color(:magenta) puts "\sDevice Name\t\t: ".color(:whitesmoke) + @device_description[:machine_name] puts "\sModel / Number\t\t: ".color(:whitesmoke) + "#{@system_information[:model_name]} " + @system_information[:model_number] puts "\sSerial Number\t\t: ".color(:whitesmoke) + @system_information[:serial_number] puts "\sDrive Number Serial\t: ".color(:whitesmoke) + @system_information[:master_drive_serial_number] puts "\sCapacity\t\t: ".color(:whitesmoke) + @system_information[:capacity] puts "\sShares\t\t\t: ".color(:whitesmoke) + @shares.size.to_s end |
#network ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/wdmc/device.rb', line 70 def network puts "Network Configuration".upcase.color(:magenta) puts "\sInterface\t\t: ".color(:whitesmoke) + @network[:ifname] puts "\sType\t\t\t: ".color(:whitesmoke) + @network[:iftype] puts "\sProtocol\t\t: ".color(:whitesmoke) + @network[:proto] puts "\sIP Address\t\t: ".color(:whitesmoke) + @network[:ip] puts "\sMAC Address\t\t: ".color(:whitesmoke) + @system_information[:mac_address] puts "\sNetmask\t\t: ".color(:whitesmoke) + @network[:netmask] puts "\sGateway\t\t: ".color(:whitesmoke) + @network[:gateway] puts "\sDNS Servers\t\t: ".color(:whitesmoke) + [@network[:dns0], @network[:dns1], @network[:dns2]].reject(&:empty?).join(', ') end |
#state ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/wdmc/device.rb', line 84 def state puts "Device State".upcase.color(:magenta) puts "\sStatus\t\t\t: ".color(:whitesmoke) + @system_state[:status] puts "\sTemperature\t\t: ".color(:whitesmoke) + @system_state[:temperature].color(:green) if @system_state[:temperature] == 'good' puts "\sTemperature\t\t: ".color(:whitesmoke) + @system_state[:temperature].color(:orange) if @system_state[:temperature] == 'bad' puts "\sS.M.A.R.T\t\t: ".color(:whitesmoke) + @system_state[:smart].color(:green) if @system_state[:smart] == 'good' puts "\sS.M.A.R.T\t\t: ".color(:whitesmoke) + @system_state[:smart].color(:orange) if @system_state[:smart] == 'bad' puts "\sVolume\t\t\t: ".color(:whitesmoke) + @system_state[:volume].color(:green) if @system_state[:volume] == 'good' puts "\sVolume\t\t\t: ".color(:whitesmoke) + @system_state[:volume].color(:orange) if @system_state[:volume] == 'bad' puts "\sFree Space\t\t: ".color(:whitesmoke) + @system_state[:free_space].color(:green) if @system_state[:free_space] == 'good' puts "\sFree Space\t\t: ".color(:whitesmoke) + @system_state[:free_space].color(:orange) if @system_state[:free_space] == 'bad' puts "\sReported Status\t: ".color(:whitesmoke) + @system_state[:reported_status].color(:green) if @system_state[:reported_status] == 'good' puts "\sReported Status\t: ".color(:whitesmoke) + @system_state[:reported_status].color(:orange) if @system_state[:reported_status] == 'bad' end |
#summary ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/wdmc/device.rb', line 17 def summary info puts firmware puts usage puts state puts network end |
#usage ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/wdmc/device.rb', line 57 def usage usage = @wdmc.storage_usage free = usage[:size].to_i - usage[:usage].to_i puts "Device Usage".upcase.color(:magenta) puts "\sCapacity\t\t: ".color(:whitesmoke) + Filesize.from("#{usage[:size]} B").to_s('GB') puts "\sFree\t\t\t: ".color(:whitesmoke) + Filesize.from("#{free} B").to_s('GB') puts "\sUsage\t\t\t: ".color(:whitesmoke) + Filesize.from("#{usage[:usage]} B").to_s('GB') puts "\s\s- Videos\t\t: ".color(:whitesmoke) + Filesize.from("#{usage[:video]} B").to_s('GB') if usage[:video].to_i > 0 puts "\s\s- Photos\t\t: ".color(:whitesmoke) + Filesize.from("#{usage[:photo]} B").to_s('GB') if usage[:photo].to_i > 0 puts "\s\s- Music\t\t: ".color(:whitesmoke) + Filesize.from("#{usage[:music]} B").to_s('GB') if usage[:music].to_i > 0 end |