Sha256: 10c222a79712eff548f31eb9766f39279bd944070ad68cbdd0eb4c210e1bca79

Contents?: true

Size: 976 Bytes

Versions: 30

Compression:

Stored size: 976 Bytes

Contents

require 'yaml'
require 'banzai'
require_relative '../models/code_snippet'

module Nexmo
  module OAS
    module Renderer
      module Filters
        class CodeSnippetList < Banzai::Filter
          def call(input)
            input.gsub(/```code_snippet_list(.+?)```/m) do |_s|
              config = YAML.safe_load($1)
              @product = config['product']
              @blocks = Models::CodeSnippet.by_product(@product)

              # Top level blocks come before subfolder
              @blocks.sort_by! do |b|
                sort_array = []
                sort_array << (b.category ? 1 : 0)
                sort_array << b.navigation_weight
                sort_array
              end

              erb = File.read("#{API.root}/views/code_snippets/list/plain.html.erb")
              html = ERB.new(erb).result(binding)
              "FREEZESTART#{Base64.urlsafe_encode64(html)}FREEZEEND"
            end
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
nexmo-oas-renderer-0.7.1 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.7.0 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.6 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.5 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.4 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.3 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.2 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.6.1 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.6 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.5 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.4 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.2 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.1 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.5.0 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.4.1 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.4.0 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.3.7 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.3.6 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.3.5 lib/nexmo/oas/renderer/filters/code_snippet_list.rb
nexmo-oas-renderer-0.3.4 lib/nexmo/oas/renderer/filters/code_snippet_list.rb