class Appdynamics::Application
Attributes
application_id[R]
application_name[R]
controller[R]
Public Class Methods
from_hash(hsh, controller)
click to toggle source
# File lib/appdynamics/application.rb, line 26 def self.from_hash hsh, controller application = Application.new controller, hsh['application_id'], hsh['application_name'] application.metrics = hsh['metrics'] if hsh['metrics'] application.tiers = hsh['tiers'] if hsh['tiers'] application.nodes = hsh['nodes'] if hsh['nodes'] application end
new(controller, application_id, application_name)
click to toggle source
# File lib/appdynamics/application.rb, line 5 def initialize controller, application_id, application_name @controller = controller @application_name = application_name @application_id = application_id end
Public Instance Methods
find_metric_by_name(nam)
click to toggle source
# File lib/appdynamics/application.rb, line 64 def find_metric_by_name nam metric = nil metrics.each do |m| metric = m.find_by_name nam break unless metric.nil? end metric end
find_metric_by_path(path)
click to toggle source
# File lib/appdynamics/application.rb, line 73 def find_metric_by_path path metric = metrics.select{|metric| metric.name == path.first}.first return nil unless metric path.shift path.each do |metric_name| metric = metric.child_by_name metric_name return nil unless metric end metric end
metrics()
click to toggle source
# File lib/appdynamics/application.rb, line 54 def metrics @metrics ||= controller.metrics_for self end
metrics=(metrics)
click to toggle source
# File lib/appdynamics/application.rb, line 58 def metrics= metrics @metrics = metrics.map{|metric| Metric.from_hash metric, @controller, self } end
name()
click to toggle source
# File lib/appdynamics/application.rb, line 11 def name @application_name end
nodes()
click to toggle source
# File lib/appdynamics/application.rb, line 34 def nodes @nodes ||= controller.nodes_for self end
nodes=(nodes)
click to toggle source
# File lib/appdynamics/application.rb, line 38 def nodes= nodes @nodes = nodes.map{|node| Node.from_hash node, @controller, self } end
relative_route(*_)
click to toggle source
# File lib/appdynamics/application.rb, line 84 def relative_route *_ "applications/#{application_id}" end
tiers()
click to toggle source
# File lib/appdynamics/application.rb, line 44 def tiers @tiers ||= controller.tiers_for self end
tiers=(tiers)
click to toggle source
# File lib/appdynamics/application.rb, line 48 def tiers= tiers @tiers = tiers.map{|tier| Tier.from_hash tier, @controller, self } end
to_hash()
click to toggle source
# File lib/appdynamics/application.rb, line 15 def to_hash hsh = { application_name: @application_name, application_id: @application_id } hsh.merge!({nodes: @nodes.map{|node| node.to_hash}}) if @nodes hsh.merge!({metrics: @metrics.map{|node| node.to_hash}}) if @metrics hsh.merge!({tiers: @tiers.map{|node| node.to_hash}}) if @tiers hsh end