Class: CocoapodsPodfileLocal::OverrideManager
- Inherits:
-
Object
- Object
- CocoapodsPodfileLocal::OverrideManager
- Defined in:
- lib/cocoapods_podfile_local/override_manager.rb
Constant Summary collapse
- SOURCE_KEYS =
%i[git path podspec].freeze
- GIT_EXTRAS =
%i[branch tag commit].freeze
- EXCLUSIVE_RULES =
{ git: %i[path podspec], path: %i[git branch tag commit podspec], podspec: %i[git branch tag commit path], }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize ⇒ OverrideManager
constructor
A new instance of OverrideManager.
-
#merge(original_options, override_options) ⇒ Object
Merge override options into the original options, with exclusive-source cleanup.
- #overrides ⇒ Object
- #register(pod_name, options) ⇒ Object
Constructor Details
#initialize ⇒ OverrideManager
Returns a new instance of OverrideManager.
20 21 22 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 20 def initialize @overrides = {} end |
Class Method Details
.instance ⇒ Object
12 13 14 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 12 def self.instance @instance ||= new end |
.reset! ⇒ Object
16 17 18 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 16 def self.reset! @instance = nil end |
Instance Method Details
#empty? ⇒ Boolean
32 33 34 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 32 def empty? @overrides.empty? end |
#merge(original_options, override_options) ⇒ Object
Merge override options into the original options, with exclusive-source cleanup.
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 37 def merge(, ) merged = .dup keys_to_remove = [] EXCLUSIVE_RULES.each do |source_key, conflicting_keys| if .key?(source_key) keys_to_remove.concat(conflicting_keys) end end keys_to_remove.uniq.each { |k| merged.delete(k) } merged.merge() end |
#overrides ⇒ Object
28 29 30 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 28 def overrides @overrides.dup end |
#register(pod_name, options) ⇒ Object
24 25 26 |
# File 'lib/cocoapods_podfile_local/override_manager.rb', line 24 def register(pod_name, ) @overrides[pod_name] = end |