markdown CriandoosServiços

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown CriandoosServiços相关的知识,希望对你有一定的参考价值。

## Criando os serviços ##

Neste serviço, vamos processar as informações para pegar uma categoria, um conjunto de vídeos e 
séries do continue assistindo ou do que estiver em destaque.

```ruby
class DashboardService

  # No serviço, vamos processar as informações para pegar uma categoria, um conjunto de vídeos e séries do continue assistindo ou do que estiver em destaque.

  # Neste método, é como se fosse o construtor, onde tudo será preparado
  # Onde as variáveis são declaradas
  def initialize(type, user)
    @type = type
    @user = user
  end

  def perform
    # O método send é uma maneira para não precisar fazer um "if, else"
    # Ex: ficaria assim ( if type == 'category'  ), etc...
    # Facilita a escrita
    send("group_by_#{ @type }")
  end

  private

    # Este método carrega todos os conteúdos filtrados por categoria
    def group_by_category
      # O .includes funciona para incluir tanto filmes como série dentro do resultado
      categories = Category.includes(:movies, :series)
      Api::V1::CategorySerializer.new(categories)
    end

    # Este método carrega todos os conteúdos que o usuário ainda não terminou de assistir
    # É o "Continue assistindo"
    def group_by_keep_watching
      # O .include pega todos os filmes ou episódios, e filtra por todos que o end_date for vazio, ou seja
      # pega todos os registros que o usuário ainda não terminou de assistir
      players = Player.includes(:movie).where(end_date: nil, user: @user)

      # Como a gente não quer serializar o player e sim o registro associado a ele que é o movie, 
      # então fazemos um mapeamento com o .map
      Api::V1::MovieSerializer.new(players.map(&:movie))
    end

    # Este método carrega os conteúdos marcados como "favoritos"
    def group_by_highlight
      highlight = Movie.find_by(highlighted: true)
      highlight ||= Serie.find_by(highlight: true)
      Api::V1::WatchableSerializer.new(highlight, params: { user: @user })
    end
end

```

以上是关于markdown CriandoosServiços的主要内容,如果未能解决你的问题,请参考以下文章

markdown转换为图片

转换rst到markdown总结

markdown [Markdown HowTo]作为Markdown语法的秘籍

python markdown干啥用的

markdown前端渲染

如何用markdown生成目录