class Dotenv::Init::Assigner
Attributes
env[R]
lines[R]
string[R]
Public Class Methods
call(string, env)
click to toggle source
# File lib/dotenv/init/assigner.rb, line 9 def call(string, env) new(string, env).call end
new(string, env)
click to toggle source
# File lib/dotenv/init/assigner.rb, line 14 def initialize(string, env) @string = string @lines = string.split(/[\n\r]/) @env = env end
Public Instance Methods
call()
click to toggle source
# File lib/dotenv/init/assigner.rb, line 20 def call parsed.each do |key, value| line_number, offset, default = value.values_at(:line_number, :offset, :default) replacement = lines[line_number] replacement[range(offset)] = env[key] || default lines[line_number] = replacement end lines.join("\n") + "\n" end
Private Instance Methods
parsed()
click to toggle source
# File lib/dotenv/init/assigner.rb, line 39 def parsed @parsed ||= CommentAwareParser.call(@string) end
range(offset)
click to toggle source
# File lib/dotenv/init/assigner.rb, line 35 def range(offset) offset[0]..(offset[1] - 1) end