class Moblues::Generator::Objc::Base

Attributes

type_generator[R]

Public Class Methods

new() click to toggle source
# File lib/moblues/generator/objc/base.rb, line 8
def initialize
  @type_generator = Type.new
end

Protected Instance Methods

file_template(name) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 61
def file_template(name)
  File.read(File.expand_path("../#{name}.erb", __FILE__))
end
format_name(entity, extension) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 37
def format_name(entity, extension)
  raise NotImplemented
end
header(entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 41
def header(entity)
  render(header_template, entity)
end
header_file(output_dir, entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 29
def header_file(output_dir, entity)
  File.join(output_dir, format_name(entity, 'h'))
end
header_template() click to toggle source
# File lib/moblues/generator/objc/base.rb, line 53
def header_template
  raise NotImplemented
end
implementation(entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 45
def implementation(entity)
  render(implementation_template, entity)
end
implementation_file(output_dir, entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 33
def implementation_file(output_dir, entity)
  File.join(output_dir, format_name(entity, 'm'))
end
implementation_template() click to toggle source
# File lib/moblues/generator/objc/base.rb, line 57
def implementation_template
  raise NotImplemented
end
render(template, entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 49
def render(template, entity)
  ERB.new(template, 0, '-').result(entity.send(:binding))
end
write_file(file, text) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 23
def write_file(file, text)
  File.open(file, 'w+') do |f|
    f.write(text)
  end
end
write_header(output_dir, entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 15
def write_header(output_dir, entity)
  write_file(header_file(output_dir, entity), header(entity))
end
write_implementation(output_dir, entity) click to toggle source
# File lib/moblues/generator/objc/base.rb, line 19
def write_implementation(output_dir, entity)
  write_file(implementation_file(output_dir, entity), implementation(entity))
end