Class: ActivityStream::Activity

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/activity_stream/activity.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define(name, &block) ⇒ ActivityStream::Definition

Returns the new definitions.

Parameters:

  • name (Symbol)

    (see ActivityStream::Definition#new)

Returns:



12
13
14
15
16
# File 'lib/activity_stream/activity.rb', line 12

def self.define(name, &block)
  definition = ActivityStream::DefinitionProxy.new(name)
  definition.instance_eval(&block)
  ActivityStream::Definition.register(definition)
end

.new_with_name_and_metadata(name, metadata = {}) ⇒ Object



18
19
20
# File 'lib/activity_stream/activity.rb', line 18

def self.(name,  = {})
  new(:kind => name.to_s, :metadata => )
end

Instance Method Details

#definitionObject



58
59
60
# File 'lib/activity_stream/activity.rb', line 58

def definition
  ActivityStream::Definition.find_by_name(self[:kind])
end

#kindObject



66
67
68
# File 'lib/activity_stream/activity.rb', line 66

def kind
  read_attribute(:kind).to_sym
end

#kind=(val) ⇒ Object



62
63
64
# File 'lib/activity_stream/activity.rb', line 62

def kind=(val)
  write_attribute(:kind, val.to_s)
end

#metadataObject



46
47
48
# File 'lib/activity_stream/activity.rb', line 46

def 
  self[:metadata] ||= ActivityStream::Metadata.new(self[:kind])
end

#metadata=(new_data = {}) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/activity_stream/activity.rb', line 50

def metadata=(new_data = {})
  new_data = new_data.presence || {}
  occurred_at = new_data.delete(:occurred_at)
  new_data.each do |key, value|
    .store(key, value)
  end
end