Class: Wrappix::Templates::Main

Inherits:
Object
  • Object
show all
Defined in:
lib/wrappix/templates/main.rb

Class Method Summary collapse

Class Method Details

.render(api_name, module_name, config) ⇒ Object



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")

  "    # frozen_string_literal: true\n\n    require_relative \"\#{api_name}/version\"\n    require_relative \"\#{api_name}/configuration\"\n    require_relative \"\#{api_name}/error\"\n    require_relative \"\#{api_name}/request\"\n    require_relative \"\#{api_name}/object\"\n    require_relative \"\#{api_name}/collection\"\n    require_relative \"\#{api_name}/client\"\n    require_relative \"\#{api_name}/cache\"\n    \#{resource_requires}\n\n    module \#{module_name}\n      class << self\n        attr_accessor :configuration, :cache\n\n        def configure\n          self.configuration ||= Configuration.new\n          yield(configuration) if block_given?\n          self\n        end\n\n        def client\n          @client ||= Client.new(configuration)\n        end\n      end\n\n      self.cache = MemoryCache.new\n      self.configuration = Configuration.new\n    end\n  RUBY\nend\n"