Class: Redd::Models::Multireddit
- Inherits:
-
LazyModel
- Object
- BasicModel
- LazyModel
- Redd::Models::Multireddit
- Defined in:
- lib/redd/models/multireddit.rb
Overview
A multi.
Instance Attribute Summary
Attributes inherited from BasicModel
Class Method Summary collapse
-
.from_id(client, id) ⇒ Multireddit
Create a Multireddit from its path.
Instance Method Summary collapse
- #comments(**params) ⇒ Object
- #controversial(**params) ⇒ Object
- #gilded(**params) ⇒ Object
- #hot(**params) ⇒ Object
-
#listing(sort, **params) ⇒ Listing<Submission>
Get the appropriate listing.
- #new(**params) ⇒ Object
- #rising(**params) ⇒ Object
- #top(**params) ⇒ Object
Methods inherited from LazyModel
#force_load, #initialize, #method_missing, #respond_to_missing?, #to_h
Methods inherited from BasicModel
#initialize, #inspect, #method_missing, #respond_to_missing?, #to_ary, #to_h
Constructor Details
This class inherits a constructor from Redd::Models::LazyModel
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Redd::Models::LazyModel
Class Method Details
.from_id(client, id) ⇒ Multireddit
Create a Multireddit from its path.
13 14 15 |
# File 'lib/redd/models/multireddit.rb', line 13 def self.from_id(client, id) new(client, path: id) end |
Instance Method Details
#comments(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#controversial(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#gilded(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#hot(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#listing(sort, **params) ⇒ Listing<Submission>
Note:
The option :time only applies to the top and controversial sorts.
Get the appropriate listing.
30 31 32 33 |
# File 'lib/redd/models/multireddit.rb', line 30 def listing(sort, **params) params[:t] = params.delete(:time) if params.key?(:time) @client.model(:get, "#{get_attribute(:path)}#{sort}", params) end |
#new(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#rising(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |
#top(**params) ⇒ Object
44 45 46 |
# File 'lib/redd/models/multireddit.rb', line 44 %i(hot new top controversial comments rising gilded).each do |sort| define_method(sort) { |**params| listing(sort, **params) } end |