Sha256: c380ef3f0c8953e867bd29b14c2d23a831587bb64ddddabda9aa08a251685cb2

Contents?: true

Size: 1.23 KB

Versions: 16

Compression:

Stored size: 1.23 KB

Contents

class Dummy::LocationAPI < IntrospectiveGrape::API
  exclude_actions Location, :none
  include_actions LocationBeacon, :index
  include_actions LocationGps, :index

  default_includes Location, :child_locations, :gps, :beacons, :locatables

  filter_on :name, :filter

  restful Location, [
    :name, :kind,
    {gps_attributes: [:id, :lat, :lng, :alt, :_destroy]},
    {beacons_attributes: [:id, :company_id, :mac_address, :uuid, :major, :minor, :_destroy]},
  ]

  class Locatable < Grape::Entity
    expose :id, :locatable_id, :locatable_type, :updated_at, :created_at
  end

  class LocationBeaconEntity < Grape::Entity
    expose :id, :uuid, :major, :minor, :company_id, :mac_address, :created_at
  end

  class LocationGpsEntity < Grape::Entity
    expose :id, :lat, :lng, :alt, :updated_at
  end

  class ChildLocationEntity < Grape::Entity
    expose :id, :name, :kind, :created_at, :updated_at
  end

  class LocationEntity < Grape::Entity
    expose :id, :name, :kind,  :parent_location_id, :created_at, :updated_at
    expose :locatables,       using: Locatable
    expose :child_locations,  using: ChildLocationEntity
    expose :gps,              using: LocationGpsEntity
    expose :beacons,          using: LocationBeaconEntity
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
introspective_grape-0.6.1 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.7 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.6 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.5 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.4 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.2 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.5.0 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.4.3 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.4.2 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.4.1 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.4.0 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.3.9 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.3.7 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.3.6 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.3.5 spec/dummy/app/api/dummy/location_api.rb
introspective_grape-0.3.3 spec/dummy/app/api/dummy/location_api.rb