Module: ApiMe

Extended by:
ActiveSupport::Concern
Includes:
Pundit
Defined in:
lib/api_me.rb,
lib/api_me/version.rb,
lib/generators/api_me/policy/policy_generator.rb,
lib/generators/api_me/resource/resource_generator.rb,
lib/generators/api_me/controller/controller_generator.rb

Defined Under Namespace

Modules: ClassMethods, Generators

Constant Summary collapse

VERSION =
'0.3.1'

Instance Method Summary collapse

Instance Method Details

#createObject



70
71
72
73
74
75
76
77
78
# File 'lib/api_me.rb', line 70

def create
  @object = model_klass.new(object_params)
  authorize @object
  @object.save!(object_params)

  render status: 201, json: @object, serializer: serializer_klass
rescue ActiveRecord::RecordInvalid => e
  handle_errors(e)
end

#destroyObject



90
91
92
93
94
95
96
# File 'lib/api_me.rb', line 90

def destroy
  @object = model_klass.find(params[:id])
  authorize @object
  @object.destroy

  render status: 204, nothing: true
end

#indexObject



58
59
60
61
# File 'lib/api_me.rb', line 58

def index
  @scoped_objects = policy_scope(model_klass.all)
  render json: @scoped_objects, each_serializer: serializer_klass
end

#showObject



63
64
65
66
67
68
# File 'lib/api_me.rb', line 63

def show
  @object = model_klass.find(params[:id])
  authorize @object

  render json: @object, serializer: serializer_klass
end

#updateObject



80
81
82
83
84
85
86
87
88
# File 'lib/api_me.rb', line 80

def update
  @object = model_klass.find(params[:id])
  authorize @object
  @object.update!(object_params)

  render status: 204, nothing: true
rescue ActiveRecord::RecordInvalid => e
  handle_errors(e)
end