Class: Roebe::NDownloadsOnRubygemsOrg
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/n_downloads_on_rubygems_org.rb
Overview
Roebe::NDownloadsOnRubygemsOrg
Constant Summary
collapse
- PROFILE_URL =
#
PROFILE_URL
My Profile.
#
'https://rubygems.org/profiles/58718'
- USE_THIS_REGEX =
#
USE_THIS_REGEX
This is the regex that shall match to the amount of gem downloads.
The rubular-regex for this can be found here:
http://rubular.com/r/mTw2P5Va3q
#
/<h2 id="downloads_count" class="gem__downloads">\s*(\d?,?\d+,?\d+)\s*<\/h2>/
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
-
.return_number ⇒ Object
# === Roebe::NDownloadsOnRubygemsOrg.return_number ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
45
46
47
48
49
50
51
52
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 45
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
run if run_already
end
|
Class Method Details
.return_number ⇒ Object
#
Roebe::NDownloadsOnRubygemsOrg.return_number
#
237
238
239
240
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 237
def self.return_number
_ = NDownloadsOnRubygemsOrg.new(:be_quiet)
_.number?
end
|
Instance Method Details
#apply_regex_match ⇒ Object
206
207
208
209
210
211
212
213
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 206
def apply_regex_match
if dataset?.include? 'downloads_count'
@dataset =~ regex?
@result = $1.to_s.dup.delete(',')
else
opne 'We do not include the ID downloads_count.'
end
end
|
#check_commandline_arguments ⇒ Object
#
check_commandline_arguments
#
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 132
def check_commandline_arguments
case input? when /-?-?help$/
e 'You can also create a gruff picture.'
e 'pass the argument --gruff to this script.'
exit
when '--gruff','GRUFF'
create_gruff_image
exit
end
end
|
122
123
124
125
126
127
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 122
def
case input? when 'be_quiet'
@report_result = false
end
end
|
#create_gruff_image ⇒ Object
#
create_gruff_image
To invoke this method, do:
ndownloads --gruff
#
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 158
def create_gruff_image
require 'image_paradise'
require 'roebe/requires/failsafe_require_of_beautiful_url.rb'
title = 'Downloads of my rubygems'
store_here = '/Depot/Temp/downloads_of_my_rubygems.png'
file = File.readlines(BeautifulUrl[:ruby].first)
dataset = file[0..50].select {|line| line.start_with? '# '}
dataset.each {|line|
e 'Must append this still.'
e 'And append: "My gems:"'
}
dataset = usher.dataset.split("\n")
dataset.map! {|line|
line.delete!('#')
line.strip!
line.gsub!(/ gem downloads reached:/,'')
line
}
hash = Hash[*dataset]
keys = hash.keys.map {|entry| entry.delete('.').to_f }
e 'Showing the hash dataset:'
pp hash
g = ImageParadise::Gruff::SideStackedBar.new
g.title = title
g.labels = {
0 => keys[0],
1 => keys[1],
2 => keys[2],
3 => keys[3],
4 => keys[4],
5 => keys[5],
6 => keys[6],
7 => keys[7],
}
hash.each { |inner_title, value|
g.data(inner_title, value)
}
g.minimum_value = 0
g.write(store_here)
e sfile(' '+store_here)
end
|
#dataset? ⇒ Boolean
108
109
110
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 108
def dataset?
@dataset
end
|
#grab_dataset ⇒ Object
101
102
103
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 101
def grab_dataset
@dataset = URI.open(url?).read
end
|
87
88
89
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 87
def input?
@input
end
|
#n_downloads? ⇒ Boolean
Also known as:
number?
115
116
117
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 115
def n_downloads?
@result
end
|
#regex? ⇒ Boolean
71
72
73
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 71
def regex?
USE_THIS_REGEX
end
|
#report_result ⇒ Object
218
219
220
221
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 218
def report_result
e 'There have been '+orange(n_downloads?.to_s)+
' downloads of my gems so far.'
end
|
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 57
def reset
super()
infer_the_namespace
@url = PROFILE_URL
@result = nil @report_result = true
end
|
226
227
228
229
230
231
232
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 226
def run
check_commandline_arguments
grab_dataset apply_regex_match
report_result if @report_result
end
|
78
79
80
81
82
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 78
def set_input(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup if i
@input = i
end
|
#url? ⇒ Boolean
94
95
96
|
# File 'lib/roebe/classes/n_downloads_on_rubygems_org.rb', line 94
def url?
@url
end
|