Class: Skynet::Harvest

Inherits:
Object
  • Object
show all
Defined in:
lib/skynet-core/harvest.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(network_type) ⇒ Harvest

Returns a new instance of Harvest.



15
16
17
18
# File 'lib/skynet-core/harvest.rb', line 15

def initialize(network_type)
  @network_type = network_type
  @logger = Hash.new
end

Instance Attribute Details

#bufferObject (readonly)

Returns the value of attribute buffer.



11
12
13
# File 'lib/skynet-core/harvest.rb', line 11

def buffer
  @buffer
end

#buffer_mining_termsObject (readonly)

Returns the value of attribute buffer_mining_terms.



11
12
13
# File 'lib/skynet-core/harvest.rb', line 11

def buffer_mining_terms
  @buffer_mining_terms
end

#costObject (readonly)

Returns the value of attribute cost.



11
12
13
# File 'lib/skynet-core/harvest.rb', line 11

def cost
  @cost
end

#loggerObject

Returns the value of attribute logger.



13
14
15
# File 'lib/skynet-core/harvest.rb', line 13

def logger
  @logger
end

#resultsObject (readonly)

Returns the value of attribute results.



11
12
13
# File 'lib/skynet-core/harvest.rb', line 11

def results
  @results
end

Instance Method Details

#base_process(&block) ⇒ Object



20
21
22
23
24
25
# File 'lib/skynet-core/harvest.rb', line 20

def base_process(&block)
  @buffer = Cyberdyne.new @network_type
  if @buffer.have_track_networks?
    internal_process &block
  end
end

#base_specific_track_process(track_id, &block) ⇒ Object



27
28
29
30
31
32
# File 'lib/skynet-core/harvest.rb', line 27

def base_specific_track_process(track_id, &block)
  @buffer = Cyberdyne.new @network_type
  if @buffer.specific_track(track_id)
    internal_process &block
  end
end

#cost_calculationObject

O custo do monitoramento é calculado por quantidade de sinônimos mutiplicado pelo total de termos de mineração



36
37
38
39
40
41
# File 'lib/skynet-core/harvest.rb', line 36

def cost_calculation
  minings = @buffer_mining_terms.size
  search_term = 0
  @buffer_mining_terms.each{|t| search_term += t.search_terms.size}
  @cost = minings * search_term
end

#findObject



58
59
60
# File 'lib/skynet-core/harvest.rb', line 58

def find
  raise "Abstract method called!"
end

#generate_regex(terms, boundarie = "", remove_accent = false) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/skynet-core/harvest.rb', line 43

def generate_regex(terms, boundarie = "", remove_accent = false)
  output = ""
  terms.each do |t|
    t = t.removeaccents if remove_accent
    output << "#{boundarie}#{t.gsub(/\+|\-|\/|\|\?|\*|\\|\|/,'')}"
    output += "£"
  end
  unless output.empty?
    output.gsub!(/£$/,"")
    output.gsub!("£","|")
  end

  "(?i)(#{output})"
end