Sha256: e1a45e5bc9226013084beaf9aa43f3dcd074125788a89938092696c05a52a57e
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
module Zertico class Service module InstanceMethods def index instance_variable_set("@#{interface_name.pluralize}", resource_source.all) end def new instance_variable_set("@#{interface_name}", resource_source.new) end def show(params) instance_variable_set("@#{interface_name}", resource_source.find(params[interface_id.to_sym])) end def create(params) instance_variable_set("@#{interface_name}", resource_source.create(params)) end def update(params) show(params) instance_variable_get("@#{interface_name}").update_attributes(params) instance_variable_get("@#{interface_name}") end def destroy(params) show(params) instance_variable_get("@#{interface_name}").destroy instance_variable_get("@#{interface_name}") end def resource_source self.class.resource_source || interface_class end def interface_class return self.class.interface_class unless self.class.interface_class.nil? name.chomp('Service').singularize.constantize rescue NameError name.chomp('Service').split('::').last.singularize.constantize end def interface_name return self.class.interface_name unless self.class.interface_name.nil? interface_class.name.singularize.underscore end def interface_id return self.class.interface_id unless self.class.interface_id.nil? if name.split('::').size > 1 "#{interface_name.gsub('/', '_')}_id" else 'id' end rescue NameError 'id' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zertico-2.0.0.alpha.3 | lib/zertico/service/instance_methods.rb |