Class: LittleBird::Graph

Inherits:
ResponseType show all
Defined in:
lib/littlebird_api_client/response_types/graph.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ResponseType

#attribute_names, #attributes, #initialize, #parse_value, #set_as_time_if_timestamp, timestamped_keys, #to_json, #useful_attribute_names

Constructor Details

This class inherits a constructor from LittleBird::ResponseType

Class Method Details

.run(opts = {}) ⇒ Object

usage params = “533c98700765e035b1000001”, term: “SNA”, nodes: [19512246, 18911399, 2192301], attributes: {“name” => {“19512246” => 1, “18911399” => 2}‘, domain: “twitter”}



59
60
61
62
63
64
65
66
# File 'lib/littlebird_api_client/response_types/graph.rb', line 59

def self.run(opts={})
  opts[:api_version] ||= 1
  opts[:host] ||= "0.0.0.0:8083"
  client = LittleBird::Client.new(opts[:api_key], opts[:api_version], opts[:host])
  sub_graph = client.graph_create(term: opts[:term])
  sub_graph.add(opts[:nodes], domain: opts[:domain])
  sub_graph.analyze
end

Instance Method Details

#add(ids, opts = {}) ⇒ Object



3
4
5
# File 'lib/littlebird_api_client/response_types/graph.rb', line 3

def add(ids, opts={})
  client.graph_add({identities: [ids].flatten, id: id}.merge(opts))
end

#analyzeObject



15
16
17
# File 'lib/littlebird_api_client/response_types/graph.rb', line 15

def analyze
  client.graph_analyze(id: id)
end

#clear_attribute(opts) ⇒ Object



26
27
28
# File 'lib/littlebird_api_client/response_types/graph.rb', line 26

def clear_attribute(opts)
  client.graph_analyze(opts.merge(id: id))
end

#clear_attributes(opts) ⇒ Object



19
20
21
22
23
24
# File 'lib/littlebird_api_client/response_types/graph.rb', line 19

def clear_attributes(opts)
  names = opts.delete(:names) || opts.delete("names")
  names.each do |name|
    client.graph_clear_attribute(opts.merge(id: id, name: name))
  end
end

#communities(analysis_id) ⇒ Object



30
31
32
# File 'lib/littlebird_api_client/response_types/graph.rb', line 30

def communities(analysis_id)
  client.graph_community(analysis_id: analysis_id)
end

#communities_users(analysis_id) ⇒ Object



38
39
40
# File 'lib/littlebird_api_client/response_types/graph.rb', line 38

def communities_users(analysis_id)
  client.graph_community(analysis_id: analysis_id, users: true)
end

#community(analysis_id, community_id) ⇒ Object



34
35
36
# File 'lib/littlebird_api_client/response_types/graph.rb', line 34

def community(analysis_id, community_id)
  client.graph_community(analysis_id: analysis_id, community_id: community_id)
end

#community_users(analysis_id, community_id) ⇒ Object



42
43
44
# File 'lib/littlebird_api_client/response_types/graph.rb', line 42

def community_users(analysis_id, community_id)
  client.graph_community(analysis_id: analysis_id, community_id: community_id, users: true)
end

#download_csv_to(analysis_id, file = StringIO.new) ⇒ Object



11
12
13
# File 'lib/littlebird_api_client/response_types/graph.rb', line 11

def download_csv_to(analysis_id, file=StringIO.new)
  client.graph_download(analysis_id: analysis_id, format: "csv").to_file(file)
end

#download_gexf_to(analysis_id, file = StringIO.new) ⇒ Object



7
8
9
# File 'lib/littlebird_api_client/response_types/graph.rb', line 7

def download_gexf_to(analysis_id, file=StringIO.new)
  client.graph_download(analysis_id: analysis_id, format: "gexf").to_file(file)
end

#dropObject



46
47
48
# File 'lib/littlebird_api_client/response_types/graph.rb', line 46

def drop
  client.graph_drop(id: id)
end

#infoObject



50
51
52
# File 'lib/littlebird_api_client/response_types/graph.rb', line 50

def info
  client.graph_info(id: id)
end

#set_attributeObject



54
55
56
# File 'lib/littlebird_api_client/response_types/graph.rb', line 54

def set_attribute
  client.graph_set_attribute(opts.merge(id: id))
end