Class: Hyperdrive::DSL::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/hyperdrive/dsl/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, &block) ⇒ Resource

Returns a new instance of Resource.



7
8
9
10
# File 'lib/hyperdrive/dsl/resource.rb', line 7

def initialize(key, &block)
  @resource = ::Hyperdrive::Resource.new(key)
  instance_eval(&block) if block_given?
end

Instance Attribute Details

#resourceObject (readonly)

Returns the value of attribute resource.



6
7
8
# File 'lib/hyperdrive/dsl/resource.rb', line 6

def resource
  @resource
end

Instance Method Details

#desc(description) ⇒ Object



16
17
18
# File 'lib/hyperdrive/dsl/resource.rb', line 16

def desc(description)
  resource.desc = description
end

#filter(*args) ⇒ Object



24
25
26
# File 'lib/hyperdrive/dsl/resource.rb', line 24

def filter(*args)
  resource.register_filter(*args)
end

#name(name) ⇒ Object



12
13
14
# File 'lib/hyperdrive/dsl/resource.rb', line 12

def name(name)
  resource.name = name
end

#param(*args) ⇒ Object



20
21
22
# File 'lib/hyperdrive/dsl/resource.rb', line 20

def param(*args)
  resource.register_param(*args)
end

#request(method, &block) ⇒ Object



28
29
30
31
32
33
# File 'lib/hyperdrive/dsl/resource.rb', line 28

def request(method, &block)
  unless definable_request_methods.include? method
    raise Errors::DSL::UnknownArgument.new(method, 'request')
  end
  resource.define_request_handler(method, block)
end