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