Sha256: 37790cdec2ebe239dffbdf9d548c2912d7ace37cd07e479e966e25e2d9584697

Contents?: true

Size: 1001 Bytes

Versions: 2

Compression:

Stored size: 1001 Bytes

Contents

class Dummy::UserAPI < IntrospectiveGrape::API

  skip_presence_validations :password

  exclude_actions Role, :show,:update
  exclude_actions UserProjectJob, :show,:update

  restful User, [:id, :email, :password, :first_name, :last_name, :skip_confirmation_email,
    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 #, 'file.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
    expose :roles, as: :roles_attributes, using: RoleEntity
    expose :user_project_jobs, as: :user_project_jobs_attributes, using: UserProjectJobEntity
  end 

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
introspective_grape-0.0.4 spec/dummy/app/api/dummy/user_api.rb
introspective_grape-0.0.3 spec/dummy/app/api/dummy/user_api.rb