Class: Croods::Service

Inherits:
Object
  • Object
show all
Defined in:
lib/croods/service.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(member_or_collection, params, current_user) ⇒ Service

Returns a new instance of Service.



18
19
20
21
22
23
24
25
26
# File 'lib/croods/service.rb', line 18

def initialize(member_or_collection, params, current_user)
  if self.class.about
    public_send("#{self.class.about}=", member_or_collection)
  end

  self.member_or_collection = member_or_collection
  self.params = params
  self.current_user = current_user
end

Instance Attribute Details

#current_userObject

Returns the value of attribute current_user.



5
6
7
# File 'lib/croods/service.rb', line 5

def current_user
  @current_user
end

#member_or_collectionObject

Returns the value of attribute member_or_collection.



5
6
7
# File 'lib/croods/service.rb', line 5

def member_or_collection
  @member_or_collection
end

#paramsObject

Returns the value of attribute params.



5
6
7
# File 'lib/croods/service.rb', line 5

def params
  @params
end

Class Method Details

.about(name = nil) ⇒ Object



7
8
9
10
11
12
# File 'lib/croods/service.rb', line 7

def self.about(name = nil)
  return @about unless name

  @about = name
  attr_accessor name
end

.execute(member_or_collection, params, current_user) ⇒ Object



14
15
16
# File 'lib/croods/service.rb', line 14

def self.execute(member_or_collection, params, current_user)
  new(member_or_collection, params, current_user).execute
end