Class: CommonHack

Inherits:
Object
  • Object
show all
Defined in:
lib/commonhack.rb

Overview

graceful error handling

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ CommonHack

intitalizes the class



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/commonhack.rb', line 16

def initialize(url)


  if url.include? "http://" or url.include? "https://"
    body = open(url)
    contents = body.read

  else
    #its a local file, so use File.Read

    file = File.open("data.json", "rb")
    contents = file.read
  end

  @result = JSON.parse(contents)

  #make the  basic first level info accessible

  @username = @result["username"]
  @email = @result["email"]
  @lastUpdated = @result["lastUpdated"]

end

Instance Attribute Details

#emailObject (readonly)

makes these three fields accessable via dot notation



11
12
13
# File 'lib/commonhack.rb', line 11

def email
  @email
end

#lastUpdatedObject (readonly)

makes these three fields accessable via dot notation



11
12
13
# File 'lib/commonhack.rb', line 11

def lastUpdated
  @lastUpdated
end

#usernameObject (readonly)

makes these three fields accessable via dot notation



11
12
13
# File 'lib/commonhack.rb', line 11

def username
  @username
end

Instance Method Details

#bio(method) ⇒ Object

A method to help extract the bio part of the application “fields”, returns a list of fields



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/commonhack.rb', line 57

def bio(method)

  if method != "fields"

    return fetch("bio",method)

  else 

    return [
        "firstName",
        "lastName",
        "gender",
        "email",
        "phone",
        "dietaryRestrictions",
        "summary",
        "location",
        "websites",
        "resume",
        "picture"
    ]
  end

end

#education(method) ⇒ Object

These fields return arrays so they pass the array to the user, rather than looping through them



85
86
87
88
# File 'lib/commonhack.rb', line 85

def education(method)

  return @result["education"]
end

#fetch(parent, method) ⇒ Object

A helper method. All the names methods use it to interact with the named method



42
43
44
45
46
47
48
49
50
51
# File 'lib/commonhack.rb', line 42

def fetch(parent,method)

  item = @result[parent][method]
  if item != nil 
    return item
  else
    return "Error: Cannot find this field."
  end

end

#hackathonsObject

hackathons is the same thing



98
99
100
101
# File 'lib/commonhack.rb', line 98

def hackathons()

  return @result["hackathons"]
end

#projectsObject



103
104
105
106
# File 'lib/commonhack.rb', line 103

def projects()

  return @result["projects"]
end

#skillsObject



108
109
110
111
# File 'lib/commonhack.rb', line 108

def skills()

  return @result["skills"]
end

#workObject



91
92
93
94
# File 'lib/commonhack.rb', line 91

def work()

  return @result["work"]
end