class Resources::Writer

Attributes

generated_at[RW]
resources[RW]

Public Class Methods

new(resources) click to toggle source
# File lib/robjc/writer.rb, line 9
def initialize(resources)
  @resources = resources
end

Public Instance Methods

add_to_target(target) click to toggle source
# File lib/robjc/writer.rb, line 21
def add_to_target(target)
  references = [ header_file_reference, implementation_file_reference ]
  target.add_file_references
end
write() click to toggle source
# File lib/robjc/writer.rb, line 13
def write
  @generated_at = Time.now
  ensure_directory
  write_resources_class
  write_images_class
  write_strings_class
end

Private Instance Methods

directory_path() click to toggle source
# File lib/robjc/writer.rb, line 53
def directory_path
  'Resources/CMDResources'
end
ensure_directory() click to toggle source
# File lib/robjc/writer.rb, line 57
def ensure_directory
  `mkdir -p #{directory_path}`
end
erb(template) click to toggle source
# File lib/robjc/writer.rb, line 61
def erb(template)
  template_path = File.expand_path("../../../data/views/#{template}.erb", __FILE__)
  template = ERB.new(File.read(template_path), nil, nil)
  template.result(binding)
end
render_template_for_class(template, klass) click to toggle source
# File lib/robjc/writer.rb, line 40
def render_template_for_class(template, klass)
  [ "h", "m" ].each do |e|
    render_template_to_file "#{template}.#{e}", "#{klass}.#{e}"
  end
end
render_template_to_file(template, file) click to toggle source
# File lib/robjc/writer.rb, line 46
def render_template_to_file(template, file)
  File.open(File.join(directory_path, file), 'w') do |f|
    result = erb template
    f.write(result)
  end
end
write_images_class() click to toggle source
# File lib/robjc/writer.rb, line 32
def write_images_class
  render_template_for_class 'image_resources', 'CMDImageResources'
end
write_resources_class() click to toggle source
# File lib/robjc/writer.rb, line 28
def write_resources_class
  render_template_for_class 'resources', 'CMDResources'
end
write_strings_class() click to toggle source
# File lib/robjc/writer.rb, line 36
def write_strings_class
  render_template_for_class 'string_resources', 'CMDStringResources'
end