7d4da81272
* install rubocop * 1961 automatic rubocop fixes * update rubocop.yml to ignore half of the remaining cops * rubocop lint warnings * random other warnings fixed
71 lines
1.8 KiB
Ruby
71 lines
1.8 KiB
Ruby
Webhooks::Slack::Base = Struct.new(:event) do
|
|
include Routing
|
|
|
|
def username
|
|
'Metamaps Bot'
|
|
end
|
|
|
|
def icon_url
|
|
'https://pbs.twimg.com/profile_images/539300245029392385/dJ1bwnw7.jpeg'
|
|
end
|
|
|
|
def text
|
|
'something'
|
|
end
|
|
|
|
def attachments
|
|
[{
|
|
title: attachment_title,
|
|
text: attachment_text,
|
|
fields: attachment_fields,
|
|
fallback: attachment_fallback
|
|
}]
|
|
end
|
|
|
|
alias_method :read_attribute_for_serialization, :send
|
|
|
|
private
|
|
|
|
# def motion_vote_field
|
|
# {
|
|
# title: "Vote on this proposal",
|
|
# value: "#{proposal_link(eventable, "yes")} · " +
|
|
# "#{proposal_link(eventable, "abstain")} · " +
|
|
# "#{proposal_link(eventable, "no")} · " +
|
|
# "#{proposal_link(eventable, "block")}"
|
|
# }
|
|
# end
|
|
|
|
def view_map_on_metamaps(text = nil)
|
|
"<#{map_url(event.map)}|#{text || event.map.name}>"
|
|
end
|
|
|
|
# def view_discussion_on_loomio(params = {})
|
|
# { value: discussion_link(I18n.t(:"webhooks.slack.view_it_on_loomio"), params) }
|
|
# end
|
|
|
|
# def proposal_link(proposal, position = nil)
|
|
# discussion_link position || proposal.name, { proposal: proposal.key, position: position }
|
|
# end
|
|
|
|
# def discussion_link(text = nil, params = {})
|
|
# "<#{discussion_url(eventable.map, params)}|#{text || eventable.discussion.title}>"
|
|
# end
|
|
|
|
def eventable
|
|
@eventable ||= event.eventable
|
|
end
|
|
|
|
def author
|
|
@author ||= eventable.author
|
|
end
|
|
end
|
|
|
|
# webhooks:
|
|
# slack:
|
|
# motion_closed: "*%{name}* has closed"
|
|
# motion_closing_soon: "*%{name}* has a proposal closing in 24 hours"
|
|
# motion_outcome_created: "*%{author}* published an outcome in *%{name}*"
|
|
# motion_outcome_updated: "*%{author}* updated the outcome for *%{name}*"
|
|
# new_motion: "*%{author}* started a new proposal in *%{name}*"
|
|
# view_it_on_loomio: "View it on Loomio"
|