Class: Fastlane::Actions::ErbAction
Constant Summary
Fastlane::Action::AVAILABLE_CATEGORIES, Fastlane::Action::RETURN_TYPES
Class Method Summary
collapse
action_name, author, deprecated_notes, lane_context, method_missing, other_action, output, return_type, return_value, sample_return_value, shell_out_should_use_bundle_exec?, step_text
Class Method Details
.authors ⇒ Object
53
54
55
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 53
def self.authors
["hjanuschka"]
end
|
.available_options ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 27
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :template,
short_option: "-T",
env_name: "FL_ERB_SRC",
description: "ERB Template File",
optional: false,
is_string: true),
FastlaneCore::ConfigItem.new(key: :destination,
short_option: "-D",
env_name: "FL_ERB_DST",
description: "Destination file",
optional: true,
is_string: true),
FastlaneCore::ConfigItem.new(key: :placeholders,
short_option: "-p",
env_name: "FL_ERB_PLACEHOLDERS",
description: "Placeholders given as a hash",
default_value: {},
is_string: false,
type: Hash)
]
end
|
.category ⇒ Object
79
80
81
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 79
def self.category
:misc
end
|
.description ⇒ Object
16
17
18
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 16
def self.description
"Allows to Generate output files based on ERB templates"
end
|
.details ⇒ Object
20
21
22
23
24
25
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 20
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 ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 57
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) ⇒ Boolean
83
84
85
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 83
def self.is_supported?(platform)
true
end
|
.run(params) ⇒ Object
4
5
6
7
8
9
10
|
# File 'fastlane/lib/fastlane/actions/erb.rb', line 4
def self.run(params)
template = File.read(params[:template])
result = ERB.new(template).result(OpenStruct.new(params[:placeholders]).instance_eval { binding })
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
|