6
7
8
9
10
11
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
43
44
|
# File 'lib/wrappix/templates/main.rb', line 6
def self.render(api_name, module_name, config)
resources = config["resources"] || {}
resource_requires = resources.keys.map do |r|
"require_relative \"#{api_name}/resources/#{r}\""
end.join("\n")
<<~RUBY
# frozen_string_literal: true
require_relative "#{api_name}/version"
require_relative "#{api_name}/configuration"
require_relative "#{api_name}/error"
require_relative "#{api_name}/request"
require_relative "#{api_name}/object"
require_relative "#{api_name}/collection"
require_relative "#{api_name}/client"
require_relative "#{api_name}/cache"
#{resource_requires}
module #{module_name}
class << self
attr_accessor :configuration, :cache
def configure
self.configuration ||= Configuration.new
yield(configuration) if block_given?
self
end
def client
@client ||= Client.new(configuration)
end
end
self.cache = MemoryCache.new
self.configuration = Configuration.new
end
RUBY
end
|