Class: Dao::Api::DSL
- Inherits:
-
BlankSlate
- Object
- BlankSlate
- Dao::Api::DSL
- Defined in:
- lib/dao/api/dsl.rb
Instance Attribute Summary collapse
-
#api ⇒ Object
Returns the value of attribute api.
Instance Method Summary collapse
- #evaluate(&block) ⇒ Object
-
#initialize(api) ⇒ DSL
constructor
A new instance of DSL.
- #no_docs_left_on_stack! ⇒ Object
Constructor Details
#initialize(api) ⇒ DSL
Returns a new instance of DSL.
7 8 9 10 |
# File 'lib/dao/api/dsl.rb', line 7 def initialize(api) @api = api #@evaluate = Object.instance_method(:instance_eval).bind(self) end |
Instance Attribute Details
#api ⇒ Object
Returns the value of attribute api.
5 6 7 |
# File 'lib/dao/api/dsl.rb', line 5 def api @api end |
Instance Method Details
#evaluate(&block) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/dao/api/dsl.rb', line 12 def evaluate(&block) #@evaluate.call(&block) @api.module_eval(&block) ensure #no_docs_left_on_stack! end |
#no_docs_left_on_stack! ⇒ Object
19 20 21 |
# File 'lib/dao/api/dsl.rb', line 19 def no_docs_left_on_stack! raise "no interface for #{ docs.inspect }" unless docs.empty? end |