lib/cal_invite.rb in cal-invite-0.1.3 vs lib/cal_invite.rb in cal-invite-0.1.4
- old
+ new
@@ -9,20 +9,53 @@
require 'cal_invite/configuration'
require 'cal_invite/caching'
require 'cal_invite/event'
require 'cal_invite/providers'
+# The main module for the CalInvite gem. This module provides functionality for generating
+# calendar invites across different calendar providers.
+#
+# @example Configure the gem
+# CalInvite.configure do |config|
+# config.timezone = 'America/New_York'
+# config.cache_store = :memory_store
+# end
+#
+# @example Create and generate a calendar URL
+# event = CalInvite::Event.new(
+# title: "Team Meeting",
+# start_time: Time.now,
+# end_time: Time.now + 3600
+# )
+# google_url = event.generate_calendar_url(:google)
+#
module CalInvite
class Error < StandardError; end
class << self
+ # Returns the current configuration object.
+ # @return [CalInvite::Configuration] The current configuration object
attr_accessor :configuration
+ # Configures the CalInvite gem through a block.
+ #
+ # @yield [config] The configuration object to be modified
+ # @yieldparam config [CalInvite::Configuration] The configuration object
+ # @return [void]
+ #
+ # @example
+ # CalInvite.configure do |config|
+ # config.timezone = 'UTC'
+ # config.cache_store = :memory_store
+ # end
def configure
self.configuration ||= Configuration.new
yield(configuration)
end
+ # Resets the configuration to default values.
+ #
+ # @return [void]
def reset_configuration!
self.configuration = Configuration.new
end
# Include caching methods at the module level