Class: AddEvent::Url

Inherits:
Object
  • Object
show all
Defined in:
lib/add_event/url.rb

Constant Summary collapse

URL_TEMPLATE =
Addressable::Template.new("https://addevent.to/dir/{?#{Params::KEYS.join(',')}}").freeze

Instance Method Summary collapse

Constructor Details

#initialize(title:, starts_at:, ends_at:, options: {}) ⇒ AddEvent::Url

Creates an AddEvent URL

Parameters:

  • title (String)
  • starts_at (DateTime)

    The DateTime of when the event begins.

  • ends_at (DateTime)

    The DateTime of when the event ends.

  • options (Hash) (defaults to: {})


23
24
25
26
27
28
29
30
# File 'lib/add_event/url.rb', line 23

def initialize(title:, starts_at:, ends_at:, options: {})
  @title = title
  @starts_at = starts_at
  @ends_at = ends_at
  @params = AddEvent::Params.new(options.merge(title: title,
                                               starts_at: starts_at,
                                               ends_at: ends_at))
end

Instance Method Details

#to_sString

Returns the AddEvent URL as a string

Returns:

  • (String)


37
38
39
# File 'lib/add_event/url.rb', line 37

def to_s
  URL_TEMPLATE.expand(@params.to_h).to_s
end