Class: ActsInRelation::Roles::Base

Inherits:
Object
  • Object
show all
Includes:
Supports::Verb, CallerClass
Defined in:
lib/acts_in_relation/roles/base.rb

Direct Known Subclasses

Action, Source, Target

Constant Summary

Constants included from Supports::Verb

Supports::Verb::PATCHES

Instance Method Summary collapse

Methods included from Supports::Verb

#pastize, #peoplize, #progressize

Constructor Details

#initialize(args) ⇒ Base

Returns a new instance of Base.



9
10
11
12
# File 'lib/acts_in_relation/roles/base.rb', line 9

def initialize(args)
  @class = caller_class.constantize
  @args = recursive_to_s(args)
end

Instance Method Details

#actionsObject



22
23
24
# File 'lib/acts_in_relation/roles/base.rb', line 22

def actions
  @actions ||= [@args[:action]].flatten
end

#defineObject

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/acts_in_relation/roles/base.rb', line 26

def define
  raise NotImplementedError
end

#sourceObject



14
15
16
# File 'lib/acts_in_relation/roles/base.rb', line 14

def source
  @source ||= @args[:source] || @args[:self] || @class.to_s.downcase
end

#targetObject



18
19
20
# File 'lib/acts_in_relation/roles/base.rb', line 18

def target
  @target ||= @args[:target] || @args[:self] || @class.to_s.downcase
end