Module: Ovaltine
- Defined in:
- lib/ovaltine.rb,
lib/ovaltine/version.rb,
lib/ovaltine/storyboard.rb,
lib/ovaltine/xcode_project.rb,
lib/ovaltine/xcode_project/pbxgroup.rb,
lib/ovaltine/xcode_project/pbxobject.rb,
lib/ovaltine/objc/storyboard_formatter.rb,
lib/ovaltine/objc/storyboard_templates.rb,
lib/ovaltine/xcode_project/pbxfilereference.rb
Defined Under Namespace
Classes: Storyboard, StoryboardFormatter, StoryboardTemplates, XcodeProject
Constant Summary collapse
- VERSION =
"1.1.1"
Class Method Summary collapse
Class Method Details
.create_constant_files(path, options) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ovaltine.rb', line 12 def self.create_constant_files(path, ) require_formatter([:language]) files = Dir.glob("#{path}/**/*.storyboard") groups = files.group_by {|f| File.basename(f).sub('.storyboard','')} formatters = groups.map do |name, paths| storyboard = Storyboard.new(name, paths) StoryboardFormatter.new(storyboard, [:prefix], [:copy], ([:output_directory] || path)) end generated_paths = formatters.map(&:output_paths).flatten if existing_path = generated_paths.detect {|p| File.exist?(p)} and ![:auto_replace] return unless prompt("Some generated files already exist. Overwrite? (Y/n)", 'y') end paths = write_files(formatters) if project_filepath = [:project] || Dir.glob("#{File.dirname(path)}/**/*.xcodeproj").first return unless [:auto_add] or prompt("Add files to project? (y/N)", 'n') project = XcodeProject.new(project_filepath) if paths.sort.map {|p| project.add_file_ref(p)}.compact.size > 0 project.save puts "#{File.basename(project_filepath)} updated" else puts "All files already added" end end end |