Module: Zertico::Service

Defined in:
lib/zertico/service.rb

Instance Method Summary collapse

Instance Method Details

#allObject



3
4
5
# File 'lib/zertico/service.rb', line 3

def all
  instance_variable_set("@#{interface_name.pluralize}", resource_source.all)
end

#buildObject



7
8
9
# File 'lib/zertico/service.rb', line 7

def build
  instance_variable_set("@#{interface_name}", resource_source.new)
end

#deleteObject



25
26
27
28
29
# File 'lib/zertico/service.rb', line 25

def delete
  find
  instance_variable_get("@#{interface_name}").destroy
  instance_variable_get("@#{interface_name}")
end

#findObject



11
12
13
# File 'lib/zertico/service.rb', line 11

def find
  instance_variable_set("@#{interface_name}", resource_source.find(params[interface_id.to_sym]))
end

#generateObject



15
16
17
# File 'lib/zertico/service.rb', line 15

def generate
  instance_variable_set("@#{interface_name}", resource_source.create(params[interface_name.to_sym]))
end

#modifyObject



19
20
21
22
23
# File 'lib/zertico/service.rb', line 19

def modify
  find
  instance_variable_get("@#{interface_name}").update_attributes(params[interface_name.to_sym])
  instance_variable_get("@#{interface_name}")
end

#resource_sourceObject



31
32
33
# File 'lib/zertico/service.rb', line 31

def resource_source
  @resource_source ||= interface_class
end

#resource_source=(resource_chain = []) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/zertico/service.rb', line 35

def resource_source=(resource_chain = [])
  @resource_source = resource_chain.shift
  @resource_source = @resource_source.constantize if @resource_source.respond_to?(:constantize)
  resource_chain.each do |resource|
    @resource_source = @resource_source.send(resource)
  end
end