Sha256: bcb75387f3942401e2d466172a8fcf6ba93d3abc6224f1908be9b6423b3417b2
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
module Zertico module Service def all instance_variable_set("@#{interface_name.pluralize}", resource_source.all) end def build instance_variable_set("@#{interface_name}", resource_source.new) end def find instance_variable_set("@#{interface_name}", resource_source.find(params[interface_id.to_sym])) end def generate instance_variable_set("@#{interface_name}", resource_source.create(params[interface_name.to_sym])) end def modify find instance_variable_get("@#{interface_name}").update_attributes(params[interface_name.to_sym]) instance_variable_get("@#{interface_name}") end def delete find instance_variable_get("@#{interface_name}").destroy instance_variable_get("@#{interface_name}") end def resource_source @resource_source ||= interface_class end 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 protected def interface_id begin return "#{interface_name}_id" if self.class.name.chomp('Controller').split('::').size > 1 rescue NameError 'id' end 'id' end def interface_name self.interface_class.name.singularize.underscore end def interface_class begin self.class.name.chomp('Controller').singularize.constantize rescue NameError self.class.name.chomp('Controller').split('::').last.singularize.constantize end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
zertico-1.3.0 | lib/zertico/service.rb |
zertico-1.2.0 | lib/zertico/service.rb |
zertico-1.1.1 | lib/zertico/service.rb |