mvcgen 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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