12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/restafari/action.rb', line 12
def action(name, *args)
case args.length
when 0
path = "/#{name.to_s}"
when 1
if args[0].is_a? String
path = args[0]
else
path = "/#{name}"
default_params = args[0]
end
else
path = args[0]
default_params = args[1]
end
default_params ||= {}
define_singleton_method(name) do |params={}, &block|
execute!(path, default_params.merge(params), &block)
end
define_singleton_method("#{name}_url") do |params={}|
params = default_params.merge(params)
Restafari.config.run_before_request_hook(params)
conn = Faraday.new(url: Restafari.config.url, params: params)
conn.build_url(path)
end
end
|