module NubeController
Private Class Methods
resource(xmodel)
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 39 def self.resource(xmodel); @@resource = xmodel; end
Public Instance Methods
count()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 12 def count; render json: apply_scopes.count; end
create()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 14 def create obj = resource.create(attributes) render json: { object: obj.attributes, errors: obj.errors.messages } end
destroy_all()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 27 def destroy_all; render json: apply_scopes.destroy_all; end
empty_attributes()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 35 def empty_attributes; render json: resource.new ; end
index()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 8 def index render json: apply_scopes end
massive_creation()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 33 def massive_creation; resource.massive_creation(transaction); end
massive_sum()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 29 def massive_sum; resource.massive_sum(transaction); end
massive_update()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 31 def massive_update; resource.massive_update(transaction); end
resource()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 4 def resource defined?(self.class::RESOURCE) ? self.class::RESOURCE : controller_name.singularize.camelize.constantize end
update()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 19 def update obj = resource.find(params[:id]) obj.update_attributes(attributes) render json: obj.errors.messages end
update_all()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 25 def update_all; render json: apply_scopes.update_all(params[:changes]); end
Private Instance Methods
apply_joins()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 45 def apply_joins; @resource = @resource.joins(joins); end
apply_limit()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 49 def apply_limit; @resource = @resource.limit(limit); end
apply_offset()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 51 def apply_offset; @resource = @resource.offset(offset); end
apply_order()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 55 def apply_order; order.each { |condition| @resource = @resource.order(condition) }; end
apply_relations()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 41 def apply_relations; @resource = @resource.where(relations).where(server_id: params[:server_id]); end
apply_scope()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 47 def apply_scope; scopes.each { |key, value| @resource = value.is_a?(Hash) ? @resource.send(key, *value.values) : @resource.send(key) }; end
apply_scopes()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 79 def apply_scopes @resource = resource apply_search apply_relations apply_joins apply_scope apply_where apply_order apply_limit apply_offset end
apply_search()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 57 def apply_search; @resource = @resource.search(search).result; end
apply_where()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 53 def apply_where; where.each { |condition| @resource = @resource.where(condition) }; end
attributes()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 61 def attributes; params.has_key?(:attributes) ? params.require(:attributes).permit!: {}; end
joins()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 67 def joins; params.has_key?(:joins) ? params.require(:joins).map(&:to_sym): []; end
limit()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 73 def limit; params.has_key?(:limit) ? params[:limit].to_i : nil; end
offset()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 75 def offset; params.has_key?(:offset) ? params[:offset].to_i : nil; end
order()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 71 def order; params.has_key?(:order) ? params.require(:order).map{|con| con.is_a?(Hash) ? con.permit! : con } : []; end
parse_request()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 43 def parse_request; @json = JSON.parse(request.body.read); end
relations()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 63 def relations; params.has_key?(:relations) ? params.require(:relations).permit! : {}; end
scopes()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 65 def scopes; params.has_key?(:scopes) ? params.require(:scopes).permit! : {}; end
search()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 77 def search; params.has_key?(:search) ? params.require(:search).permit! : {}; end
transaction()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 59 def transaction; params.has_key?(:transaction) ? (params.require(:transaction).is_a?(Hash) ? params.require(:transaction).permit! : params[:transaction]) : {}; end
where()
click to toggle source
# File lib/nube/controllers/nube_controller.rb, line 69 def where; params.has_key?(:where) ? params.require(:where).map{|con| con.is_a?(Hash) ? con.permit! : con } : []; end