Module: Geminus::DSL
- Included in:
- Container
- Defined in:
- lib/geminus/dsl.rb
Instance Method Summary collapse
Instance Method Details
#generate_js ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/geminus/dsl.rb', line 20 def generate_js pairs = [] @geminus.each do |k, v| v = v.is_a?(Container) ? v.generate_js : JSON.dump(v) pairs << "#{JSON.dump k}:#{v}" end "{#{pairs.join ','}}" end |
#prop(key, val = nil, &blk) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/geminus/dsl.rb', line 3 def prop(key, val = nil, &blk) key = key.to_s if blk fail ArgumentError, "Pass either value or block" if val val = Container.new(&blk) end @geminus[key] = val instance_eval <<-RUBY, __FILE__, __LINE__ def #{key} @geminus[#{key.inspect}] end RUBY end |