Module: Dotenv::Merge

Defined in:
lib/dotenv/merge/backend.rb,
lib/dotenv/merge.rb,
lib/dotenv/merge/version.rb,
lib/dotenv/merge/env_line.rb,
lib/dotenv/merge/provider.rb,
lib/dotenv/merge/freeze_node.rb,
lib/dotenv/merge/debug_logger.rb,
lib/dotenv/merge/merge_result.rb,
lib/dotenv/merge/smart_merger.rb,
lib/dotenv/merge/file_analysis.rb,
lib/dotenv/merge/comment_tracker.rb,
sig/dotenv/merge.rbs

Overview

StructuredMerge dotenv assignment and comment merge behavior.

Defined Under Namespace

Modules: Backend, DebugLogger, Version Classes: CommentTracker, CorruptionDetectedError, DestinationParseError, EnvLine, Error, FileAnalysis, FreezeNode, MergeResult, ParseError, Provider, SmartMerger, TemplateParseError

Constant Summary collapse

BACKEND_REFERENCE =

Returns:

  • (Object)
TreeHaver::BackendReference.new(id: 'dotenv-line', family: 'line')
VERSION =

Current gem version exposed at the traditional constant location.

Returns:

  • (String)
Version::VERSION

Class Method Summary collapse

Class Method Details

.merge_providerProvider

Returns:



77
78
79
# File 'lib/dotenv/merge.rb', line 77

def merge_provider
  @merge_provider ||= Provider.new
end

.register_backend!Object



52
53
54
55
56
57
58
# File 'lib/dotenv/merge/backend.rb', line 52

def self.register_backend!
  TreeHaver::BackendRegistry.register(BACKEND_REFERENCE)
  %i[dotenv env].each do |language_name|
    register_language!(language_name)
  end
  nil
end

.register_language!(language_name) ⇒ Object



60
61
62
63
64
65
66
67
68
# File 'lib/dotenv/merge/backend.rb', line 60

def self.register_language!(language_name)
  TreeHaver.register_language(
    language_name,
    backend_module: Backend,
    backend_type: :line,
    gem_name: 'dotenv-merge',
    contract: :line
  )
end

.register_provider!(replace: false) ⇒ Object

Parameters:

  • replace: (Boolean) (defaults to: false)

Returns:

  • (Object)


81
82
83
# File 'lib/dotenv/merge.rb', line 81

def register_provider!(replace: false)
  Ast::Merge.register_provider(merge_provider, replace: replace)
end