Class: BaseProvider Abstract
- Inherits:
-
Object
- Object
- BaseProvider
- Defined in:
- lib/cal_invite/providers/base_provider.rb
Overview
Subclass and override #generate to implement a calendar provider
app/lib/base_provider.rb Base class for calendar providers that implements common functionality and defines the interface that all providers must implement.
Direct Known Subclasses
CalInvite::Providers::Google, CalInvite::Providers::Ical, CalInvite::Providers::Ics, CalInvite::Providers::IcsContent, CalInvite::Providers::Office365, CalInvite::Providers::Outlook, CalInvite::Providers::Yahoo
Instance Attribute Summary collapse
-
#event ⇒ Object
readonly
Returns the value of attribute event.
-
#method ⇒ Object
readonly
Returns the value of attribute method.
Instance Method Summary collapse
-
#generate ⇒ String
abstract
Generate a calendar URL or content for the event.
-
#initialize(event, method: :publish) ⇒ BaseProvider
constructor
Initialize a new calendar provider.
Constructor Details
#initialize(event, method: :publish) ⇒ BaseProvider
Initialize a new calendar provider
16 17 18 19 |
# File 'lib/cal_invite/providers/base_provider.rb', line 16 def initialize(event, method: :publish) @event = event @method = method end |
Instance Attribute Details
#event ⇒ Object (readonly)
Returns the value of attribute event.
9 10 11 |
# File 'lib/cal_invite/providers/base_provider.rb', line 9 def event @event end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
9 10 11 |
# File 'lib/cal_invite/providers/base_provider.rb', line 9 def method @method end |
Instance Method Details
#generate ⇒ String
Generate a calendar URL or content for the event. This method must be implemented by all provider subclasses.
27 28 29 |
# File 'lib/cal_invite/providers/base_provider.rb', line 27 def generate raise NotImplementedError, "#{self.class} must implement #generate" end |