Module: Caffeinate::Dripper::Campaign::ClassMethods
- Defined in:
- lib/caffeinate/dripper/campaign.rb
Instance Method Summary collapse
-
#caffeinate_campaign ⇒ Object
Returns the ‘Caffeinate::Campaign` object for the Campaign.
-
#campaign(slug) ⇒ Object
Sets the campaign on the Dripper and resets any existing ‘@caffeinate_campaign`.
-
#campaign_slug ⇒ Object
The defined slug or the inferred slug.
Instance Method Details
#caffeinate_campaign ⇒ Object
Returns the ‘Caffeinate::Campaign` object for the Campaign
37 38 39 40 41 42 43 44 |
# File 'lib/caffeinate/dripper/campaign.rb', line 37 def caffeinate_campaign return @caffeinate_campaign if @caffeinate_campaign.present? @caffeinate_campaign = ::Caffeinate::Campaign.find_by(slug: campaign_slug) return @caffeinate_campaign if @caffeinate_campaign raise(::ActiveRecord::RecordNotFound, "Unable to find ::Caffeinate::Campaign with slug #{campaign_slug}.") end |
#campaign(slug) ⇒ Object
Sets the campaign on the Dripper and resets any existing ‘@caffeinate_campaign`
class OrdersDripper
campaign :order_drip
end
If this is not explicitly set, we will infer it with
self.name.delete_suffix("Campaign").underscore
30 31 32 33 34 |
# File 'lib/caffeinate/dripper/campaign.rb', line 30 def campaign(slug) @caffeinate_campaign = nil @_campaign_slug = slug.to_sym Caffeinate.register_dripper(@_campaign_slug, name) end |
#campaign_slug ⇒ Object
The defined slug or the inferred slug
47 48 49 |
# File 'lib/caffeinate/dripper/campaign.rb', line 47 def campaign_slug @_campaign_slug || inferred_campaign_slug end |