class Moko::Server
Attributes
items[R]
Public Class Methods
draw(&block)
click to toggle source
# File lib/moko.rb, line 48 def self.draw &block server = Server.new server.instance_eval(&block) server.render end
new()
click to toggle source
# File lib/moko.rb, line 78 def initialize f = File.join(File.dirname(File.expand_path(__FILE__)), 'template/resource.erb') @template = File.read(f) @items = [] end
Public Instance Methods
render()
click to toggle source
# File lib/moko.rb, line 63 def render @items = @items.uniq touch_resources result = @items.reduce([]) do |result, item| result << ERB.new(@template).result(Item.new(item).get_binding) end result << ERB.new(File.read(File.join(File.dirname(File.expand_path(__FILE__)), 'template/mount.erb'))).result resources = "[#{result.join(',')}]" File.open("conf/moko.conf.json", "w") { |f| f.write(resources) } end
touch_resources()
click to toggle source
# File lib/moko.rb, line 55 def touch_resources @items.each do |item| FileUtils.touch "resources/#{item}.json" FileUtils.touch "resources/#{item}-single.json" end end
Private Instance Methods
resource(res, &block)
click to toggle source
# File lib/moko.rb, line 90 def resource res, &block obj = Moko::Dual.new obj.instance_eval(&block) if block_given? resources res.to_s.pluralize.to_sym File.open("resources/#{res.to_s.pluralize}.json", "w") { |io| io.write(obj.render) } File.open("resources/#{res.to_s.pluralize}-single.json", "w") { |io| io.write(obj.render_single) } end
resources(*arguments)
click to toggle source
# File lib/moko.rb, line 84 def resources *arguments arguments.each do |item| @items << item end end