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