Sha256: 6e6c52d0e496fe67a576201719978fb93cf2ff43dbd6ea22474465bc86589e04

Contents?: true

Size: 1.97 KB

Versions: 49

Compression:

Stored size: 1.97 KB

Contents

# -*- encoding : utf-8 -*-
class Card; module Set; class All; module Comment; extend Card::Set
# ~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/standard/set/all/comment.rb ~~
event :add_comment, :prepare_to_store,
      on: :save, when: proc { |c| c.comment } do
  cleaned_comment =
    comment.split(/\n/).map do |line|
      "<p>#{line.strip.empty? ? '&nbsp;' : line}</p>"
    end * "\n"

  signature =
    if Auth.signed_in?
      "[[#{Auth.current.name}]]"
    else
      Env.session[:comment_author] = comment_author if Env.session
      "#{comment_author} (Not signed in)"
    end

  self.content = %(
    #{content}
    #{'<hr>' unless content.blank?}
    #{cleaned_comment}
    <div class="w-comment-author">--#{signature}.....#{Time.zone.now}</div>
  )
end

format do
  view :comment_box,
       denial: :blank, tags: :unknown_ok,
       perms: ->(r) { r.card.ok? :comment } do |_args|
    <<-HTML
      <div class="comment-box nodblclick">#{comment_form}</div>
    HTML
  end

  def comment_form
    card_form :update do
      %(
        #{hidden_field_tag('card[name]', card.name) if card.new_card?
          # FIXME: wish we had more generalized solution for names.
          # without this, nonexistent cards will often take left's linkname.
          # (needs test)
        }
        #{text_area :comment, rows: 3}
        #{comment_buttons}
      )
    end
  end

  def comment_buttons
    <<-HTML
      <div class="comment-buttons">
        #{unless Auth.signed_in?
            card.comment_author = session[:comment_author] ||
                                  params[:comment_author] || 'Anonymous' # ENGLISH
            %(<label>My Name is:</label> #{text_field :comment_author})
          end}
        #{submit_button text: 'Comment', type: :submit,
                        disable_with: 'Commenting'}
      </div>
    HTML
  end
end


# ~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/standard/set/all/comment.rb ~~
end;end;end;end;

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
card-1.99.6 tmpsets/set/mod016-standard/all/comment.rb
card-1.99.5 tmpsets/set/mod016-standard/all/comment.rb
card-1.97.0.1 tmpsets/set/mod016-standard/all/comment.rb
card-1.97.0 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.8 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.7 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.6 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.5 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.4 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.3 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.2 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.1 tmpsets/set/mod016-standard/all/comment.rb
card-1.96.0 tmpsets/set/mod016-standard/all/comment.rb
card-1.95.3 tmpsets/set/mod016-standard/all/comment.rb
card-1.95.2 tmpsets/set/mod016-standard/all/comment.rb
card-1.95.1 tmpsets/set/mod016-standard/all/comment.rb
card-1.95.0 tmpsets/set/mod016-standard/all/comment.rb
card-1.94.1 tmpsets/set/mod016-standard/all/comment.rb
card-1.94.0 tmpsets/set/mod016-standard/all/comment.rb
card-1.93.13 tmpsets/set/mod016-standard/all/comment.rb