Module: Ambient

Extended by:
Ambient
Included in:
Ambient
Defined in:
lib/ambient.rb

Constant Summary collapse

ROOT =
File.expand_path('.', File.dirname(__FILE__))

Instance Method Summary collapse

Instance Method Details

#configure(&block) ⇒ Object



23
24
25
# File 'lib/ambient.rb', line 23

def configure(&block)
  instance_eval &block
end

#load_in_parent_target_valuesObject



105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/ambient.rb', line 105

def load_in_parent_target_values
  @parents.each do |target, parents|
    parents.each do |child, parent|
      if parent
        options = @target_options[target]
        child_options = options[child]
        parent_options = options[parent]
        child_options.merge!(parent_options) { |_, child, _| child }
      end
    end
  end
end

#process_project_optionsObject



84
85
86
87
# File 'lib/ambient.rb', line 84

def process_project_options
  puts "applying ambient project settings"
  project_helper.process_project_options(@project_options)
end

#process_scheme_optionsObject



89
90
91
92
# File 'lib/ambient.rb', line 89

def process_scheme_options
  puts "applying ambient scheme settings"
  project_helper.process_scheme_options(@scheme_options)
end

#process_shared_target_optionsObject



94
95
96
97
# File 'lib/ambient.rb', line 94

def process_shared_target_options
  puts "applying ambient shared target settings"
  project_helper.process_shared_target_options(@shared_target_options)
end

#process_target_optionsObject



99
100
101
102
103
# File 'lib/ambient.rb', line 99

def process_target_options
  puts "applying ambient target settings"
  load_in_parent_target_values
  project_helper.process_target_options(@target_options)
end

#project_helperObject



27
28
29
# File 'lib/ambient.rb', line 27

def project_helper
  @project_helper ||= ProjectHelper.new
end

#reset_project_to_defaultsObject



70
71
72
73
74
75
# File 'lib/ambient.rb', line 70

def reset_project_to_defaults
  if @use_defaults
    puts "resetting project settings to xcode default settings"
    project_helper.reset_project_to_defaults
  end
end

#reset_targets_to_defaultsObject



77
78
79
80
81
82
# File 'lib/ambient.rb', line 77

def reset_targets_to_defaults
  if @use_defaults
    puts "resetting target settings to xcode default settings"
    project_helper.reset_targets_to_defaults
  end
end

#set_option(option, value, target: nil, scheme: nil, parent: nil) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/ambient.rb', line 36

def set_option(option, value, target: nil, scheme: nil, parent: nil)
  value = "YES" if value == true
  value = "NO" if value == false
  value = nil if value == :default

  if target
    if scheme
      @target_options[target] ||= {}
      @target_options[target][scheme] ||= {}
      @target_options[target][scheme][option] = value
    else
      @shared_target_options[target] ||= {}
      @shared_target_options[target][option] = value
    end
  else
    if scheme
      @scheme_options[scheme] ||= {}
      @scheme_options[scheme][option] = value
    else
      @project_options[option] = value
    end
  end
end

#set_parent_target(target, child, parent) ⇒ Object



31
32
33
34
# File 'lib/ambient.rb', line 31

def set_parent_target(target, child, parent)
  @parents[target] ||= {}
  @parents[target][child] = parent
end

#setup_projectObject



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

def setup_project
  project_helper.print_info
  reset_project_to_defaults
  reset_targets_to_defaults
  process_project_options
  process_scheme_options
  process_shared_target_options
  process_target_options
end