Sha256: 343995bed03ef3b92dc5b8fb186bbdf5f4c9db9e334ac8f0f3cc9f6dee8475d5

Contents?: true

Size: 1.79 KB

Versions: 11

Compression:

Stored size: 1.79 KB

Contents

require 'fileutils'

module ZCI
  def create_scaffold(root_dir, project_name, force)
    dir = File.join(root_dir, project_name)

    if mkdir(dir, force)
      mk_config(root_dir, project_name)
    end
  end

  def mkdir(dir, force)
    exists = false
    if !force
      if File.exist? dir
        raise "#{dir} exists; use --force to override"
        exists = true
      end
    end

    if !exists
      puts "Creating dir #{dir}..."
      FileUtils.mkdir_p dir
    else
      puts "Exiting..."
      false
    end

    true
  end

  def mk_config(root_dir, project_name)
    config = <<-EOS.strip_heredoc
    ---
    # Crowdin API credentials
    crowdin_project_id: '<%your-crowdin-project-id%>'
    crowdin_api_key: '<%your-crowdin-api-key%>'
    crowdin_base_url: 'https://api.crowdin.com'

    # Zendesk API credentials
    zendesk_base_url: 'https://<%subdomain%>.zendesk.com/api/v2/'
    zendesk_username: '<%your-zendesk-username%>'
    zendesk_password: '<%your-zendesk-password%>'

    # Zendesk catogories
    categories:
    - zendesk_category: '<%zendesk-category-id%>'
      translations:
        -
          crowdin_language_code: '<%crowdin-two-letters-code%>'
          zendesk_locale: '<%zendesk-locale%>'
        -
          crowdin_language_code: '<%crowdin-two-letters-code%>'
          zendesk_locale: '<%zendesk-locale%>'
    - zendesk_category: '<%zendesk-category-id%>'
      translations:
        -
          crowdin_language_code: '<%crowdin-two-letters-code%>'
          zendesk_locale: '<%zendesk-locale%>'
        -
          crowdin_language_code: '<%crowdin-two-letters-code%>'
          zendesk_locale: '<%zendesk-locale%>'
    EOS

    File.open("#{root_dir}/#{project_name}/zci.yml", 'w') do |file|
      file << config
    end

    puts "Created #{root_dir}/#{project_name}/zci.yml"
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
zci-0.6.1 lib/zci/init.rb
zci-0.6.0 lib/zci/init.rb
zci-0.5.0 lib/zci/init.rb
zci-0.4.0 lib/zci/init.rb
zci-0.3.1 lib/zci/init.rb
zci-0.3.0 lib/zci/init.rb
zci-0.2.0 lib/zci/init.rb
zci-0.1.2 lib/zci/init.rb
zci-0.1.1 lib/zci/init.rb
zci-0.1.0 lib/zci/init.rb
zci-0.0.5 lib/zci/init.rb