Class: VORuby::VOTables::VOTable::GALEXVOTable
- Inherits:
-
VORuby::VOTables::VOTable
- Object
- VORuby::VOTables::VOTable
- VORuby::VOTables::VOTable::GALEXVOTable
- Defined in:
- lib/voruby/votables/galex.rb
Instance Method Summary collapse
- #create_add_to_cart_link(link_ref, columns) ⇒ Object
-
#create_body(res, tbl, infer_add_to_cart_ref, add_to_cart_link_value, add_to_cart_link_ref, infer_access_ref, access_ref_link_value, access_ref_col, body_class, row_classes) ⇒ Object
Create body for HTML table [res:] The resource from which to extract the table in question.
-
#create_headers(res, tbl, infer_add_to_cart_ref, add_to_cart_header_value, infer_access_ref, access_ref_header_value, access_ref_col, header_class, id = nil) ⇒ Object
Create headers for HTML table [res:] The resource from which to extract the table in question.
-
#find_field_in_conf_file(key) ⇒ Object
Find a field in GALEX configuration file given a key.
-
#image_access_reference_columns ⇒ Object
Find the column number(s) associated with the VOX:imageAccessReference UCD.
- #image_date_obs_columns ⇒ Object
- #image_dec_columns ⇒ Object
- #image_depth_columns ⇒ Object
- #image_exptime_columns ⇒ Object
- #image_filter_columns ⇒ Object
- #image_instrument_columns ⇒ Object
- #image_ra_columns ⇒ Object
- #image_seeing_columns ⇒ Object
- #image_sky_columns ⇒ Object
- #image_survey_columns ⇒ Object
- #image_telescope_columns ⇒ Object
- #image_zeropoint_columns ⇒ Object
-
#initialize(votable) ⇒ GALEXVOTable
constructor
Our object’s contructor [votable:] The VOTable object.
-
#to_html(id = nil, add_to_cart_link_ref = nil, res = 0, tbl = 0, infer_add_to_cart_ref = true, add_to_cart_header_value = 'Add to Cart', add_to_cart_link_value = 'Add', infer_access_ref = true, access_ref_header_value = 'URL', access_ref_link_value = 'Retrieve', show_border = false, table_class = 'votable', header_class = 'header', body_class = 'body', row_classes = ['row1', 'row2']) ⇒ Object
Convert the specified table in the specified resource into an HTML table.
Constructor Details
#initialize(votable) ⇒ GALEXVOTable
Our object’s contructor
- votable:
-
The VOTable object
15 16 17 18 19 |
# File 'lib/voruby/votables/galex.rb', line 15 def initialize(votable) super(votable.id, votable.version, votable.description, votable.definitions, votable.coosys, votable.params, votable.info, votable.resources) end |
Instance Method Details
#create_add_to_cart_link(link_ref, columns) ⇒ Object
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'lib/voruby/votables/galex.rb', line 213 def create_add_to_cart_link(link_ref, columns) access_ref_col = image_access_reference_columns() link_ref << '&resource=' + CGI.escape(columns[access_ref_col].value).to_s if access_ref_col ra_col = image_ra_columns() link_ref << '&rac=' + columns[ra_col].value.to_s if ra_col dec_col = image_dec_columns() link_ref << '&decc=' + columns[dec_col].value.to_s if dec_col filter_col = image_filter_columns() link_ref << '&filter=' + columns[filter_col].value.to_s if filter_col date_obs_col = image_date_obs_columns() link_ref << '&date_obs=' + columns[date_obs_col].value.to_s if date_obs_col teles_col = image_telescope_columns() link_ref << '&telescop=' + columns[teles_col].value.to_s if teles_col survey_col = image_survey_columns() link_ref << '&survey=' + columns[survey_col].value.to_s if survey_col instrum_col = image_instrument_columns() link_ref << '&instrument=' + columns[instrum_col].value.to_s if instrum_col sky_col = image_sky_columns() link_ref << '&sky=' + columns[sky_col].value.to_s if sky_col zerop_col = image_zeropoint_columns() link_ref << '&zeropoint=' + columns[zerop_col].value.to_s if zerop_col seeing_col = image_seeing_columns() link_ref << '&seeing=' + columns[seeing_col].value.to_s if seeing_col depth_col = image_depth_columns() link_ref << '&depth=' + columns[depth_col].value.to_s if depth_col exptime_col = image_exptime_columns() link_ref << '&exptime=' + columns[exptime_col].value.to_s if exptime_col return link_ref end |
#create_body(res, tbl, infer_add_to_cart_ref, add_to_cart_link_value, add_to_cart_link_ref, infer_access_ref, access_ref_link_value, access_ref_col, body_class, row_classes) ⇒ Object
Create body for HTML table
- res:
-
The resource from which to extract the table in question.
- tbl:
-
The table inside the resource from which to extract the rows in question.
- infer_add_to_cart_ref:
- add_to_cart_link_value:
- add_to_cart_link_ref:
- infer_access_ref:
- add_to_cart_link_value:
-
Link the access reference URL associated with a row.
- access_ref_link_value:
-
For the access reference column, link this word.
- access_ref_col:
-
A valid SIA VOTable will only ever have one VOX:Image_AccessReference.
- body_class:
-
The class to assign the body of the HTML table.
- row_classes:
-
The class to assign the HTML table body rows.
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
# File 'lib/voruby/votables/galex.rb', line 265 def create_body(res, tbl, infer_add_to_cart_ref, add_to_cart_link_value, add_to_cart_link_ref, infer_access_ref, access_ref_link_value, access_ref_col, body_class, row_classes) tbody = "<tbody class=\"#{body_class}\">\n" row_count = 0 rows(res, tbl).each do |tr| tbody << "<tr class=\"#{row_classes[row_count % 2]}\">\n" # Specially mark up the first column to link to the image. columns = tr.tds() if infer_add_to_cart_ref archive = add_to_cart_link_ref.slice(add_to_cart_link_ref.index('&archive='), add_to_cart_link_ref.length) archive = archive.slice('&archive='.length, archive.length) archive = archive.slice(0, archive.index('&')) if archive.index('&') link_id = 'add_' + archive.to_s + '_' + row_count.to_s url = create_add_to_cart_link(add_to_cart_link_ref, columns) js = "new Ajax.Request('#{url}', " + " {method: 'post', " + " onComplete: function(request){Element.hide('#{link_id}');}});" tbody << "<td><a id=\"#{link_id}\" href=\"javascript:void(0);\" " + "onclick=\"#{js};return false;\"" + ">#{add_to_cart_link_value}</a></td>\n" end if infer_access_ref link_ref = columns[access_ref_col].value tbody << "<td><a href=\"#{link_ref}\">#{access_ref_link_value}</a></td>\n" end col_count = 0 columns.each do |td| tbody << "<td>#{td.value}</td>\n" if infer_access_ref and col_count != access_ref_col col_count += 1 end tbody << "</tr>\n" row_count += 1 end tbody << "</tbody>" return tbody end |
#create_headers(res, tbl, infer_add_to_cart_ref, add_to_cart_header_value, infer_access_ref, access_ref_header_value, access_ref_col, header_class, id = nil) ⇒ Object
Create headers for HTML table
- res:
-
The resource from which to extract the table in question.
- tbl:
-
The table inside the resource from which to extract the rows in question.
- infer_add_to_cart_ref:
- add_to_cart_header_value:
- infer_access_ref:
- add_to_cart_header_value:
-
Link the access reference URL associated with a row.
- access_ref_header_value:
-
For the access reference column, place this value in the header.
- access_ref_col:
-
A valid SIA VOTable will only ever have one VOX:Image_AccessReference.
- header_class:
-
The class to assign the header of the HTML table.
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 202 203 204 205 206 207 208 209 210 211 |
# File 'lib/voruby/votables/galex.rb', line 167 def create_headers(res, tbl, infer_add_to_cart_ref, add_to_cart_header_value, infer_access_ref, access_ref_header_value, access_ref_col, header_class, id=nil) headers = Array.new thead = "<thead class=\"#{header_class}\">\n" thead << "<tr>\n" if infer_add_to_cart_ref thead << "<th>#{add_to_cart_header_value}</th>\n" headers.push("<a href=\"javascript:void(0);\" onclick=\"siap.addAllRowsToCart('#{id}');\">*</a>") end if infer_access_ref thead << "<th>#{access_ref_header_value}</th>\n" headers.push(' ') end col_count = 0 fields(res, tbl).each do |field| field_archive = find_field_in_conf_file(field.ucd.value()) field_ucd = field_archive['ucd'] if infer_access_ref and col_count == access_ref_col headers[1] = field_ucd if field_ucd != 'nil' else thead << "<th>#{field_archive['name']}</th>\n" if field_ucd != 'nil' headers.push(field_ucd) else headers.push(' ') end end col_count += 1 end thead << " </tr>\n" thead << "<tr>\n" headers.each do |h| thead << "<th>#{h}</th>\n" end thead << "</tr>\n" thead << "</thead>" return thead end |
#find_field_in_conf_file(key) ⇒ Object
Find a field in GALEX configuration file given a key. Returns a hash with the field’s attributes
- key:
-
The key indexing on field’s attribute
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/voruby/votables/galex.rb', line 25 def find_field_in_conf_file(key) galex_field = {'id'=> nil, 'name'=> nil, 'ucd'=> nil} if key != nil GALEX_ARCHIVE_CONFIG.each do |archive| archive['votable_fields'].each do |field| if field['key'] == key galex_field['id'] = field['id'] if field['id'] != 'nil' galex_field['name'] = field['name'] if field['name'] != 'nil' galex_field['ucd'] = field['ucd'] if field['ucd'] != 'nil' break end end end end return galex_field end |
#image_access_reference_columns ⇒ Object
Find the column number(s) associated with the VOX:imageAccessReference UCD. Returns a list of column positions.
46 47 48 49 50 51 52 |
# File 'lib/voruby/votables/galex.rb', line 46 def image_access_reference_columns() ucd_access = find_field_in_conf_file('VOX:Image_AccessReference')['ucd'] if find_columns(ucd_access).first != nil find_columns(ucd_access).first end end |
#image_date_obs_columns ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/voruby/votables/galex.rb', line 78 def image_date_obs_columns #ucd_date_obs = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_date_obs).first != nil # find_columns(ucd_date_obs).first #end end |
#image_dec_columns ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/voruby/votables/galex.rb', line 62 def image_dec_columns ucd_dec = find_field_in_conf_file('POS_EQ_DEC_MAIN')['ucd'] if find_columns(ucd_dec).first != nil find_columns(ucd_dec).first end end |
#image_depth_columns ⇒ Object
134 135 136 137 138 139 140 |
# File 'lib/voruby/votables/galex.rb', line 134 def image_depth_columns #ucd_depth = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_depth).first != nil # find_columns(ucd_depth).first #end end |
#image_exptime_columns ⇒ Object
142 143 144 145 146 147 148 |
# File 'lib/voruby/votables/galex.rb', line 142 def image_exptime_columns #ucd_exptime = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_exptime).first != nil # find_columns(ucd_exptime).first #end end |
#image_filter_columns ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/voruby/votables/galex.rb', line 70 def image_filter_columns ucd_filter = find_field_in_conf_file('VOX:BandPass_ID')['ucd'] if find_columns(ucd_filter).first != nil find_columns(ucd_filter).first end end |
#image_instrument_columns ⇒ Object
102 103 104 105 106 107 108 |
# File 'lib/voruby/votables/galex.rb', line 102 def image_instrument_columns ucd_instrument = find_field_in_conf_file('VOX:INST_ID')['ucd'] if find_columns(ucd_instrument).first != nil find_columns(ucd_instrument).first end end |
#image_ra_columns ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/voruby/votables/galex.rb', line 54 def image_ra_columns ucd_ra = find_field_in_conf_file('POS_EQ_RA_MAIN')['ucd'] if find_columns(ucd_ra).first != nil find_columns(ucd_ra).first end end |
#image_seeing_columns ⇒ Object
126 127 128 129 130 131 132 |
# File 'lib/voruby/votables/galex.rb', line 126 def image_seeing_columns #ucd_seeing = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_seeing).first != nil # find_columns(ucd_seeing).first #end end |
#image_sky_columns ⇒ Object
110 111 112 113 114 115 116 |
# File 'lib/voruby/votables/galex.rb', line 110 def image_sky_columns #ucd_sky = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_sky).first != nil # find_columns(ucd_sky).first #end end |
#image_survey_columns ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/voruby/votables/galex.rb', line 94 def image_survey_columns ucd_survey = find_field_in_conf_file('VOX:Image_Title')['ucd'] if find_columns(ucd_survey).first != nil find_columns(ucd_survey).first end end |
#image_telescope_columns ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/voruby/votables/galex.rb', line 86 def image_telescope_columns #ucd_telescope = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_telescope).first != nil # find_columns(ucd_telescope).first #end end |
#image_zeropoint_columns ⇒ Object
118 119 120 121 122 123 124 |
# File 'lib/voruby/votables/galex.rb', line 118 def image_zeropoint_columns #ucd_zeropoint = find_field_in_conf_file('')['ucd'] #if find_columns(ucd_zeropoint).first != nil # find_columns(ucd_zeropoint).first #end end |
#to_html(id = nil, add_to_cart_link_ref = nil, res = 0, tbl = 0, infer_add_to_cart_ref = true, add_to_cart_header_value = 'Add to Cart', add_to_cart_link_value = 'Add', infer_access_ref = true, access_ref_header_value = 'URL', access_ref_link_value = 'Retrieve', show_border = false, table_class = 'votable', header_class = 'header', body_class = 'body', row_classes = ['row1', 'row2']) ⇒ Object
Convert the specified table in the specified resource into an HTML table.
- id:
-
The ID to assign to the HTML table as a whole.
- add_to_cart_link_ref:
- res:
-
The resource from which to extract the table in question.
- tbl:
-
The table inside the resource from which to extract the rows in question.
- infer_add_to_cart_ref:
- add_to_cart_header_value:
- add_to_cart_link_value:
- infer_access_ref:
- add_to_cart_header_value:
-
Link the access reference URL associated with a row.
- access_ref_header_value:
-
For the access reference column, place this value in the header.
- access_ref_link_value:
-
For the access reference column, link this word.
- show_border:
-
The boolean value to show HTML table border
- table_class:
-
The class to assign the HTML table as a whole.
- header_class:
-
The class to assign the header of the HTML table.
- body_class:
-
The class to assign the body of the HTML table.
- row_classes:
-
The class to assign the HTML table body rows.
341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 |
# File 'lib/voruby/votables/galex.rb', line 341 def to_html(id=nil, add_to_cart_link_ref=nil, res=0, tbl=0, infer_add_to_cart_ref=true, add_to_cart_header_value='Add to Cart', add_to_cart_link_value='Add', infer_access_ref=true, access_ref_header_value='URL', access_ref_link_value='Retrieve', show_border=false, table_class='votable', header_class='header', body_class='body', row_classes=['row1', 'row2']) begin # A valid SIA VOTable will only ever have one VOX:Image_AccessReference. access_ref_col = image_access_reference_columns() if access_ref_col # Create headers thead = create_headers(res, tbl, infer_add_to_cart_ref, add_to_cart_header_value, infer_access_ref, access_ref_header_value, access_ref_col, header_class, id) # Create body tbody = create_body(res, tbl, infer_add_to_cart_ref, add_to_cart_link_value, add_to_cart_link_ref, infer_access_ref, access_ref_link_value, access_ref_col, body_class, row_classes) return create_table(id, show_border, table_class, thead, tbody) else title = 'No Data' = 'VOTable not contains data.' return (table_class, header_class, body_class, row_classes, title, ) end rescue Exception => e title = 'Error' = @resources[0].info[0].text().to_s() table = (table_class, header_class, body_class, row_classes, title, ) end end |