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_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
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