Class: Geminfo::Stats

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

Overview

Class name

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Stats

initialize all instance variables



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/geminfo.rb', line 20

def initialize(name)
	#Converts gemname to lowercase
	@gemname = name.downcase

	#parse links
	@link = 'http://rubygems.org/api/v1/gems/' + @gemname + ".json"

	#Exception handling
	begin
		@page_content = Net::HTTP.get(URI.parse(@link))
	rescue
		abort "Internet Connection cannot be established"
	end
	#Exception handling
	begin
		@data_file = JSON.parse(@page_content)
	rescue
		abort "Check you have entered the right Gem name"
	end	
end

Instance Method Details

#authorsObject



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

def authors
	#returns gem's authors' names
	@data_file["authors"]
end

#bugURLObject



124
125
126
127
# File 'lib/geminfo.rb', line 124

def bugURL
	#returns gem's bug tracking URL
	@data_file["bug_tracker_uri"]
end

#docURLObject



109
110
111
112
# File 'lib/geminfo.rb', line 109

def docURL
	#returns gem's documentation URL
	@data_file["documentation_uri"]
end

#gemURLObject



89
90
91
92
# File 'lib/geminfo.rb', line 89

def gemURL
	#returns gem's URL
	@data_file["gem_uri"]
end

#homepageObject



99
100
101
102
# File 'lib/geminfo.rb', line 99

def homepage
	#returns gem's dedicated website 
	@data_file["homepage_uri"]
end

#infoObject



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

def info
	#returns gem's description
	@data_file["info"]
end

#latestObject



53
54
55
56
57
# File 'lib/geminfo.rb', line 53

def latest
	#returns Gem's total download for latest version 
	total = @data_file["version_downloads"]
	total = total.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
end

#latestversionObject



59
60
61
62
# File 'lib/geminfo.rb', line 59

def latestversion
	#returns latest version of gem 
	@data_file["version"]
end

#licensesObject



74
75
76
77
# File 'lib/geminfo.rb', line 74

def licenses
	#returns gem's licenses
	@data_file["licenses"]
end

#mailURLObject



114
115
116
117
# File 'lib/geminfo.rb', line 114

def mailURL
	#returns gem's mailing list URL
	@data_file["mailing_list_uri"]
end

#metadataObject



79
80
81
82
# File 'lib/geminfo.rb', line 79

def 
	#returns gem's metadata
	return @data_file["metadata"].length == 0? "empty metadata" : 
end

#nameObject

Methods to return values



42
43
44
45
# File 'lib/geminfo.rb', line 42

def name
	#returns gem name
	return @gemname
end

#projectURLObject



94
95
96
97
# File 'lib/geminfo.rb', line 94

def projectURL
	#returns gem's project URL
	@data_file["project_uri"]
end

#shaObject



84
85
86
87
# File 'lib/geminfo.rb', line 84

def sha
	#returns gem's Secure Hash Algoruthm 256 Checksum
	@data_file["sha"]
end

#sourceURLObject



119
120
121
122
# File 'lib/geminfo.rb', line 119

def sourceURL
	#returns gem's source-code URL
	@data_file["source_code_uri"]
end

#totalObject



47
48
49
50
51
# File 'lib/geminfo.rb', line 47

def total
	#return Gem's total downloads for all versions
	total = @data_file["downloads"]
	total = total.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
end

#wikiURLObject



104
105
106
107
# File 'lib/geminfo.rb', line 104

def wikiURL
	#returns gem's wiki URL
	@data_file["wiki_uri"]
end