Sha256: 5f0560e917fef3e806e7803e0ad86502464309bc09769164ec6ca5f721f5762a

Contents?: true

Size: 831 Bytes

Versions: 6

Compression:

Stored size: 831 Bytes

Contents

module Liquidum
  class ConversionsController < ApplicationController
    before_action :set_objects
    class Conversion
      include ActiveModel::Model

      attr_accessor :source, :result
    end

    def index; end

    def create
      if params[:json_to_yaml] == 'commit'
        @conversion.result = YAML.dump(JSON.parse(@conversion.source))
      elsif params[:yaml_to_json] == 'commit'
        @conversion.result = JSON.pretty_generate(Psych.load(@conversion.source))
      elsif params[:slim_to_html] == 'commit'
        @conversion.result = Slim::Template.new({ pretty: true }) { @conversion.source }.render
      end

      render :index, status: 302
    end

    private

    def set_objects
      @conversion = Conversion.new(source: params.dig(:conversions_controller_conversion, :source) || '')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
liquidum-1.2.1 app/controllers/liquidum/conversions_controller.rb
liquidum-1.2.0 app/controllers/liquidum/conversions_controller.rb
liquidum-1.1.2 app/controllers/liquidum/conversions_controller.rb
liquidum-1.1.1 app/controllers/liquidum/conversions_controller.rb
liquidum-1.1.0 app/controllers/liquidum/conversions_controller.rb
liquidum-1.0.22 app/controllers/liquidum/conversions_controller.rb