class BaseApiController
Public Instance Methods
create()
click to toggle source
POST /{models}/{id}.json @param @return String Json(Model)
# File lib/baseapi/app/controllers/base_api_controller.rb, line 23 def create render 'model.json.jbuilder' if transaction(-> { self.send("before_#{__method__}") if self.methods.include?("before_#{__method__}".to_sym) params.each do |key, value| if key.present? and @Model.column_names.include?(key) @model.send("#{key}=", value) end end @model.save self.send("after_#{__method__}") if self.methods.include?("after_#{__method__}".to_sym) }) end
destroy()
click to toggle source
DELETE /{models}/{id}.json @param @return String Json(Model)
# File lib/baseapi/app/controllers/base_api_controller.rb, line 55 def destroy render 'model.json.jbuilder' if transaction(-> { self.send("before_#{__method__}") if self.methods.include?("before_#{__method__}".to_sym) @model._destroy self.send("after_#{__method__}") if self.methods.include?("after_#{__method__}".to_sym) }) end
index()
click to toggle source
GET /{models}.json @param Hash @return String Json(Models)
# File lib/baseapi/app/controllers/base_api_controller.rb, line 10 def index render 'models.json.jbuilder' end
show()
click to toggle source
GET /{models}/{id}.json @return String Json(Model)
# File lib/baseapi/app/controllers/base_api_controller.rb, line 16 def show render 'model.json.jbuilder' end
update()
click to toggle source
PATCH/PUT /{models}/{id}.json @param @return String Json(Model)
# File lib/baseapi/app/controllers/base_api_controller.rb, line 39 def update render 'model.json.jbuilder' if transaction(-> { self.send("before_#{__method__}") if self.methods.include?("before_#{__method__}".to_sym) params.each do |key, value| if key.present? and @Model.column_names.include?(key) @model.send("#{key}=", value) end end @model.save self.send("after_#{__method__}") if self.methods.include?("after_#{__method__}".to_sym) }) end
Private Instance Methods
set_Model()
click to toggle source
set Model class
# File lib/baseapi/app/controllers/base_api_controller.rb, line 66 def set_Model @Model = params[:controller].camelize.singularize.constantize end
set_model()
click to toggle source
set model
# File lib/baseapi/app/controllers/base_api_controller.rb, line 71 def set_model @model = params[:id].present? ? @Model.find(params[:id]) : @Model.new end
set_models()
click to toggle source
set models
# File lib/baseapi/app/controllers/base_api_controller.rb, line 76 def set_models @models = @Model.search(params) end
transaction(callable)
click to toggle source
transaction @param callable callable @return bool
# File lib/baseapi/app/controllers/base_api_controller.rb, line 83 def transaction (callable) begin @Model.transaction do callable.call() end rescue => e @message = e.message render 'error.json.jbuilder' return false end return true end