Class: GreenStripes::Search
- Inherits:
-
Object
- Object
- GreenStripes::Search
- Defined in:
- lib/greenstripes.rb,
ext/greenstripes/greenstripes.c
Class Method Summary collapse
-
.new(session, query, offset, count) ⇒ nil
Returns a new search object.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #album(index) ⇒ nil
- #albums ⇒ Object
- #artist(index) ⇒ nil
- #artists ⇒ Object
-
#did_you_mean ⇒ String?
Returns the “did you mean” suggestion for the search object, or nil if no suggestion is available.
-
#error ⇒ Object
Returns one of the constants defined in Error.
-
#initialize(*args) ⇒ Search
constructor
:nodoc:.
-
#loaded? ⇒ Boolean
Returns true if the search object is loaded, false otherwise.
- #num_albums ⇒ Fixnum?
- #num_artists ⇒ Fixnum?
- #num_tracks ⇒ Fixnum?
-
#query ⇒ String?
Returns the query for the search object.
- #to_link ⇒ Object
-
#total_tracks ⇒ Fixnum?
Returns the total number of track hits for the search query.
- #track(index) ⇒ nil
- #tracks ⇒ Object
Constructor Details
#initialize(*args) ⇒ Search
:nodoc:
65 66 |
# File 'lib/greenstripes.rb', line 65 def initialize(*args) # :nodoc: end |
Class Method Details
.new(session, query, offset, count) ⇒ nil
Returns a new search object.
518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 |
# File 'ext/greenstripes/greenstripes.c', line 518
static VALUE search_new(VALUE klass, VALUE session, VALUE query, VALUE offset, VALUE count)
{
// TODO: search callback should not be hardcoded
sp_session *sess;
Data_Get_Struct(session, sp_session, sess);
sp_search *search = NULL;
search = sp_search_create(sess,
StringValuePtr(query),
FIX2INT(offset),
FIX2INT(count),
0,
100,
0,
100,
search_complete_callback,
NULL);
if(!search)
return Qnil;
VALUE search_value = Data_Wrap_Struct(class_search, NULL, search_free, search);
VALUE argv[4] = {session, query, offset, count};
rb_obj_call_init(search_value, 4, argv);
return search_value;
}
|
Instance Method Details
#==(other) ⇒ Object
72 73 74 |
# File 'lib/greenstripes.rb', line 72 def ==(other) self.to_link == other.to_link end |
#album(index) ⇒ nil
613 614 615 616 617 618 619 620 621 |
# File 'ext/greenstripes/greenstripes.c', line 613
static VALUE search_album(VALUE self, VALUE index)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int i = FIX2INT(index);
sp_album *album = NULL;
album = sp_search_album(search, i);
return album ? Data_Wrap_Struct(class_album, NULL, NULL, album) : Qnil;
}
|
#albums ⇒ Object
80 81 82 |
# File 'lib/greenstripes.rb', line 80 def albums FakeArray.new(self, :albums) end |
#artist(index) ⇒ nil
587 588 589 590 591 592 593 594 595 |
# File 'ext/greenstripes/greenstripes.c', line 587
static VALUE search_artist(VALUE self, VALUE index)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int i = FIX2INT(index);
sp_artist *artist = NULL;
artist = sp_search_artist(search, i);
return artist ? Data_Wrap_Struct(class_artist, NULL, NULL, artist) : Qnil;
}
|
#artists ⇒ Object
76 77 78 |
# File 'lib/greenstripes.rb', line 76 def artists FakeArray.new(self, :artists) end |
#did_you_mean ⇒ String?
Returns the “did you mean” suggestion for the search object, or nil if no suggestion is available.
681 682 683 684 685 686 687 |
# File 'ext/greenstripes/greenstripes.c', line 681
static VALUE search_did_you_mean(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
const char *d = sp_search_did_you_mean(search);
return d ? rb_str_new2(d) : Qnil;
}
|
#error ⇒ Object
Returns one of the constants defined in Error.
563 564 565 566 567 568 569 |
# File 'ext/greenstripes/greenstripes.c', line 563
static VALUE search_error(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
sp_error error = sp_search_error(search);
return INT2FIX(error);
}
|
#loaded? ⇒ Boolean
Returns true if the search object is loaded, false otherwise.
551 552 553 554 555 556 |
# File 'ext/greenstripes/greenstripes.c', line 551
static VALUE search_loaded(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
return sp_search_is_loaded(search) ? Qtrue : Qfalse;
}
|
#num_albums ⇒ Fixnum?
601 602 603 604 605 606 607 |
# File 'ext/greenstripes/greenstripes.c', line 601
static VALUE search_num_albums(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int n = sp_search_num_albums(search);
return (n >= 0) ? INT2FIX(n) : Qnil;
}
|
#num_artists ⇒ Fixnum?
575 576 577 578 579 580 581 |
# File 'ext/greenstripes/greenstripes.c', line 575
static VALUE search_num_artists(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int n = sp_search_num_artists(search);
return (n >= 0) ? INT2FIX(n) : Qnil;
}
|
#num_tracks ⇒ Fixnum?
627 628 629 630 631 632 633 |
# File 'ext/greenstripes/greenstripes.c', line 627
static VALUE search_num_tracks(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int n = sp_search_num_tracks(search);
return (n >= 0) ? INT2FIX(n) : Qnil;
}
|
#query ⇒ String?
Returns the query for the search object.
667 668 669 670 671 672 673 |
# File 'ext/greenstripes/greenstripes.c', line 667
static VALUE search_query(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
const char *q = sp_search_query(search);
return q ? rb_str_new2(q) : Qnil;
}
|
#total_tracks ⇒ Fixnum?
Returns the total number of track hits for the search query.
654 655 656 657 658 659 660 |
# File 'ext/greenstripes/greenstripes.c', line 654
static VALUE search_total_tracks(VALUE self)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int n = sp_search_total_tracks(search);
return (n >= 0) ? INT2FIX(n) : Qnil;
}
|
#track(index) ⇒ nil
639 640 641 642 643 644 645 646 647 |
# File 'ext/greenstripes/greenstripes.c', line 639
static VALUE search_track(VALUE self, VALUE index)
{
sp_search *search;
Data_Get_Struct(self, sp_search, search);
int i = FIX2INT(index);
sp_track *track = NULL;
track = sp_search_track(search, i);
return track ? Data_Wrap_Struct(class_track, NULL, NULL, track) : Qnil;
}
|