Sha256: dfbeef14cd9bc85f57f8ee6862d064fe78644ac866fd8757e420f9005176448c
Contents?: true
Size: 1.78 KB
Versions: 3
Compression:
Stored size: 1.78 KB
Contents
# frozen_string_literal: true require "json" module MeetupOrbit module Interactions::Events class Rsvp def initialize(rsvp:, orbit_workspace:, orbit_api_key:) @rsvp = rsvp @orbit_workspace = orbit_workspace @orbit_api_key = orbit_api_key after_initialize! end def after_initialize! OrbitActivities::Request.new( api_key: @orbit_api_key, workspace_id: @orbit_workspace, user_agent: "community-ruby-meetup-orbit/#{MeetupOrbit::VERSION}", action: "new_activity", body: construct_body.to_json ) end def construct_body hash = { activity: { activity_type: "meetup:rsvp", tags: ["channel:meetup"], title: "New RSVP for #{@rsvp[:event]}", description: construct_description, occurred_at: @rsvp[:occurred_at], key: @rsvp[:id], link: @rsvp[:link], member: { name: @rsvp[:member_name] } }, identity: { source: "meetup", name: @rsvp[:member_name], uid: @rsvp[:member_id] } } end def construct_description <<~HEREDOC #{@rsvp[:member_name]} has registered for #{@rsvp[:event]} in the #{@rsvp[:group]} Meetup group HEREDOC end end end end
Version data entries
3 entries across 3 versions & 1 rubygems