metamodel 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a0ac592ba54f109f9c4dd66e14386c35651c7fe5
4
- data.tar.gz: 428fc1d8078aec4812f2b8053757a5a730f8a01f
3
+ metadata.gz: 299648ce9da2c26b4d34f74f90acdfff7dff076c
4
+ data.tar.gz: b3d307c710260f446bd61c1b2aa0f049523d92b8
5
5
  SHA512:
6
- metadata.gz: b0a5581fb5a1551cca3ed945943cfcf53f7489f3417d1711dd7091aaa01c0d6841331915915a0d3ef327a8bc15f4f4a464923188bf4278a17e9959a488372b9a
7
- data.tar.gz: d67365c7b4b34688c787d5bdf86ea0eab19256c7d34ea875d46686051de1b3d5b7754e54ba7a5aee7fc152c21c1497c8e6c0b1bea50beae99075e010ae4a8b3d
6
+ metadata.gz: 3ab3d001805ebb322de152d52f9c01a973b3d329ae5fbe532f95d34ddfe3dec7c1c77f9e5c1b048aa2f0ace724c93e1da5de1779ad086d0adb4c167a3f2d8733
7
+ data.tar.gz: 3faf5fff2d4738bfe1fe140ce83f4c9f52ac8ab5548836f2863ae2d229496d5cc4621b467bf524af8d7f7c3ed28e68b55c7e8aa03e10e1bf3393206de3f9b1ad
data/README.md CHANGED
@@ -99,7 +99,7 @@ Generating model files
99
99
  Generating MetaModel.framework
100
100
  -> MetaModel.framework located in current folder
101
101
 
102
- [!] Please drag MetaModel.framework into Linked Frameworks and Libraries section
102
+ [!] Please drag MetaModel.framework into Linked Frameworks and Libraries phrase.
103
103
  ```
104
104
 
105
105
  This command build a `MetaModel.framework` in project root folder, you need to add this framework to **Linked frameworks and Libraries** phrase which located in `General` tab.
data/bin/meta CHANGED
File without changes
@@ -33,7 +33,7 @@ module MetaModel
33
33
  UI.message "Existing project `#{config.metamodel_xcode_project}`"
34
34
  else
35
35
  UI.section "Cloning MetaModel project into `./metamodel` folder" do
36
- Git.clone(config.metamodel_template_uri, 'MetaModel')
36
+ Git.clone(config.metamodel_template_uri, 'metamodel')
37
37
  UI.message "Using `./metamodel/MetaModel.xcodeproj` to build module"
38
38
  end
39
39
  end
@@ -58,10 +58,38 @@ module MetaModel
58
58
 
59
59
  def build_metamodel_framework
60
60
  UI.section "Generating MetaModel.framework" do
61
- command = "xcodebuild -project metamodel/MetaModel.xcodeproj -scheme MetaModel > /dev/null 2>&1"
62
- result = system command
61
+
62
+ build_iphoneos = "xcodebuild -scheme MetaModel \
63
+ -project MetaModel/MetaModel.xcodeproj \
64
+ -configuration Release -sdk iphoneos \
65
+ -derivedDataPath './metamodel' \
66
+ BITCODE_GENERATION_MODE=bitcode \
67
+ ONLY_ACTIVE_ARCH=NO \
68
+ CODE_SIGNING_REQUIRED=NO \
69
+ CODE_SIGN_IDENTITY="
70
+ build_iphonesimulator = "xcodebuild -scheme MetaModel \
71
+ -project MetaModel/MetaModel.xcodeproj \
72
+ -configuration Release -sdk iphonesimulator \
73
+ -derivedDataPath './metamodel' \
74
+ ONLY_ACTIVE_ARCH=NO \
75
+ CODE_SIGNING_REQUIRED=NO \
76
+ CODE_SIGN_IDENTITY="
77
+ result = system "#{build_iphoneos} > /dev/null &&
78
+ #{build_iphonesimulator} > /dev/null"
79
+
63
80
  raise Informative, 'Building framework failed.' unless result
64
- result = system "cp -rf MetaModel/Build/Products/Debug-iphoneos/MetaModel.framework #{config.installation_root}"
81
+
82
+ build_products_folder = "./metamodel/Build/Products"
83
+
84
+ copy_command = "cp -rf #{build_products_folder}/Release-iphoneos/MetaModel.framework . && \
85
+ cp -rf #{build_products_folder}/Release-iphonesimulator/MetaModel.framework/Modules/MetaModel.swiftmodule/* \
86
+ MetaModel.framework/Modules/MetaModel.swiftmodule/"
87
+ lipo_command = "lipo -create -output MetaModel.framework/MetaModel \
88
+ #{build_products_folder}/Release-iphonesimulator/MetaModel.framework/MetaModel \
89
+ #{build_products_folder}/Release-iphoneos/MetaModel.framework/MetaModel"
90
+
91
+ result = system "#{copy_command} && #{lipo_command}"
92
+
65
93
  raise Informative, 'Copy framework to current folder failed.' unless result
66
94
  UI.message "-> ".green + "MetaModel.framework located in current folder"
67
95
  end
@@ -7,4 +7,3 @@
7
7
  //
8
8
 
9
9
  import Foundation
10
- import SQLite
@@ -7,7 +7,6 @@
7
7
  //
8
8
 
9
9
  import Foundation
10
- import SQLite
11
10
 
12
11
  let path = NSSearchPathForDirectoriesInDomains(
13
12
  .DocumentDirectory, .UserDomainMask, true
@@ -57,3 +56,20 @@ func executeSQL(sql: String, silent: Bool = false, success: (() -> ())? = nil) -
57
56
  }
58
57
  return nil
59
58
  }
59
+
60
+ func executeScalarSQL(sql: String, silent: Bool = false, success: (() -> ())? = nil) -> Binding? {
61
+ defer { print("\n") }
62
+ print("-> Begin Transaction")
63
+ let startDate = NSDate()
64
+ let result = db.scalar(sql)
65
+ let endDate = NSDate()
66
+ let interval = endDate.timeIntervalSinceDate(startDate) * 1000
67
+ print("\tSQL (\(interval.format("0.2"))ms) \(sql)")
68
+ print("-> Commit Transaction")
69
+
70
+ if let success = success {
71
+ success()
72
+ }
73
+
74
+ return result
75
+ }
@@ -5,7 +5,7 @@ public extension <%= model.name %> {
5
5
  }
6
6
  static func count() -> Int {
7
7
  let countSQL = "SELECT count(*) FROM \(tableName.unwrapped)"
8
- guard let count = executeSQL(countSQL)?.next()?.first as? Int64 else { return 0 }
8
+ guard let count = executeScalarSQL(countSQL) as? Int64 else { return 0 }
9
9
  return Int(count)
10
10
  }
11
11
 
@@ -1,5 +1,5 @@
1
1
  module MetaModel
2
2
  # The version of the MetaModel command line tool.
3
3
  #
4
- VERSION = '0.0.4'.freeze unless defined? MetaModel::MetaModel
4
+ VERSION = '0.0.5'.freeze unless defined? MetaModel::MetaModel
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metamodel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Draveness Zuo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-06 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  version: '0'
184
184
  requirements: []
185
185
  rubyforge_project:
186
- rubygems_version: 2.6.4
186
+ rubygems_version: 2.6.6
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: The Cocoa models generator.