class Flexibee::Tree

Public Class Methods

new(client) click to toggle source
# File lib/flexibee/tree.rb, line 3
def initialize(client)
  @client = client
end

Public Instance Methods

all() click to toggle source
# File lib/flexibee/tree.rb, line 7
def all
  create_nodes(find)
end
children_of(node_id) click to toggle source
# File lib/flexibee/tree.rb, line 27
def children_of(node_id)
  create_nodes(find("otec='#{node_id}'"))
end
find(filter=nil) click to toggle source
# File lib/flexibee/tree.rb, line 11
def find(filter=nil)
  @client.get("/strom", { detail: 'full', limit: 0 }, filter)['winstrom']['strom']
end
find_by_id(id) click to toggle source
# File lib/flexibee/tree.rb, line 23
def find_by_id(id)
  create_nodes(find("id='#{id}'"))
end
level(level=1) click to toggle source
# File lib/flexibee/tree.rb, line 19
def level(level=1)
  create_nodes(find("hladina='#{level}'"))
end
parent_for(parent_id) click to toggle source
# File lib/flexibee/tree.rb, line 31
def parent_for(parent_id)
  create_nodes(find("id='#{parent_id}'"))
end
root() click to toggle source
# File lib/flexibee/tree.rb, line 15
def root
  level.first
end

Private Instance Methods

create_nodes(response) click to toggle source
# File lib/flexibee/tree.rb, line 37
def create_nodes(response)
  response.map{ |n| Flexibee::Node.new(n, self) }
end