Sha256: 9c9c7005862d7c786a4d8e5d1701c5b77b0db864c9a0093a7729847526f41e4b

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

class Dummy::UserAPI < IntrospectiveGrape::API

  skip_presence_validations :password

  include_actions User, :all
  exclude_actions Role, :show,:update
  exclude_actions UserProjectJob, :show,:update

  filter_on :all

  restful User, [
    :id, :email, :password, :first_name, :last_name, :skip_confirmation_email,
    :created_at, :updated_at,
    user_project_jobs_attributes: [:id, :job_id, :project_id, :_destroy],
    roles_attributes: [:id, :ownable_type, :ownable_id, :_destroy],
    avatar_attributes: [:id, :file, :_destroy]
  ]

  class RoleEntity < Grape::Entity
    expose :id, :ownable_type, :ownable_id
  end

  class ImageEntity < Grape::Entity
    expose :id, :file_processing, :medium_url
  end

  class UserProjectJobEntity < Grape::Entity
    expose :id, :name, :title, :job_id, :project_id
  end

  class UserEntity < Grape::Entity
    expose :id, :email, :first_name, :last_name, :avatar_url, :created_at
    expose :roles, as: :roles_attributes, using: RoleEntity
    expose :user_project_jobs, as: :user_project_jobs_attributes, using: UserProjectJobEntity
  end 

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
introspective_grape-0.3.2 spec/dummy/app/api/dummy/user_api.rb
introspective_grape-0.3.1 spec/dummy/app/api/dummy/user_api.rb
introspective_grape-0.3.0 spec/dummy/app/api/dummy/user_api.rb
introspective_grape-0.2.9 spec/dummy/app/api/dummy/user_api.rb
introspective_grape-0.2.8 spec/dummy/app/api/dummy/user_api.rb