Class: BaseFinder

Inherits:
Object
  • Object
show all
Includes:
AbstractInterface
Defined in:
lib/base_finder.rb

Direct Known Subclasses

HeadstartFinder, KickstarterFinder

Instance Method Summary collapse

Methods included from AbstractInterface

included

Instance Method Details

#days_to_goObject



49
50
51
52
53
# File 'lib/base_finder.rb', line 49

def days_to_go
  ((deadline - Time.new)/(60*60*24)).floor
  rescue => e
    ""
end

#goalObject



77
78
79
# File 'lib/base_finder.rb', line 77

def goal
  BaseFinder.api_not_implemented(self)
end

#num_of_backersObject



61
62
63
# File 'lib/base_finder.rb', line 61

def num_of_backers
  BaseFinder.api_not_implemented(self)
end

#pledgedObject



69
70
71
# File 'lib/base_finder.rb', line 69

def pledged
  BaseFinder.api_not_implemented(self)
end

#precentageObject

Calculated



41
42
43
44
45
46
47
# File 'lib/base_finder.rb', line 41

def precentage
  p = pledged.gsub!(/[^0-9A-Za-z]/, '').to_f
  g = goal.gsub!(/[^0-9A-Za-z]/, '').to_f
  ((p/g)*100).round
  rescue => e
    ""
end

#project_nameObject

Implementation



57
58
59
# File 'lib/base_finder.rb', line 57

def project_name
  BaseFinder.api_not_implemented(self)
end

#reloadObject



21
22
23
# File 'lib/base_finder.rb', line 21

def reload
  @body = Sites::get_html(@url)
end

#set(new_value) ⇒ Object

Base



16
17
18
19
# File 'lib/base_finder.rb', line 16

def set(new_value)
  @url = new_value
  @body = Sites::get_html(new_value)
end

#test_printObject



73
74
75
# File 'lib/base_finder.rb', line 73

def test_print
  BaseFinder.api_not_implemented(self)
end

#to_jsonObject



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/base_finder.rb', line 25

def to_json
  my_hash = {:name => project_name,
            :precentage => precentage,
            :deadline => deadline,
            :days_to_go => days_to_go,
            :backers_count => num_of_backers,
            :twitter_link => twitter_link,
            :pledged => pledged,
            :goal => goal}
  return JSON.generate(my_hash)
  rescue => e
    ""
end


65
66
67
# File 'lib/base_finder.rb', line 65

def twitter_link
  BaseFinder.api_not_implemented(self)
end