class Komonjo::Model::Message

slacke Message

Attributes

channel[RW]
edited[RW]
markdown[R]

for jsonize

subtype[RW]
text[RW]
ts[RW]
type[RW]
user[RW]

Public Class Methods

create(hash) click to toggle source
# File lib/komonjo/models/message.rb, line 11
def self.create(hash)
  new.tap do |e|
    hash.each { |k, v| e.instance_variable_set("@#{k}", v) }
  end
end

Public Instance Methods

first_partial_message() click to toggle source
# File lib/komonjo/models/message.rb, line 30
def first_partial_message
  @first_partial_message ||= PartialMessageFactory.build(text)
end
icon_markdown() click to toggle source
# File lib/komonjo/models/message.rb, line 42
def icon_markdown
  "* ![#{@user.name} icon](#{@user.profile.image_48})\n"
end
name_markdown() click to toggle source
# File lib/komonjo/models/message.rb, line 46
def name_markdown
  "\t- #{@user.name}\n"
end
partial_messages() click to toggle source
# File lib/komonjo/models/message.rb, line 17
def partial_messages
  @partial_messages ||=
    begin
      ret = []
      tmp = first_partial_message
      while tmp
        ret << tmp
        tmp = tmp.next
      end
      ret
    end
end
text_markdown() click to toggle source
# File lib/komonjo/models/message.rb, line 54
def text_markdown
  t = partial_messages.map(&:markdown).join
  "\t- #{t}\n"
end
timestamp() click to toggle source
# File lib/komonjo/models/message.rb, line 34
def timestamp
  Time.at(@ts.to_f).strftime('%Y-%m-%d %H:%M:%S')
end
to_json(*args) click to toggle source
# File lib/komonjo/models/message.rb, line 59
def to_json(*args)
  @markdown = to_markdown
  to_json_org(args)
end
Also aliased as: to_json_org
to_json_org(*args)
Alias for: to_json
to_markdown() click to toggle source
# File lib/komonjo/models/message.rb, line 38
def to_markdown
  icon_markdown + name_markdown + ts_markdown + text_markdown
end
ts_markdown() click to toggle source
# File lib/komonjo/models/message.rb, line 50
def ts_markdown
  "\t- #{timestamp}\n"
end