module KY::API
Constants
- MissingParametersError
Public Class Methods
compile(config_or_secrets_path, secrets_or_config_path, output_dir, options={})
click to toggle source
# File lib/ky/api.rb, line 30 def self.compile(config_or_secrets_path, secrets_or_config_path, output_dir, options={}) Compilation.new(options.with_indifferent_access).tap do |instance| config_or_secrets_path ||= instance.configuration['config_path'] || instance.configuration['secret_path'] secrets_or_config_path ||= instance.configuration['secret_path'] || instance.configuration['config_path'] output_dir ||= instance.configuration['output_dir'] raise MissingParametersError unless config_or_secrets_path && secrets_or_config_path && output_dir && instance.configuration['procfile_path'] input_input(config_or_secrets_path, secrets_or_config_path) do |input1, input2| instance.compile(input1, input2, output_dir) end end end
decode(input_source, output_source)
click to toggle source
# File lib/ky/api.rb, line 11 def self.decode(input_source, output_source) input_output(input_source, output_source) do |input_object, output_object| Manipulation.decode(output_object, input_object) end end
encode(input_source, output_source)
click to toggle source
# File lib/ky/api.rb, line 5 def self.encode(input_source, output_source) input_output(input_source, output_source) do |input_object, output_object| Manipulation.encode(output_object, input_object) end end
env(input_source1, input_source2, output_source)
click to toggle source
# File lib/ky/api.rb, line 24 def self.env(input_source1, input_source2, output_source) input_output(input_source1, output_source) do |input_object1, output_object| with(input_source2, 'r') {|input_object2| EnvGeneration.env(output_object, input_object1, input_object2) } end end
merge(input_source1, input_source2, output_source)
click to toggle source
# File lib/ky/api.rb, line 18 def self.merge(input_source1, input_source2, output_source) input_output(input_source1, output_source) do |input_object1, output_object| with(input_source2, 'r') {|input_object2| Manipulation.merge(output_object, input_object1, input_object2) } end end
Private Class Methods
input_input(input1, input2) { |input_object1, input_object2| ... }
click to toggle source
# File lib/ky/api.rb, line 48 def self.input_input(input1, input2) with(input1, 'r') {|input_object1| with(input2, 'r') { |input_object2| yield(input_object1, input_object2) } } end
input_output(input1, output1) { |input_object, output_object| ... }
click to toggle source
# File lib/ky/api.rb, line 44 def self.input_output(input1, output1) with(input1, 'r') {|input_object| with(output1, 'w+') { |output_object| yield(input_object, output_object) } } end
with(output, mode) { |output| ... }
click to toggle source
# File lib/ky/api.rb, line 52 def self.with(output, mode) if output.kind_of?(IO) yield output else open(output, mode) do |f| yield f end end end