Sha256: 2b1887f0a1b7724461e74c849566c99d51d88832f2096b56e8557f20781268bf

Contents?: true

Size: 903 Bytes

Versions: 4

Compression:

Stored size: 903 Bytes

Contents

module Troo
  class Member < Ohm::Model
    include Ohm::DataTypes
    include ModelHelpers

    attribute :username
    attribute :email
    attribute :full_name
    attribute :initials
    attribute :avatar_id
    attribute :bio
    attribute :url
    attribute :external_id
    attribute :short_id

    index :external_id
    index :short_id

    class << self
      # @return []
      def remote
        Remote::Member
      end

      # @return [Symbol]
      def type
        :member
      end
    end

    # @param  [Hash]
    # @return []
    def decorator(options = {})
      Decorators::Resource.new(self, options)
    end

    # @param  [Hash]
    # @return []
    def presenter(options = {})
      Presenters::Member.new(decorator, options)
    end

    # @return [FalseClass]
    def default?
      false
    end

    # @return [Symbol]
    def type
      self.class.type
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
troo-0.0.15 lib/troo/models/member.rb
troo-0.0.14 lib/troo/models/member.rb
troo-0.0.13 lib/troo/models/member.rb
troo-0.0.12 lib/troo/models/member.rb