Class: GemCollector::Api::V1::RepositoriesController

Inherits:
ActionController::API
  • Object
show all
Defined in:
app/controllers/gem_collector/api/v1/repositories_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



2
3
4
# File 'app/controllers/gem_collector/api/v1/repositories_controller.rb', line 2

def index
  render json: GemCollector::Repository.all.map(&:as_json)
end

#showObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/gem_collector/api/v1/repositories_controller.rb', line 6

def show
  repository = GemCollector::Repository.find(params[:id])
  render json: {
    gemfiles: repository.gems_with_version_point.group_by(&:path).map { |path, gems|
      {
        path: path,
        gems: gems.map { |gem|
          {
            name: gem.name,
            version: gem.version,
            version_point: gem.version_point,
          }
        },
      }
    },
  }
end