Sha256: 5a037320eb54e4e6cbdffb97b6fe8d1a14f28fc03b39b9f026480ea6d425dd15
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
# frozen_string_literal: true module Thredded # Creates a new messageboard and seeds it with a topic. class CreateMessageboard # @param messageboard [Thredded::Messageboard] # @param user [Thredded.user_class] def initialize(messageboard, user) @messageboard = messageboard @user = user end # @return [boolean] true if the messageboard was created and seeded with a topic successfully. def run Thredded::Messageboard.transaction do fail ActiveRecord::Rollback unless @messageboard.save topic = Thredded::Topic.create!( messageboard: @messageboard, user: @user, title: first_topic_title ) Thredded::Post.create!( messageboard: @messageboard, user: @user, postable: topic, content: first_topic_content ) true end end def first_topic_title I18n.t('thredded.messageboard_first_topic.title') end def first_topic_content <<~MARKDOWN #{I18n.t('thredded.messageboard_first_topic.content', thredded_version: Thredded::VERSION)} MARKDOWN end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
thredded-1.1.0 | app/commands/thredded/create_messageboard.rb |
thredded-1.0.1 | app/commands/thredded/create_messageboard.rb |