Skip to content

Instantly share code, notes, and snippets.

@LeiHao0
Last active December 21, 2015 04:29
Show Gist options
  • Select an option

  • Save LeiHao0/8b31ffc56de0a6157ffc to your computer and use it in GitHub Desktop.

Select an option

Save LeiHao0/8b31ffc56de0a6157ffc to your computer and use it in GitHub Desktop.
Auto Generator FlooNetwork Request
$url = "api/show"
$prefix = "TF"
def className
refineStr = $url.gsub("api", '')
a , b = refineStr.split('/')
return $prefix + a.capitalize + b.capitalize
end
def requestName
className + "Request"
end
def fileName
requestName + ".swift"
end
def requestGenerator
commentStr = """//
// #{fileName}
//
// Created by HaoLei on 12/17/15.
// Copyright © 2015. All rights reserved.
// Model file Generated using FlooNetworkRequestGenerator: https://gist.github.com/Artwalk/8b31ffc56de0a6157ffc
//
"""
importStr = '''
import Foundation
import FlooNetwork
'''
classStr = """
public class #{requestName} : FLRequestType, FLRequestClientAuthType {
public let url = #$url
public let completion : FLRequestCompletion?
public let httpMethod = FLHttpMethod.Get
public let objectType:Any = #{className}.self
public init(completion:FLRequestCompletion?) {
self.completion = completion
}
}
"""
tempateStr = commentStr + importStr + classStr
return tempateStr
end
def fileGenerator
name = fileName
f = File.open(name, "w") { |f| f.write(requestGenerator) }
end
if ARGV[0] != nil
$url = ARGV[0]
end
if ARGV[1] != nil
$prefix = ARGV[1]
end
fileGenerator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment