Sha256: 60c940e8f7fa7b49c037d3c3e79f005138f79751bc665dff14ee856bf683943f

Contents?: true

Size: 875 Bytes

Versions: 1

Compression:

Stored size: 875 Bytes

Contents

require 'yinx'

class Yinx::NoteMeta
  attr_accessor :dump_id, :dump_at, :batches

  def dump_day
    dump_at.strftime '%y/%m/%d %a'
  end

  def updated_today?
    updated_at.between? (dump_at - 1.day), dump_at
  end

  def created_today?
    created_at.between? (dump_at - 1.day), dump_at
  end

  def deleted_today?
    batches.of_guid(guid).first == self and dump_id != batches.latest_id
  end

  def status
    return :created if created_today?
    return :updated if updated_today?
    return :deleted if deleted_today?
    :remained
  end

  def prev_version
    @prev_version ||= batches.of_guid(guid).bsearch{|version| version.dump_id < self.dump_id}
  end

  def moved_book?
    prev_version and (prev_version.book != self.book or prev_version.stack != self.stack)
  end

  def changed_tags?
    prev_version and prev_version.tags.sort != self.tags.sort
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yinx_st-0.1.3 lib/yinx_st/note_meta.rb