class Fastlane::Actions::ErbAction

Public Class Methods

authors() click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 58
def self.authors
  ["hjanuschka"]
end
available_options() click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 30
def self.available_options
  [

    FastlaneCore::ConfigItem.new(key: :template,
                                 short_option: "-T",
                                 env_name: "FL_ERB_SRC",
                                 description: "ERB Template File",
                                 optional: false),
    FastlaneCore::ConfigItem.new(key: :destination,
                                 short_option: "-D",
                                 env_name: "FL_ERB_DST",
                                 description: "Destination file",
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :placeholders,
                                 short_option: "-p",
                                 env_name: "FL_ERB_PLACEHOLDERS",
                                 description: "Placeholders given as a hash",
                                 default_value: {},
                                 type: Hash),
    FastlaneCore::ConfigItem.new(key: :trim_mode,
                                 short_option: "-t",
                                 env_name: "FL_ERB_TRIM_MODE",
                                 description: "Trim mode applied to the ERB",
                                 optional: true)

  ]
end
category() click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 84
def self.category
  :misc
end
description() click to toggle source

@!group Documentation

# File fastlane/lib/fastlane/actions/erb.rb, line 19
def self.description
  "Allows to Generate output files based on ERB templates"
end
details() click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 23
def self.details
  [
    "Renders an ERB template with `:placeholders` given as a hash via parameter.",
    "If no `:destination` is set, it returns the rendered template as string."
  ].join("\n")
end
example_code() click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 62
def self.example_code
  [
    '# Example `erb` template:

    # Variable1 <%= var1 %>
    # Variable2 <%= var2 %>
    # <% for item in var3 %>
    #        <%= item %>
    # <% end %>

    erb(
      template: "1.erb",
      destination: "/tmp/rendered.out",
      placeholders: {
        :var1 => 123,
        :var2 => "string",
        :var3 => ["element1", "element2"]
      }
    )'
  ]
end
is_supported?(platform) click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 88
def self.is_supported?(platform)
  true
end
run(params) click to toggle source
# File fastlane/lib/fastlane/actions/erb.rb, line 4
def self.run(params)
  template = File.read(params[:template])
  trim_mode = params[:trim_mode]

  result = Fastlane::ErbTemplateHelper.render(template, params[:placeholders], trim_mode)

  File.open(params[:destination], 'w') { |file| file.write(result) } if params[:destination]
  UI.message("Successfully parsed template: '#{params[:template]}' and rendered output to: #{params[:destination]}") if params[:destination]
  result
end