Sha256: a14453010a2711190ea70893fce0458039681a0e88e6626b29192880f14cb691

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

require "yaml"

module Capistrano
  module FigaroYml
    module Helpers

      def local_figaro_yml(env)
        @local_figaro_yml ||= YAML.load(ERB.new(File.read(figaro_yml_local_path)).result)
        local_figaro = {}
        deployment_env = fetch(:rails_env, env)

        @local_figaro_yml.each do |key, value|
          if key == env
            local_figaro[deployment_env] = @local_figaro_yml[key]
          elsif !value.is_a?(Hash)
            local_figaro[key] = @local_figaro_yml[key]
          end
        end

        local_figaro
      end

      def figaro_yml_env
        fetch(:figaro_yml_env).to_s
      end

      def figaro_yml_content
        local_figaro_yml(figaro_yml_env).to_yaml
      end

      # error helpers

      def check_git_tracking_error
        puts
        puts "Error - please remove '#{fetch(:figaro_yml_local_path)}' from git:"
        puts
        puts "    $ git rm --cached #{fetch(:figaro_yml_local_path)}"
        puts
        puts "and gitignore it:"
        puts
        puts "    $ echo '#{fetch(:figaro_yml_local_path)}' >> .gitignore"
        puts
      end

      def check_config_present_error
        puts
        puts "Error - '#{figaro_yml_env}' config not present in '#{fetch(:figaro_yml_local_path)}'."
        puts "Please populate it."
        puts
      end

      def check_figaro_file_exists_error
        puts
        puts "Error - '#{fetch(:figaro_yml_local_path)}' file does not exists, and it's required."
        puts
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-figaro-yml-1.0.3 lib/capistrano/figaro_yml/helpers.rb