mvcgen 0.1.20 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -15
  3. data/lib/mvcgen/generator.rb +61 -1
  4. data/lib/mvcgen/version.rb +1 -1
  5. data/lib/templates/default/swift/Controllers/Login/ForgetPasswordVC.swift +32 -39
  6. data/lib/templates/default/swift/Controllers/Login/LoginVC.swift +21 -11
  7. data/lib/templates/default/swift/Controllers/Login/RegisterVC.swift +69 -59
  8. data/lib/templates/default/swift/Controllers/Notifications/Cells/NotificationCell.swift +28 -1
  9. data/lib/templates/default/swift/Controllers/Notifications/NotificationsVC.swift +17 -27
  10. data/lib/templates/default/swift/Controllers/OtherLogin/ForgetPasswordTVC.swift +9 -10
  11. data/lib/templates/default/swift/Controllers/OtherLogin/LoginTVC.swift +1 -1
  12. data/lib/templates/default/swift/Controllers/OtherLogin/OtherRegisterVC.swift +11 -10
  13. data/lib/templates/default/swift/Controllers/OtherLogin/SelectLanguageVC.swift +22 -21
  14. data/lib/templates/default/swift/Controllers/OtherLogin/TermsAndConditionsVC.swift +8 -7
  15. data/lib/templates/default/swift/Controllers/Profile/AboutUsVC.swift +23 -11
  16. data/lib/templates/default/swift/Controllers/Profile/Cells/AboutUsImageCell.swift +21 -5
  17. data/lib/templates/default/swift/Controllers/Profile/Cells/DescriptionCell.swift +10 -0
  18. data/lib/templates/default/swift/Controllers/Profile/Cells/DestinationCell.swift +5 -0
  19. data/lib/templates/default/swift/Controllers/Profile/Cells/FavoriteCollectionCell.swift +2 -0
  20. data/lib/templates/default/swift/Controllers/Profile/Cells/ImagesCollectionViewCell.swift +12 -0
  21. data/lib/templates/default/swift/Controllers/Profile/ProfileContainerVC.swift +18 -14
  22. data/lib/templates/default/swift/Controllers/Profile/ProfileTVC.swift +65 -85
  23. data/lib/templates/default/swift/Controllers/Tutorial/TutorialVC.swift +12 -9
  24. data/lib/templates/default/swift/Extensions/Buttons.swift +0 -12
  25. data/lib/templates/default/swift/Extensions/{ArrayDuplicates.swift → Utils+Array.swift} +1 -1
  26. data/lib/templates/default/swift/Extensions/{Images.swift → Utils+Images.swift} +8 -7
  27. data/lib/templates/default/swift/Extensions/Utils+String.swift +34 -0
  28. data/lib/templates/default/swift/Extensions/Utils+UIButton.swift +21 -0
  29. data/lib/templates/default/swift/Extensions/{UIColorExtensions.swift → Utils+UIColor.swift} +1 -1
  30. data/lib/templates/default/swift/Extensions/{TableViewEmptyView.swift → Utils+UITableView.swift} +1 -2
  31. data/lib/templates/default/swift/Extensions/Utils+UITextField.swift +22 -0
  32. data/lib/templates/default/swift/Extensions/{GradientView.swift → Utils+UIView.swift} +82 -2
  33. data/lib/templates/default/swift/Extensions/{TapEffectExtension.swift → Utils+UIViewController.swift} +18 -1
  34. data/lib/templates/default/swift/Helper/Utils.swift +1 -1
  35. data/lib/templates/default/swift/UI/Storyboards/Home.storyboard +4 -4
  36. data/lib/templates/default/swift/UI/Views/EmptyTableView/Xibs/EmptyTableLabelView.xib +1 -1
  37. metadata +11 -18
  38. data/lib/templates/default/swift/Assets.xcassets/alert_beach.imageset/Contents.json +0 -21
  39. data/lib/templates/default/swift/Assets.xcassets/alert_beach.imageset/icons8-beach-64.png +0 -0
  40. data/lib/templates/default/swift/Assets.xcassets/alert_nobaggage.imageset/Contents.json +0 -21
  41. data/lib/templates/default/swift/Assets.xcassets/alert_nobaggage.imageset/icons8-no-baggage-100.png +0 -0
  42. data/lib/templates/default/swift/Assets.xcassets/alert_signpost.imageset/Contents.json +0 -21
  43. data/lib/templates/default/swift/Assets.xcassets/alert_signpost.imageset/icons8-signpost-64.png +0 -0
  44. data/lib/templates/default/swift/Assets.xcassets/alert_sunbed.imageset/Contents.json +0 -21
  45. data/lib/templates/default/swift/Assets.xcassets/alert_sunbed.imageset/sunbed.png +0 -0
  46. data/lib/templates/default/swift/Extensions/HideKeyboard.swift +0 -22
  47. data/lib/templates/default/swift/Extensions/InnerShadowExtension.swift +0 -83
@@ -16,6 +16,7 @@ class TutorialVC: UIViewController {
16
16
 
17
17
  override func viewDidLoad() {
18
18
  super.viewDidLoad()
19
+
19
20
  skipButton.isHidden = true
20
21
 
21
22
  // Uncomment next line to setup `PaperOnboarding` from code
@@ -24,6 +25,7 @@ class TutorialVC: UIViewController {
24
25
  }
25
26
 
26
27
  private func setupPaperOnboardingView() {
28
+
27
29
  let onboarding = PaperOnboarding()
28
30
  onboarding.dataSource = self
29
31
  onboarding.delegate = self
@@ -80,32 +82,33 @@ extension TutorialVC: PaperOnboardingDelegate {
80
82
  extension TutorialVC: PaperOnboardingDataSource {
81
83
 
82
84
  func onboardingItem(at index: Int) -> OnboardingItemInfo {
85
+
83
86
  let titleFont = UIFont(name: "Quicksand-Bold", size: 30.0) ?? UIFont.boldSystemFont(ofSize: 30.0)
84
87
  let descriptionFont = UIFont(name: "Quicksand-Medium", size: 22.0) ?? UIFont.systemFont(ofSize: 22.0)
85
- let welcomeLabel = NSLocalizedString("WELCOME", comment: "")
88
+ let welcomeLabel = "WELCOME"
86
89
 
87
90
  let list = [
88
- OnboardingItemInfo(informationImage: UIImage(named: "Welcome_001")!,
91
+ OnboardingItemInfo(informationImage: Asset.welcome_01.image,
89
92
  title: welcomeLabel,
90
- description: NSLocalizedString("If you like to travel comfortably ...", comment: ""),
93
+ description: "First tutorial message!",
91
94
  pageIcon: UIImage(named: "Tick")!,
92
95
  color: Colors.firstGradientColor,
93
96
  titleColor: UIColor.white, descriptionColor: UIColor.white, titleFont: titleFont, descriptionFont: descriptionFont),
94
- OnboardingItemInfo(informationImage: UIImage(named: "Welcome_002")!,
97
+ OnboardingItemInfo(informationImage: Asset.welcome_02.image,
95
98
  title: "",
96
- description: NSLocalizedString("... with everything arranged ...", comment: ""),
99
+ description: "Second tutorial message!",
97
100
  pageIcon: UIImage(named: "Tick")!,
98
101
  color: Colors.secondGradientColor,
99
102
  titleColor: UIColor.white, descriptionColor: UIColor.white, titleFont: titleFont, descriptionFont: descriptionFont),
100
- OnboardingItemInfo(informationImage: UIImage(named: "Welcome_003")!,
103
+ OnboardingItemInfo(informationImage: Asset.welcome_03.image,
101
104
  title: "",
102
- description: NSLocalizedString("... with everything planned ...", comment: ""),
105
+ description: "Third tutorial message!",
103
106
  pageIcon: UIImage(named: "Tick")!,
104
107
  color: Colors.thirdGradientColor,
105
108
  titleColor: UIColor.white, descriptionColor: UIColor.white, titleFont: titleFont, descriptionFont: descriptionFont),
106
- OnboardingItemInfo(informationImage: UIImage(named: "Welcome_004")!,
109
+ OnboardingItemInfo(informationImage: Asset.welcome_04.image,
107
110
  title: "",
108
- description: NSLocalizedString("... then don't travel with us!", comment: ""),
111
+ description: "Final tutorial message!",
109
112
  pageIcon: UIImage(named: "Tick")!,
110
113
  color: Colors.textColor,
111
114
  titleColor: UIColor.white, descriptionColor: UIColor.white, titleFont: titleFont, descriptionFont: descriptionFont),
@@ -96,15 +96,3 @@ class GradientButton: UIButton {
96
96
  }
97
97
  }
98
98
 
99
- extension UIButton {
100
-
101
- func addShadow(){
102
- // Shadow and Radius
103
- self.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.15).cgColor
104
- self.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
105
- self.layer.shadowOpacity = 1.0
106
- self.layer.shadowRadius = 0.0
107
- self.layer.masksToBounds = false
108
- }
109
- }
110
-
@@ -1,5 +1,5 @@
1
1
  //
2
- // ArrayDuplicates.swift
2
+ // Utils+Array.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
@@ -1,5 +1,5 @@
1
1
  //
2
- // Images.swift
2
+ // Utils+Images.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
@@ -16,14 +16,15 @@
16
16
 
17
17
  enum Asset: String {
18
18
  case logo = "logo"
19
- case banks = "Banks"
20
- case hotels = "Hotels"
21
- case key = "Key"
22
- case shoppingCart = "Shopping-cart"
23
- case stores = "Stores"
24
- case wallet = "Wallet"
25
19
  case tick = "Tick"
26
20
  case userTestPhoto = "photo"
21
+ case notifications = "notificaciones"
22
+ case notification = "notification"
23
+ case back = "Back"
24
+ case welcome_01 = "Welcome_001"
25
+ case welcome_02 = "Welcome_002"
26
+ case welcome_03 = "Welcome_003"
27
+ case welcome_04 = "Welcome_004"
27
28
 
28
29
  var image: Image {
29
30
  let bundle = Bundle(for: BundleToken.self)
@@ -0,0 +1,34 @@
1
+ //
2
+ // Utils+String.swift
3
+ // MVCGEN
4
+ //
5
+ // Created by Daniel Martinez on 23/7/18.
6
+ // Copyright © 2018 Houlak. All rights reserved.
7
+ //
8
+
9
+ extension String {
10
+
11
+ func isEmail() -> Bool {
12
+
13
+ let __firstpart = "[A-Z0-9a-z]([A-Z0-9a-z._%+-]{0,30}[A-Z0-9a-z])?"
14
+ let __serverpart = "([A-Z0-9a-z]([A-Z0-9a-z-]{0,30}[A-Z0-9a-z])?\\.){1,5}"
15
+ let __emailRegex = __firstpart + "@" + __serverpart + "[A-Za-z]{2,8}"
16
+ let __emailPredicate = NSPredicate(format: "SELF MATCHES %@", __emailRegex)
17
+
18
+ return __emailPredicate.evaluate(with: self)
19
+ }
20
+
21
+ func isName() -> Bool {
22
+
23
+ let nameRegEx = "[A-Za-z\\s]+"
24
+ let nameTest = NSPredicate(format:"SELF MATCHES %@", nameRegEx)
25
+ return nameTest.evaluate(with: self)
26
+ }
27
+
28
+ func isPhone() -> Bool {
29
+
30
+ let phoneRegEx = "[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*"
31
+ let phoneTest = NSPredicate(format:"SELF MATCHES %@", phoneRegEx)
32
+ return phoneTest.evaluate(with: self)
33
+ }
34
+ }
@@ -0,0 +1,21 @@
1
+ //
2
+ // Utils+UIButton.swift
3
+ // MVCGEN
4
+ //
5
+ // Created by Daniel Martinez on 23/7/18.
6
+ // Copyright © 2018 Houlak. All rights reserved.
7
+ //
8
+
9
+ import UIKit
10
+
11
+ extension UIButton {
12
+
13
+ func addShadow(){
14
+ // Shadow and Radius
15
+ self.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.15).cgColor
16
+ self.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
17
+ self.layer.shadowOpacity = 1.0
18
+ self.layer.shadowRadius = 0.0
19
+ self.layer.masksToBounds = false
20
+ }
21
+ }
@@ -1,5 +1,5 @@
1
1
  //
2
- // UIColorExtensions.swift
2
+ // Utils+UIColor.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
@@ -1,5 +1,5 @@
1
1
  //
2
- // TableViewEmptyView.swift
2
+ // Utils+UITableView.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
@@ -8,7 +8,6 @@
8
8
 
9
9
  import UIKit
10
10
 
11
-
12
11
  extension UITableView {
13
12
 
14
13
  func setEmptyTableLabelView(message: String, emptyIcon: String) {
@@ -0,0 +1,22 @@
1
+ //
2
+ // Utils+UITextField.swift
3
+ // MVCGEN
4
+ //
5
+ // Created by Daniel Martinez on 23/7/18.
6
+ // Copyright © 2018 Houlak. All rights reserved.
7
+ //
8
+
9
+ extension UITextField {
10
+
11
+ func isEmail() -> Bool {
12
+ return self.text.isEmail()
13
+ }
14
+
15
+ func isName() -> Bool {
16
+ return self.text.isName()
17
+ }
18
+
19
+ func isPhone() -> Bool {
20
+ return self.text.isPhone()
21
+ }
22
+ }
@@ -1,13 +1,91 @@
1
1
  //
2
- // GradientView.swift
2
+ // Utils+UIView.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
6
6
  // Copyright © 2018 Houlak. All rights reserved.
7
7
  //
8
8
 
9
- import Foundation
10
9
  import UIKit
10
+ import Foundation
11
+
12
+ // MARK: - Ineer Shadow View
13
+
14
+ extension UIView {
15
+
16
+ // different inner shadow styles
17
+ public enum innerShadowSide
18
+ {
19
+ case all, left, right, top, bottom, topAndLeft, topAndRight, bottomAndLeft, bottomAndRight, exceptLeft, exceptRight, exceptTop, exceptBottom
20
+ }
21
+
22
+ // define function to add inner shadow
23
+ public func addInnerShadow(onSide: innerShadowSide, shadowColor: UIColor, shadowSize: CGFloat, cornerRadius: CGFloat = 0.0, shadowOpacity: Float)
24
+ {
25
+ // define and set a shaow layer
26
+ let shadowLayer = CAShapeLayer()
27
+ shadowLayer.frame = bounds
28
+ shadowLayer.shadowColor = shadowColor.cgColor
29
+ shadowLayer.shadowOffset = CGSize(width: 0.0, height: 0.0)
30
+ shadowLayer.shadowOpacity = shadowOpacity
31
+ shadowLayer.shadowRadius = shadowSize
32
+ shadowLayer.fillRule = kCAFillRuleEvenOdd
33
+
34
+ // define shadow path
35
+ let shadowPath = CGMutablePath()
36
+
37
+ // define outer rectangle to restrict drawing area
38
+ let insetRect = bounds.insetBy(dx: -shadowSize * 2.0, dy: -shadowSize * 2.0)
39
+
40
+ // define inner rectangle for mask
41
+ let innerFrame: CGRect = { () -> CGRect in
42
+ switch onSide
43
+ {
44
+ case .all:
45
+ return CGRect(x: 0.0, y: 0.0, width: frame.size.width, height: frame.size.height)
46
+ case .left:
47
+ return CGRect(x: 0.0, y: -shadowSize * 2.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 4.0)
48
+ case .right:
49
+ return CGRect(x: -shadowSize * 2.0, y: -shadowSize * 2.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 4.0)
50
+ case .top:
51
+ return CGRect(x: -shadowSize * 2.0, y: 0.0, width: frame.size.width + shadowSize * 4.0, height: frame.size.height + shadowSize * 2.0)
52
+ case.bottom:
53
+ return CGRect(x: -shadowSize * 2.0, y: -shadowSize * 2.0, width: frame.size.width + shadowSize * 4.0, height: frame.size.height + shadowSize * 2.0)
54
+ case .topAndLeft:
55
+ return CGRect(x: 0.0, y: 0.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 2.0)
56
+ case .topAndRight:
57
+ return CGRect(x: -shadowSize * 2.0, y: 0.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 2.0)
58
+ case .bottomAndLeft:
59
+ return CGRect(x: 0.0, y: -shadowSize * 2.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 2.0)
60
+ case .bottomAndRight:
61
+ return CGRect(x: -shadowSize * 2.0, y: -shadowSize * 2.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height + shadowSize * 2.0)
62
+ case .exceptLeft:
63
+ return CGRect(x: -shadowSize * 2.0, y: 0.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height)
64
+ case .exceptRight:
65
+ return CGRect(x: 0.0, y: 0.0, width: frame.size.width + shadowSize * 2.0, height: frame.size.height)
66
+ case .exceptTop:
67
+ return CGRect(x: 0.0, y: -shadowSize * 2.0, width: frame.size.width, height: frame.size.height + shadowSize * 2.0)
68
+ case .exceptBottom:
69
+ return CGRect(x: 0.0, y: 0.0, width: frame.size.width, height: frame.size.height + shadowSize * 2.0)
70
+ }
71
+ }()
72
+
73
+ // add outer and inner rectangle to shadow path
74
+ shadowPath.addRect(insetRect)
75
+ shadowPath.addRect(innerFrame)
76
+
77
+ // set shadow path as show layer's
78
+ shadowLayer.path = shadowPath
79
+
80
+ // add shadow layer as a sublayer
81
+ layer.addSublayer(shadowLayer)
82
+
83
+ // hide outside drawing area
84
+ clipsToBounds = true
85
+ }
86
+ }
87
+
88
+ // MARK: - GrdientView
11
89
 
12
90
  typealias GradientPoints = (startPoint: CGPoint, endPoint: CGPoint)
13
91
 
@@ -119,3 +197,5 @@ extension UIView {
119
197
  }
120
198
 
121
199
  }
200
+
201
+
@@ -1,5 +1,5 @@
1
1
  //
2
- // TapEffectExtension.swift
2
+ // Utils+UIViewController.swift
3
3
  // MVCGEN
4
4
  //
5
5
  // Created by Daniel Martinez on 23/7/18.
@@ -8,6 +8,8 @@
8
8
 
9
9
  import UIKit
10
10
 
11
+ // MARK: - Animations
12
+
11
13
  extension UIViewController {
12
14
 
13
15
  func setUnselectedColors(backgroundView: UIView, label: UILabel) {
@@ -46,3 +48,18 @@ extension UIViewController {
46
48
  viewToTransform.transform = CGAffineTransform.identity
47
49
  }
48
50
  }
51
+
52
+ // MARK: - Keyboard
53
+
54
+ extension UIViewController {
55
+
56
+ func hideKeyboardWhenTappedAround() {
57
+ let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
58
+ view.addGestureRecognizer(tap)
59
+
60
+ }
61
+
62
+ @objc func dismissKeyboard() {
63
+ view.endEditing(true)
64
+ }
65
+ }
@@ -34,7 +34,7 @@ struct Endpoints {
34
34
  static let readNotifications = "read_notifications"
35
35
  }
36
36
 
37
- struct Colors {
37
+ struct ColorConstants {
38
38
  static let firstGradientColor = UIColor(hex: "71F0DF")
39
39
  static let secondGradientColor = UIColor(hex: "397EB7")
40
40
  static let thirdGradientColor = UIColor(hex: "425893")
@@ -87,7 +87,7 @@
87
87
  <scene sceneID="fZ6-KG-qSG">
88
88
  <objects>
89
89
  <navigationController id="zLo-6j-Dkc" sceneMemberID="viewController">
90
- <tabBarItem key="tabBarItem" title="" image="plane" largeContentSizeImage="plane" selectedImage="plane" id="ZtI-te-uZc" customClass="RAMAnimatedTabBarItem" customModule="RAMAnimatedTabBarController">
90
+ <tabBarItem key="tabBarItem" title="" image="calendar" largeContentSizeImage="calendar" selectedImage="calendar" id="ZtI-te-uZc" customClass="RAMAnimatedTabBarItem" customModule="RAMAnimatedTabBarController">
91
91
  <userDefinedRuntimeAttributes>
92
92
  <userDefinedRuntimeAttribute type="color" keyPath="textColor">
93
93
  <color key="value" red="0.066666666669999999" green="0.1215686275" blue="0.43921568630000002" alpha="1" colorSpace="calibratedRGB"/>
@@ -1121,7 +1121,7 @@
1121
1121
  <scene sceneID="wOq-72-WnN">
1122
1122
  <objects>
1123
1123
  <navigationController id="504-EG-qbw" sceneMemberID="viewController">
1124
- <tabBarItem key="tabBarItem" title="" image="group-2" largeContentSizeImage="group-2" selectedImage="group-2" id="w5N-vp-LZS" customClass="RAMAnimatedTabBarItem" customModule="RAMAnimatedTabBarController">
1124
+ <tabBarItem key="tabBarItem" title="" image="calendar" largeContentSizeImage="calendar" selectedImage="calendar" id="w5N-vp-LZS" customClass="RAMAnimatedTabBarItem" customModule="RAMAnimatedTabBarController">
1125
1125
  <inset key="largeContentSizeImageInsets" minX="0.0" minY="1" maxX="0.0" maxY="1"/>
1126
1126
  <userDefinedRuntimeAttributes>
1127
1127
  <userDefinedRuntimeAttribute type="color" keyPath="textColor">
@@ -1440,7 +1440,7 @@
1440
1440
  <image name="Back" width="50" height="50"/>
1441
1441
  <image name="baggage" width="29" height="23"/>
1442
1442
  <image name="edit" width="35" height="35"/>
1443
- <image name="group-2" width="30" height="25"/>
1443
+ <image name="calendar" width="30" height="25"/>
1444
1444
  <image name="icons8-delete" width="100" height="100"/>
1445
1445
  <image name="imageView:CwA-pU-e9P:image" width="20" height="20">
1446
1446
  <mutableData key="keyedArchiveRepresentation">
@@ -1848,7 +1848,7 @@ AAAAAAAAAAAAAAAAAD3RA
1848
1848
  </image>
1849
1849
  <image name="no-fav" width="44" height="41"/>
1850
1850
  <image name="notificaciones" width="130" height="88"/>
1851
- <image name="plane" width="34" height="27"/>
1851
+ <image name="calendar" width="34" height="27"/>
1852
1852
  <image name="tabBarItem:gX4-gq-oKY:image" width="48" height="48">
1853
1853
  <mutableData key="keyedArchiveRepresentation">
1854
1854
  YnBsaXN0MDDUAQIDBAUGVVZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK8QEgcI
@@ -41,7 +41,7 @@
41
41
  <constraint firstAttribute="width" constant="45" id="zQZ-CB-Snb"/>
42
42
  </constraints>
43
43
  </imageView>
44
- <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Are you sure this destination exist?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="n45-cG-wqU">
44
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Please try searching by other words" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="n45-cG-wqU">
45
45
  <rect key="frame" x="50" y="225" width="275" height="45"/>
46
46
  <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
47
47
  <fontDescription key="fontDescription" name="Quicksand-Medium" family="Quicksand" pointSize="18"/>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mvcgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20
4
+ version: 0.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Martinez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-14 00:00:00.000000000 Z
11
+ date: 2019-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -131,14 +131,6 @@ files:
131
131
  - lib/templates/default/swift/Assets.xcassets/Welcome_003.imageset/Icons_NotATour_Welcome_003.pdf
132
132
  - lib/templates/default/swift/Assets.xcassets/Welcome_004.imageset/Contents.json
133
133
  - lib/templates/default/swift/Assets.xcassets/Welcome_004.imageset/Icons_NotATour_Welcome_004.pdf
134
- - lib/templates/default/swift/Assets.xcassets/alert_beach.imageset/Contents.json
135
- - lib/templates/default/swift/Assets.xcassets/alert_beach.imageset/icons8-beach-64.png
136
- - lib/templates/default/swift/Assets.xcassets/alert_nobaggage.imageset/Contents.json
137
- - lib/templates/default/swift/Assets.xcassets/alert_nobaggage.imageset/icons8-no-baggage-100.png
138
- - lib/templates/default/swift/Assets.xcassets/alert_signpost.imageset/Contents.json
139
- - lib/templates/default/swift/Assets.xcassets/alert_signpost.imageset/icons8-signpost-64.png
140
- - lib/templates/default/swift/Assets.xcassets/alert_sunbed.imageset/Contents.json
141
- - lib/templates/default/swift/Assets.xcassets/alert_sunbed.imageset/sunbed.png
142
134
  - lib/templates/default/swift/Assets.xcassets/arrow.imageset/Contents.json
143
135
  - lib/templates/default/swift/Assets.xcassets/arrow.imageset/arrow.pdf
144
136
  - lib/templates/default/swift/Assets.xcassets/baggage.imageset/Contents.json
@@ -253,18 +245,19 @@ files:
253
245
  - lib/templates/default/swift/Controllers/Profile/ProfileContainerVC.swift
254
246
  - lib/templates/default/swift/Controllers/Profile/ProfileTVC.swift
255
247
  - lib/templates/default/swift/Controllers/Tutorial/TutorialVC.swift
256
- - lib/templates/default/swift/Extensions/ArrayDuplicates.swift
257
248
  - lib/templates/default/swift/Extensions/Buttons.swift
258
249
  - lib/templates/default/swift/Extensions/CustomCamera.swift
259
- - lib/templates/default/swift/Extensions/GradientView.swift
260
- - lib/templates/default/swift/Extensions/HideKeyboard.swift
261
- - lib/templates/default/swift/Extensions/Images.swift
262
- - lib/templates/default/swift/Extensions/InnerShadowExtension.swift
263
- - lib/templates/default/swift/Extensions/TableViewEmptyView.swift
264
- - lib/templates/default/swift/Extensions/TapEffectExtension.swift
265
- - lib/templates/default/swift/Extensions/UIColorExtensions.swift
266
250
  - lib/templates/default/swift/Extensions/UnderlinedTextView.swift
267
251
  - lib/templates/default/swift/Extensions/UnderlinedWithIconTextField.swift
252
+ - lib/templates/default/swift/Extensions/Utils+Array.swift
253
+ - lib/templates/default/swift/Extensions/Utils+Images.swift
254
+ - lib/templates/default/swift/Extensions/Utils+String.swift
255
+ - lib/templates/default/swift/Extensions/Utils+UIButton.swift
256
+ - lib/templates/default/swift/Extensions/Utils+UIColor.swift
257
+ - lib/templates/default/swift/Extensions/Utils+UITableView.swift
258
+ - lib/templates/default/swift/Extensions/Utils+UITextField.swift
259
+ - lib/templates/default/swift/Extensions/Utils+UIView.swift
260
+ - lib/templates/default/swift/Extensions/Utils+UIViewController.swift
268
261
  - lib/templates/default/swift/Helper/APIHelper.swift
269
262
  - lib/templates/default/swift/Helper/APIManager.swift
270
263
  - lib/templates/default/swift/Helper/APIRequestBody.swift