class Gutsy::Generator::Heroics

Attributes

api_version_state[R]
output_path[R]

Public Class Methods

generate(api_version_state, output_path) click to toggle source
# File lib/gutsy/generator/heroics.rb, line 4
def self.generate(api_version_state, output_path)
  new(api_version_state, output_path).generate
end
new(api_version_state, output_path) click to toggle source
# File lib/gutsy/generator/heroics.rb, line 8
def initialize(api_version_state, output_path)
  @api_version_state = api_version_state
  @output_path = output_path
end

Public Instance Methods

generate() click to toggle source
# File lib/gutsy/generator/heroics.rb, line 13
def generate
  system "heroics-generate \
    #{module_name} \
    #{api_version_state.schema_path} \
    #{api_url} > \
    #{client_output_path}"
end

Private Instance Methods

api_url() click to toggle source
# File lib/gutsy/generator/heroics.rb, line 29
def api_url
  @api_url ||= "#{api_version_state.base_url}/#{api_version_state.namespace_path}"
end
client_output_path() click to toggle source
# File lib/gutsy/generator/heroics.rb, line 33
def client_output_path
  @client_output_path ||= "#{output_path}/lib/#{api_version_state.gem_name_snake}/#{api_version_state.name.downcase}/adapters/http.rb"
end
module_name() click to toggle source
# File lib/gutsy/generator/heroics.rb, line 25
def module_name
  @module_name ||= "#{api_version_state.gem_name_pascal}::#{api_version_state.module_name}::Adapters::Http"
end