wara 1.0.1 → 1.1.0
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.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/README.md +4 -0
- data/Rakefile +3 -0
- data/bin/wara +2 -1
- data/coredata/Model.xcdatamodeld/Model.xcdatamodel/contents +4 -4
- data/{out → coredata/ObjC}/_NotSameWrapper.h +2 -2
- data/{out → coredata/ObjC}/_NotSameWrapper.m +4 -4
- data/coredata/Swift/BloodPressureWrapper.swift +5 -0
- data/coredata/Swift/CurrentPersonWrapper.swift +5 -0
- data/coredata/Swift/HealthDataWrapper.swift +5 -0
- data/coredata/Swift/NotSameWrapper.swift +5 -0
- data/coredata/Swift/PersonWrapper.swift +5 -0
- data/coredata/Swift/_BloodPressureWrapper.swift +19 -0
- data/coredata/Swift/_CurrentPersonWrapper.swift +17 -0
- data/coredata/Swift/_HealthDataWrapper.swift +26 -0
- data/coredata/Swift/_NotSameWrapper.swift +50 -0
- data/coredata/Swift/_PersonWrapper.swift +23 -0
- data/lib/wara/version.rb +1 -1
- data/lib/wara.rb +82 -2
- data/spec/spec_helper.rb +11 -0
- data/spec/wara_spec.rb +55 -31
- metadata +34 -42
- data/coredata/_NotSameWrapper.h +0 -24
- data/coredata/_NotSameWrapper.m +0 -41
- data/out/BloodPressureWrapper.h +0 -5
- data/out/BloodPressureWrapper.m +0 -15
- data/out/CurrentPersonWrapper.h +0 -5
- data/out/CurrentPersonWrapper.m +0 -15
- data/out/HealthDataWrapper.h +0 -5
- data/out/HealthDataWrapper.m +0 -15
- data/out/NotSameWrapper.h +0 -5
- data/out/NotSameWrapper.m +0 -15
- data/out/PersonWrapper.h +0 -5
- data/out/PersonWrapper.m +0 -15
- data/out/_BloodPressureWrapper.h +0 -14
- data/out/_BloodPressureWrapper.m +0 -25
- data/out/_CurrentPersonWrapper.h +0 -13
- data/out/_CurrentPersonWrapper.m +0 -19
- data/out/_HealthDataWrapper.h +0 -16
- data/out/_HealthDataWrapper.m +0 -25
- data/out/_PersonWrapper.h +0 -15
- data/out/_PersonWrapper.m +0 -23
- /data/coredata/{BloodPressureWrapper.h → ObjC/BloodPressureWrapper.h} +0 -0
- /data/coredata/{BloodPressureWrapper.m → ObjC/BloodPressureWrapper.m} +0 -0
- /data/coredata/{CurrentPersonWrapper.h → ObjC/CurrentPersonWrapper.h} +0 -0
- /data/coredata/{CurrentPersonWrapper.m → ObjC/CurrentPersonWrapper.m} +0 -0
- /data/coredata/{HealthDataWrapper.h → ObjC/HealthDataWrapper.h} +0 -0
- /data/coredata/{HealthDataWrapper.m → ObjC/HealthDataWrapper.m} +0 -0
- /data/coredata/{NotSameWrapper.h → ObjC/NotSameWrapper.h} +0 -0
- /data/coredata/{NotSameWrapper.m → ObjC/NotSameWrapper.m} +0 -0
- /data/coredata/{PersonWrapper.h → ObjC/PersonWrapper.h} +0 -0
- /data/coredata/{PersonWrapper.m → ObjC/PersonWrapper.m} +0 -0
- /data/coredata/{_BloodPressureWrapper.h → ObjC/_BloodPressureWrapper.h} +0 -0
- /data/coredata/{_BloodPressureWrapper.m → ObjC/_BloodPressureWrapper.m} +0 -0
- /data/coredata/{_CurrentPersonWrapper.h → ObjC/_CurrentPersonWrapper.h} +0 -0
- /data/coredata/{_CurrentPersonWrapper.m → ObjC/_CurrentPersonWrapper.m} +0 -0
- /data/coredata/{_HealthDataWrapper.h → ObjC/_HealthDataWrapper.h} +0 -0
- /data/coredata/{_HealthDataWrapper.m → ObjC/_HealthDataWrapper.m} +0 -0
- /data/coredata/{_PersonWrapper.h → ObjC/_PersonWrapper.h} +0 -0
- /data/coredata/{_PersonWrapper.m → ObjC/_PersonWrapper.m} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4774a99b9a89f626eec2f586897780426b599d60
|
|
4
|
+
data.tar.gz: 7f85f7cf5768377fd354a512c0b9ad3334e41ab3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83710cc9081a2214c14c0917bed92fa9c68043b9da40839f21e2af433f29e81436428a3accfc6cf64c69b2fb176752ec61425dd05eaa5273ec183e95ba300e46
|
|
7
|
+
data.tar.gz: d08443138f5b3b8d39683b6954222c33a2622ea33e73d3bed40612e999535a621780d1dbfb6a23236dba146a8bb8e8efcb8e2b324fab51879de9b364a9a2f1b4
|
data/.coveralls.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Wara
|
|
2
2
|
|
|
3
|
+
[](https://travis-ci.org/akuraru/Wara)
|
|
4
|
+
[](https://coveralls.io/r/akuraru/Wara?branch=master)
|
|
5
|
+
[](https://codeclimate.com/github/akuraru/Wara)
|
|
6
|
+
|
|
3
7
|
Wara generate a scapegoat for objects of CoreData.
|
|
4
8
|
|
|
5
9
|
You are using CoreDate, if you want to change the Entity, it is necessary to create a sub-context.However, it takes time be used to manage the sub-context.On the other hand, it is necessary to undo to the default context if one context.
|
data/Rakefile
CHANGED
data/bin/wara
CHANGED
|
@@ -11,9 +11,10 @@ module Wara
|
|
|
11
11
|
|
|
12
12
|
option :model, :type => :string, :aliases => '-m',:required => true, :desc => 'Path to model'
|
|
13
13
|
option :out, :type => :string, :aliases => '-o', :desc => 'Output directory'
|
|
14
|
+
option :swift, :type => :boolean, :desc => 'Generate Swift'
|
|
14
15
|
desc "create", "create Translation.strings"
|
|
15
16
|
def create
|
|
16
|
-
Wara::Core.new.create(options[:model], options[:out])
|
|
17
|
+
Wara::Core.new.create(options[:model], options[:out], options[:swift] ? Lang::ObjC : Lang::Swift)
|
|
17
18
|
puts 'Generate'
|
|
18
19
|
end
|
|
19
20
|
desc "version", "version"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
-
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="
|
|
2
|
+
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="6244" systemVersion="13F34" minimumToolsVersion="Xcode 4.3" macOSVersion="Automatic" iOSVersion="Automatic">
|
|
3
3
|
<entity name="BloodPressure" representedClassName="BloodPressure" parentEntity="HealthData" syncable="YES">
|
|
4
4
|
<attribute name="bloodPressure" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
|
|
5
5
|
</entity>
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
<attribute name="data" optional="YES" attributeType="Binary" syncable="YES"/>
|
|
19
19
|
<attribute name="date" optional="YES" attributeType="Date" syncable="YES"/>
|
|
20
20
|
<attribute name="decimal" optional="YES" attributeType="Decimal" defaultValueString="0.0" syncable="YES"/>
|
|
21
|
-
<attribute name="
|
|
22
|
-
<attribute name="
|
|
21
|
+
<attribute name="dou" optional="YES" attributeType="Double" defaultValueString="0.0" syncable="YES"/>
|
|
22
|
+
<attribute name="flo" optional="YES" attributeType="Float" defaultValueString="0.0" syncable="YES"/>
|
|
23
23
|
<attribute name="int16" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
|
|
24
24
|
<attribute name="int32" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
|
|
25
25
|
<attribute name="int64" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
<element name="BloodPressure" positionX="-27" positionY="63" width="128" height="60"/>
|
|
37
37
|
<element name="CurrentPerson" positionX="-63" positionY="-18" width="128" height="60"/>
|
|
38
38
|
<element name="HealthData" positionX="-36" positionY="9" width="128" height="105"/>
|
|
39
|
-
<element name="Person" positionX="-54" positionY="-9" width="128" height="105"/>
|
|
40
39
|
<element name="NotHaveCusttomClassName" positionX="-54" positionY="36" width="128" height="43"/>
|
|
41
40
|
<element name="NotSameCusstomClassName" positionX="-45" positionY="45" width="128" height="210"/>
|
|
41
|
+
<element name="Person" positionX="-54" positionY="-9" width="128" height="105"/>
|
|
42
42
|
</elements>
|
|
43
43
|
</model>
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
@property(nonatomic, strong) NSData *data;
|
|
9
9
|
@property(nonatomic, strong) NSDate *date;
|
|
10
10
|
@property(nonatomic, strong) NSDecimalNumber *decimal;
|
|
11
|
-
@property(nonatomic, strong) NSNumber *
|
|
12
|
-
@property(nonatomic, strong) NSNumber *
|
|
11
|
+
@property(nonatomic, strong) NSNumber *dou;
|
|
12
|
+
@property(nonatomic, strong) NSNumber *flo;
|
|
13
13
|
@property(nonatomic, strong) NSNumber *int16;
|
|
14
14
|
@property(nonatomic, strong) NSNumber *int32;
|
|
15
15
|
@property(nonatomic, strong) NSNumber *int64;
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
self.data = entity.data;
|
|
15
15
|
self.date = entity.date;
|
|
16
16
|
self.decimal = entity.decimal;
|
|
17
|
-
self.
|
|
18
|
-
self.
|
|
17
|
+
self.dou = entity.dou;
|
|
18
|
+
self.flo = entity.flo;
|
|
19
19
|
self.int16 = entity.int16;
|
|
20
20
|
self.int32 = entity.int32;
|
|
21
21
|
self.int64 = entity.int64;
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
entity.data = self.data;
|
|
31
31
|
entity.date = self.date;
|
|
32
32
|
entity.decimal = self.decimal;
|
|
33
|
-
entity.
|
|
34
|
-
entity.
|
|
33
|
+
entity.dou = self.dou;
|
|
34
|
+
entity.flo = self.flo;
|
|
35
35
|
entity.int16 = self.int16;
|
|
36
36
|
entity.int32 = self.int32;
|
|
37
37
|
entity.int64 = self.int64;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class _BloodPressureWrapper: HealthDataWrapper {
|
|
4
|
+
override func entity() -> BloodPressure? {
|
|
5
|
+
return _entity as BloodPressure?
|
|
6
|
+
}
|
|
7
|
+
var bloodPressure: NSNumber?
|
|
8
|
+
|
|
9
|
+
init(bloodPressure: BloodPressure?) {
|
|
10
|
+
super.init(healthData: bloodPressure)
|
|
11
|
+
if let e = bloodPressure {
|
|
12
|
+
self.bloodPressure = e.bloodPressure
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
func updateBloodPressure(bloodPressure: BloodPressure) {
|
|
16
|
+
super.updateHealthData(bloodPressure)
|
|
17
|
+
bloodPressure.bloodPressure = self.bloodPressure
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class _CurrentPersonWrapper: NSObject {
|
|
4
|
+
let _entity: CurrentPerson?
|
|
5
|
+
func entity() -> CurrentPerson? {
|
|
6
|
+
return _entity
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
init(currentPerson: CurrentPerson?) {
|
|
10
|
+
_entity = currentPerson
|
|
11
|
+
super.init()
|
|
12
|
+
if let e = currentPerson {
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
func updateCurrentPerson(currentPerson: CurrentPerson) {
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class _HealthDataWrapper: NSObject {
|
|
4
|
+
let _entity: HealthData?
|
|
5
|
+
func entity() -> HealthData? {
|
|
6
|
+
return _entity
|
|
7
|
+
}
|
|
8
|
+
var height: NSNumber?
|
|
9
|
+
var timeStamp: NSDate?
|
|
10
|
+
var weight: NSNumber?
|
|
11
|
+
|
|
12
|
+
init(healthData: HealthData?) {
|
|
13
|
+
_entity = healthData
|
|
14
|
+
super.init()
|
|
15
|
+
if let e = healthData {
|
|
16
|
+
self.height = e.height
|
|
17
|
+
self.timeStamp = e.timeStamp
|
|
18
|
+
self.weight = e.weight
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
func updateHealthData(healthData: HealthData) {
|
|
22
|
+
healthData.height = self.height
|
|
23
|
+
healthData.timeStamp = self.timeStamp
|
|
24
|
+
healthData.weight = self.weight
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class _NotSameWrapper: NSObject {
|
|
4
|
+
let _entity: NotSame?
|
|
5
|
+
func entity() -> NotSame? {
|
|
6
|
+
return _entity
|
|
7
|
+
}
|
|
8
|
+
var boolean: NSNumber?
|
|
9
|
+
var data: NSData?
|
|
10
|
+
var date: NSDate?
|
|
11
|
+
var decimal: NSDecimalNumber?
|
|
12
|
+
var dou: NSNumber?
|
|
13
|
+
var flo: NSNumber?
|
|
14
|
+
var int16: NSNumber?
|
|
15
|
+
var int32: NSNumber?
|
|
16
|
+
var int64: NSNumber?
|
|
17
|
+
var string: String?
|
|
18
|
+
var transformable: AnyObject?
|
|
19
|
+
|
|
20
|
+
init(notSame: NotSame?) {
|
|
21
|
+
_entity = notSame
|
|
22
|
+
super.init()
|
|
23
|
+
if let e = notSame {
|
|
24
|
+
self.boolean = e.boolean
|
|
25
|
+
self.data = e.data
|
|
26
|
+
self.date = e.date
|
|
27
|
+
self.decimal = e.decimal
|
|
28
|
+
self.dou = e.dou
|
|
29
|
+
self.flo = e.flo
|
|
30
|
+
self.int16 = e.int16
|
|
31
|
+
self.int32 = e.int32
|
|
32
|
+
self.int64 = e.int64
|
|
33
|
+
self.string = e.string
|
|
34
|
+
self.transformable = e.transformable
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
func updateNotSame(notSame: NotSame) {
|
|
38
|
+
notSame.boolean = self.boolean
|
|
39
|
+
notSame.data = self.data
|
|
40
|
+
notSame.date = self.date
|
|
41
|
+
notSame.decimal = self.decimal
|
|
42
|
+
notSame.dou = self.dou
|
|
43
|
+
notSame.flo = self.flo
|
|
44
|
+
notSame.int16 = self.int16
|
|
45
|
+
notSame.int32 = self.int32
|
|
46
|
+
notSame.int64 = self.int64
|
|
47
|
+
notSame.string = self.string
|
|
48
|
+
notSame.transformable = self.transformable
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
class _PersonWrapper: NSObject {
|
|
4
|
+
let _entity: Person?
|
|
5
|
+
func entity() -> Person? {
|
|
6
|
+
return _entity
|
|
7
|
+
}
|
|
8
|
+
var birthday: NSDate?
|
|
9
|
+
var name: String?
|
|
10
|
+
|
|
11
|
+
init(person: Person?) {
|
|
12
|
+
_entity = person
|
|
13
|
+
super.init()
|
|
14
|
+
if let e = person {
|
|
15
|
+
self.birthday = e.birthday
|
|
16
|
+
self.name = e.name
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
func updatePerson(person: Person) {
|
|
20
|
+
person.birthday = self.birthday
|
|
21
|
+
person.name = self.name
|
|
22
|
+
}
|
|
23
|
+
}
|
data/lib/wara/version.rb
CHANGED
data/lib/wara.rb
CHANGED
|
@@ -3,9 +3,33 @@ require 'kconv'
|
|
|
3
3
|
require 'fileutils'
|
|
4
4
|
require 'rexml/document'
|
|
5
5
|
|
|
6
|
+
class String
|
|
7
|
+
def to_snake
|
|
8
|
+
ptn = /[A-Z\s]*[^A-Z]*/
|
|
9
|
+
self.scan(ptn).map{|i|
|
|
10
|
+
i.gsub(/[\s:]+/,'_').downcase
|
|
11
|
+
}.join('_').gsub(/__+/,'_').sub(/_$/,'')
|
|
12
|
+
end
|
|
13
|
+
def to_camel
|
|
14
|
+
self.split(/[_\s]+/).map{|i|
|
|
15
|
+
a,b,c = i.split(/^(.)/)
|
|
16
|
+
"#{b.upcase}#{c}"
|
|
17
|
+
}.join('')
|
|
18
|
+
end
|
|
19
|
+
def to_scamel
|
|
20
|
+
s = self.to_camel
|
|
21
|
+
s[0].downcase + s[1..-1]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
6
25
|
module Wara
|
|
26
|
+
module Lang
|
|
27
|
+
ObjC = 0
|
|
28
|
+
Swift = 1
|
|
29
|
+
end
|
|
30
|
+
|
|
7
31
|
class Core
|
|
8
|
-
def create(model, to)
|
|
32
|
+
def create(model, to, lang = Lang::ObjC)
|
|
9
33
|
to = File.dirname(model) unless to
|
|
10
34
|
@xml = REXML::Document.new(open(File.expand_path("contents", model)))
|
|
11
35
|
@objects = @xml.get_elements('model/entity')
|
|
@@ -22,8 +46,18 @@ module Wara
|
|
|
22
46
|
},
|
|
23
47
|
}
|
|
24
48
|
}.select{|s| s["representedClassName"]}
|
|
49
|
+
output(@entities, to, lang)
|
|
50
|
+
end
|
|
51
|
+
def output(entities, to, lang)
|
|
25
52
|
FileUtils.mkdir_p(to) unless FileTest.exist?(to)
|
|
26
|
-
|
|
53
|
+
if lang == Lang::ObjC then
|
|
54
|
+
output_objc(entities, to)
|
|
55
|
+
else
|
|
56
|
+
output_swift(entities, to)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
def output_objc(entities, to)
|
|
60
|
+
entities.map {|e|
|
|
27
61
|
file_name = e["representedClassName"]
|
|
28
62
|
hw = header(e)
|
|
29
63
|
File.write( File.expand_path("_#{file_name}Wrapper.h", to), hw)
|
|
@@ -35,6 +69,15 @@ module Wara
|
|
|
35
69
|
File.write( custom_implementation_name, custom_implementation(file_name)) unless FileTest.exist?(custom_implementation_name)
|
|
36
70
|
}
|
|
37
71
|
end
|
|
72
|
+
def output_swift(entities, to)
|
|
73
|
+
entities.map {|e|
|
|
74
|
+
file_name = e["representedClassName"]
|
|
75
|
+
mw = swift(e)
|
|
76
|
+
File.write( File.expand_path("_#{file_name}Wrapper.swift", to), mw)
|
|
77
|
+
custom_implementation_name = File.expand_path("#{file_name}Wrapper.swift", to)
|
|
78
|
+
File.write( custom_implementation_name, custom_swift(file_name)) unless FileTest.exist?(custom_implementation_name)
|
|
79
|
+
}
|
|
80
|
+
end
|
|
38
81
|
def header(e)
|
|
39
82
|
name = e["representedClassName"]
|
|
40
83
|
entity = e["parentEntity"]
|
|
@@ -81,5 +124,42 @@ module Wara
|
|
|
81
124
|
"Transformable"=>"id ",
|
|
82
125
|
}[value]
|
|
83
126
|
end
|
|
127
|
+
def swift(e)
|
|
128
|
+
name = e["representedClassName"]
|
|
129
|
+
entity = e["parentEntity"]
|
|
130
|
+
init = entity ? "[super initWithEntity:entity]" : "[super init]"
|
|
131
|
+
parentEntity = entity ? ": #{entity}Wrapper" : ": NSObject"
|
|
132
|
+
getter = entity ? " override func entity() -> #{name}? {\n return _entity as #{name}?\n" : " let _entity: #{name}?\n func entity() -> #{name}? {\n return _entity\n"
|
|
133
|
+
init = entity ? " super.init(#{entity.to_scamel}: #{name.to_scamel})\n" : " _entity = #{name.to_scamel}\n super.init()\n"
|
|
134
|
+
update = entity ? " super.update#{entity}(#{name.to_scamel})\n" : ""
|
|
135
|
+
"import Foundation\n\nclass _#{name}Wrapper#{parentEntity} {\n#{getter} }\n" +
|
|
136
|
+
e["attributes"].map {|k, v|
|
|
137
|
+
" " * 4 + "var #{k}: #{entitySwiftType(v)}\n"
|
|
138
|
+
}.inject("") {|s, v| s + v} + "\n init(#{name.to_scamel}: #{name}?) {\n#{init} if let e = #{name.to_scamel} {\n" +
|
|
139
|
+
e["attributes"].map {|k, v|
|
|
140
|
+
" " * 12 + "self.#{k} = e.#{k}\n"
|
|
141
|
+
}.inject("") {|s, v| s + v} + " }\n }\n func update#{name}(#{name.to_scamel}: #{name}) {\n#{update}" +
|
|
142
|
+
e["attributes"].map {|k, v|
|
|
143
|
+
" " * 8 + "#{name.to_scamel}.#{k} = self.#{k}\n"
|
|
144
|
+
}.inject("") {|s, v| s + v} + " }\n}\n"
|
|
145
|
+
end
|
|
146
|
+
def custom_swift(file_name)
|
|
147
|
+
"import Foundation\n\nclass #{file_name}Wrapper: _#{file_name}Wrapper {\n // Custom logic goes here.\n}\n"
|
|
148
|
+
end
|
|
149
|
+
def entitySwiftType(value)
|
|
150
|
+
{
|
|
151
|
+
"Boolean"=>"NSNumber?",
|
|
152
|
+
"Binary"=>"NSData?",
|
|
153
|
+
"Date"=>"NSDate?",
|
|
154
|
+
"Decimal"=>"NSDecimalNumber?",
|
|
155
|
+
"Double"=>"NSNumber?",
|
|
156
|
+
"Float"=>"NSNumber?",
|
|
157
|
+
"Integer 16"=>"NSNumber?",
|
|
158
|
+
"Integer 32"=>"NSNumber?",
|
|
159
|
+
"Integer 64"=>"NSNumber?",
|
|
160
|
+
"String"=>"String?",
|
|
161
|
+
"Transformable"=>"AnyObject?",
|
|
162
|
+
}[value]
|
|
163
|
+
end
|
|
84
164
|
end
|
|
85
165
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -14,6 +14,17 @@
|
|
|
14
14
|
# users commonly want.
|
|
15
15
|
#
|
|
16
16
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
17
|
+
require 'coveralls'
|
|
18
|
+
Coveralls.wear!
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
require 'simplecov'
|
|
22
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
23
|
+
SimpleCov::Formatter::HTMLFormatter,
|
|
24
|
+
Coveralls::SimpleCov::Formatter
|
|
25
|
+
]
|
|
26
|
+
SimpleCov.start
|
|
27
|
+
|
|
17
28
|
RSpec.configure do |config|
|
|
18
29
|
# The settings below are suggested to provide a good initial experience
|
|
19
30
|
# with RSpec, but feel free to customize to your heart's content.
|
data/spec/wara_spec.rb
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
1
2
|
require './lib/wara'
|
|
2
3
|
require 'fileutils'
|
|
3
4
|
|
|
5
|
+
describe String do
|
|
6
|
+
it(:to_snake) { expect("HogeFuga".to_snake).to eq "hoge_fuga"}
|
|
7
|
+
it(:to_camel) { expect("hoge_fuga".to_camel).to eq "HogeFuga" }
|
|
8
|
+
it(:to_scamel) { expect("hoge_fuga".to_scamel).to eq "hogeFuga" }
|
|
9
|
+
end
|
|
10
|
+
|
|
4
11
|
module Wara
|
|
5
12
|
class Core
|
|
6
13
|
attr_reader :xml, :objects, :entities
|
|
@@ -8,17 +15,28 @@ module Wara
|
|
|
8
15
|
end
|
|
9
16
|
|
|
10
17
|
describe Wara::Core, "load" do
|
|
11
|
-
let(:core) {Wara::Core.new() }
|
|
12
18
|
entity_names = ["BloodPressure", "HealthData", "CurrentPerson", "NotSame", "Person"]
|
|
13
|
-
|
|
19
|
+
shared_context 'delete all file' do
|
|
14
20
|
before do
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
Dir["./out/ObjC/*.*"].each {|f|
|
|
22
|
+
File.delete(f)
|
|
23
|
+
}
|
|
24
|
+
Dir["./out/Swift/*.*"].each {|f|
|
|
25
|
+
File.delete(f)
|
|
19
26
|
}
|
|
20
|
-
core.create("./coredata/Model.xcdatamodeld/Model.xcdatamodel", "./out")
|
|
21
27
|
end
|
|
28
|
+
end
|
|
29
|
+
shared_context 'create' do
|
|
30
|
+
let(:core) {Wara::Core.new() }
|
|
31
|
+
before do
|
|
32
|
+
core.create("./coredata/Model.xcdatamodeld/Model.xcdatamodel", out, lang)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
describe "creaet" do
|
|
36
|
+
let(:out) { "./out/ObjC" }
|
|
37
|
+
let(:lang) { Wara::Lang::ObjC }
|
|
38
|
+
include_context 'delete all file'
|
|
39
|
+
include_context 'create'
|
|
22
40
|
describe "xml" do
|
|
23
41
|
let(:xml) { core.xml }
|
|
24
42
|
it(:create) {
|
|
@@ -71,7 +89,7 @@ describe Wara::Core, "load" do
|
|
|
71
89
|
it(:check_3) {
|
|
72
90
|
expect(entities[3]).to eq(
|
|
73
91
|
{
|
|
74
|
-
"attributes" => {"boolean"=>"Boolean", "data"=>"Binary", "date"=>"Date", "decimal"=>"Decimal", "
|
|
92
|
+
"attributes" => {"boolean"=>"Boolean", "data"=>"Binary", "date"=>"Date", "decimal"=>"Decimal", "dou"=>"Double", "flo"=>"Float", "int16"=>"Integer 16", "int32"=>"Integer 32", "int64"=>"Integer 64", "string"=>"String", "transformable"=>"Transformable"},
|
|
75
93
|
"name"=>"NotSameCusstomClassName",
|
|
76
94
|
"representedClassName"=>"NotSame",
|
|
77
95
|
"parentEntity"=>nil,
|
|
@@ -87,33 +105,39 @@ describe Wara::Core, "load" do
|
|
|
87
105
|
} )
|
|
88
106
|
}
|
|
89
107
|
end
|
|
108
|
+
end
|
|
109
|
+
describe(:objc) {
|
|
110
|
+
let(:dir) { "ObjC/" }
|
|
111
|
+
let(:out) { "./out/#{dir}" }
|
|
112
|
+
let(:input) { "./coredata/#{dir}" }
|
|
113
|
+
let(:lang) { Wara::Lang::ObjC }
|
|
114
|
+
include_context 'delete all file'
|
|
115
|
+
include_context 'create'
|
|
90
116
|
entity_names.each {|e|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
entity_names.each {|e|
|
|
98
|
-
describe(:read_implementation) {
|
|
99
|
-
let(:read_implementation) { File.read("out/_#{e}Wrapper.m")}
|
|
100
|
-
let(:expected) { File.read("coredata/_#{e}Wrapper.m")}
|
|
101
|
-
it(e) { expect(read_implementation).to eq expected }
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
entity_names.each {|e|
|
|
105
|
-
describe(:read_interface_name) {
|
|
106
|
-
let(:read_interface_name) { File.read("out/#{e}Wrapper.h")}
|
|
107
|
-
let(:expected) { File.read("coredata/#{e}Wrapper.h")}
|
|
108
|
-
it(e) { expect(read_interface_name).to eq expected }
|
|
117
|
+
["_#{e}Wrapper.h", "_#{e}Wrapper.m", "#{e}Wrapper.h", "#{e}Wrapper.m"].each {|file_name|
|
|
118
|
+
describe(file_name) {
|
|
119
|
+
let(:read_interface) { File.read("#{out}#{file_name}")}
|
|
120
|
+
let(:expected) { File.read("#{input}#{file_name}")}
|
|
121
|
+
it(e) { expect(read_interface).to eq expected }
|
|
122
|
+
}
|
|
109
123
|
}
|
|
110
124
|
}
|
|
125
|
+
}
|
|
126
|
+
describe(:objc) {
|
|
127
|
+
let(:dir) { "Swift/" }
|
|
128
|
+
let(:out) { "./out/#{dir}" }
|
|
129
|
+
let(:input) { "./coredata/#{dir}" }
|
|
130
|
+
let(:lang) { Wara::Lang::Swift }
|
|
131
|
+
include_context 'delete all file'
|
|
132
|
+
include_context 'create'
|
|
111
133
|
entity_names.each {|e|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
134
|
+
["_#{e}Wrapper.swift", "#{e}Wrapper.swift"].each {|file_name|
|
|
135
|
+
describe(file_name) {
|
|
136
|
+
let(:read_interface) { File.read("#{out}#{file_name}")}
|
|
137
|
+
let(:expected) { File.read("#{input}#{file_name}")}
|
|
138
|
+
it(e) { expect(read_interface).to eq expected }
|
|
139
|
+
}
|
|
116
140
|
}
|
|
117
141
|
}
|
|
118
|
-
|
|
142
|
+
}
|
|
119
143
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wara
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- akuraru
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-09-
|
|
11
|
+
date: 2014-09-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -65,55 +65,47 @@ executables:
|
|
|
65
65
|
extensions: []
|
|
66
66
|
extra_rdoc_files: []
|
|
67
67
|
files:
|
|
68
|
+
- ".coveralls.yml"
|
|
68
69
|
- ".gitignore"
|
|
70
|
+
- ".travis.yml"
|
|
69
71
|
- Gemfile
|
|
70
72
|
- LICENSE.txt
|
|
71
73
|
- README.md
|
|
72
74
|
- Rakefile
|
|
73
75
|
- bin/wara
|
|
74
|
-
- coredata/BloodPressureWrapper.h
|
|
75
|
-
- coredata/BloodPressureWrapper.m
|
|
76
|
-
- coredata/CurrentPersonWrapper.h
|
|
77
|
-
- coredata/CurrentPersonWrapper.m
|
|
78
|
-
- coredata/HealthDataWrapper.h
|
|
79
|
-
- coredata/HealthDataWrapper.m
|
|
80
76
|
- coredata/Model.xcdatamodeld/Model.xcdatamodel/contents
|
|
81
|
-
- coredata/
|
|
82
|
-
- coredata/
|
|
83
|
-
- coredata/
|
|
84
|
-
- coredata/
|
|
85
|
-
- coredata/
|
|
86
|
-
- coredata/
|
|
87
|
-
- coredata/
|
|
88
|
-
- coredata/
|
|
89
|
-
- coredata/
|
|
90
|
-
- coredata/
|
|
91
|
-
- coredata/
|
|
92
|
-
- coredata/
|
|
93
|
-
- coredata/
|
|
94
|
-
- coredata/
|
|
77
|
+
- coredata/ObjC/BloodPressureWrapper.h
|
|
78
|
+
- coredata/ObjC/BloodPressureWrapper.m
|
|
79
|
+
- coredata/ObjC/CurrentPersonWrapper.h
|
|
80
|
+
- coredata/ObjC/CurrentPersonWrapper.m
|
|
81
|
+
- coredata/ObjC/HealthDataWrapper.h
|
|
82
|
+
- coredata/ObjC/HealthDataWrapper.m
|
|
83
|
+
- coredata/ObjC/NotSameWrapper.h
|
|
84
|
+
- coredata/ObjC/NotSameWrapper.m
|
|
85
|
+
- coredata/ObjC/PersonWrapper.h
|
|
86
|
+
- coredata/ObjC/PersonWrapper.m
|
|
87
|
+
- coredata/ObjC/_BloodPressureWrapper.h
|
|
88
|
+
- coredata/ObjC/_BloodPressureWrapper.m
|
|
89
|
+
- coredata/ObjC/_CurrentPersonWrapper.h
|
|
90
|
+
- coredata/ObjC/_CurrentPersonWrapper.m
|
|
91
|
+
- coredata/ObjC/_HealthDataWrapper.h
|
|
92
|
+
- coredata/ObjC/_HealthDataWrapper.m
|
|
93
|
+
- coredata/ObjC/_NotSameWrapper.h
|
|
94
|
+
- coredata/ObjC/_NotSameWrapper.m
|
|
95
|
+
- coredata/ObjC/_PersonWrapper.h
|
|
96
|
+
- coredata/ObjC/_PersonWrapper.m
|
|
97
|
+
- coredata/Swift/BloodPressureWrapper.swift
|
|
98
|
+
- coredata/Swift/CurrentPersonWrapper.swift
|
|
99
|
+
- coredata/Swift/HealthDataWrapper.swift
|
|
100
|
+
- coredata/Swift/NotSameWrapper.swift
|
|
101
|
+
- coredata/Swift/PersonWrapper.swift
|
|
102
|
+
- coredata/Swift/_BloodPressureWrapper.swift
|
|
103
|
+
- coredata/Swift/_CurrentPersonWrapper.swift
|
|
104
|
+
- coredata/Swift/_HealthDataWrapper.swift
|
|
105
|
+
- coredata/Swift/_NotSameWrapper.swift
|
|
106
|
+
- coredata/Swift/_PersonWrapper.swift
|
|
95
107
|
- lib/wara.rb
|
|
96
108
|
- lib/wara/version.rb
|
|
97
|
-
- out/BloodPressureWrapper.h
|
|
98
|
-
- out/BloodPressureWrapper.m
|
|
99
|
-
- out/CurrentPersonWrapper.h
|
|
100
|
-
- out/CurrentPersonWrapper.m
|
|
101
|
-
- out/HealthDataWrapper.h
|
|
102
|
-
- out/HealthDataWrapper.m
|
|
103
|
-
- out/NotSameWrapper.h
|
|
104
|
-
- out/NotSameWrapper.m
|
|
105
|
-
- out/PersonWrapper.h
|
|
106
|
-
- out/PersonWrapper.m
|
|
107
|
-
- out/_BloodPressureWrapper.h
|
|
108
|
-
- out/_BloodPressureWrapper.m
|
|
109
|
-
- out/_CurrentPersonWrapper.h
|
|
110
|
-
- out/_CurrentPersonWrapper.m
|
|
111
|
-
- out/_HealthDataWrapper.h
|
|
112
|
-
- out/_HealthDataWrapper.m
|
|
113
|
-
- out/_NotSameWrapper.h
|
|
114
|
-
- out/_NotSameWrapper.m
|
|
115
|
-
- out/_PersonWrapper.h
|
|
116
|
-
- out/_PersonWrapper.m
|
|
117
109
|
- spec/spec_helper.rb
|
|
118
110
|
- spec/wara_spec.rb
|
|
119
111
|
- wara.gemspec
|
data/coredata/_NotSameWrapper.h
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
@class NotSame;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@interface _NotSameWrapper : NSObject
|
|
7
|
-
@property(nonatomic, strong) NSNumber *boolean;
|
|
8
|
-
@property(nonatomic, strong) NSData *data;
|
|
9
|
-
@property(nonatomic, strong) NSDate *date;
|
|
10
|
-
@property(nonatomic, strong) NSDecimalNumber *decimal;
|
|
11
|
-
@property(nonatomic, strong) NSNumber *double;
|
|
12
|
-
@property(nonatomic, strong) NSNumber *float;
|
|
13
|
-
@property(nonatomic, strong) NSNumber *int16;
|
|
14
|
-
@property(nonatomic, strong) NSNumber *int32;
|
|
15
|
-
@property(nonatomic, strong) NSNumber *int64;
|
|
16
|
-
@property(nonatomic, strong) NSString *string;
|
|
17
|
-
@property(nonatomic, strong) id transformable;
|
|
18
|
-
|
|
19
|
-
@property(readonly, strong, nonatomic) NotSame *entity;
|
|
20
|
-
|
|
21
|
-
- (instancetype)initWithEntity:(NotSame *)entity;
|
|
22
|
-
|
|
23
|
-
- (void)updateEntity:(NotSame *)entity;
|
|
24
|
-
@end
|
data/coredata/_NotSameWrapper.m
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#import "_NotSameWrapper.h"
|
|
2
|
-
#import "NotSame.h"
|
|
3
|
-
|
|
4
|
-
@interface _NotSameWrapper ()
|
|
5
|
-
@end
|
|
6
|
-
|
|
7
|
-
@implementation _NotSameWrapper {
|
|
8
|
-
}
|
|
9
|
-
- (instancetype)initWithEntity:(NotSame *)entity {
|
|
10
|
-
self = [super init];
|
|
11
|
-
if (self) {
|
|
12
|
-
_entity = entity;
|
|
13
|
-
self.boolean = entity.boolean;
|
|
14
|
-
self.data = entity.data;
|
|
15
|
-
self.date = entity.date;
|
|
16
|
-
self.decimal = entity.decimal;
|
|
17
|
-
self.double = entity.double;
|
|
18
|
-
self.float = entity.float;
|
|
19
|
-
self.int16 = entity.int16;
|
|
20
|
-
self.int32 = entity.int32;
|
|
21
|
-
self.int64 = entity.int64;
|
|
22
|
-
self.string = entity.string;
|
|
23
|
-
self.transformable = entity.transformable;
|
|
24
|
-
}
|
|
25
|
-
return self;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
- (void)updateEntity:(NotSame *)entity {
|
|
29
|
-
entity.boolean = self.boolean;
|
|
30
|
-
entity.data = self.data;
|
|
31
|
-
entity.date = self.date;
|
|
32
|
-
entity.decimal = self.decimal;
|
|
33
|
-
entity.double = self.double;
|
|
34
|
-
entity.float = self.float;
|
|
35
|
-
entity.int16 = self.int16;
|
|
36
|
-
entity.int32 = self.int32;
|
|
37
|
-
entity.int64 = self.int64;
|
|
38
|
-
entity.string = self.string;
|
|
39
|
-
entity.transformable = self.transformable;
|
|
40
|
-
}
|
|
41
|
-
@end
|
data/out/BloodPressureWrapper.h
DELETED
data/out/BloodPressureWrapper.m
DELETED
data/out/CurrentPersonWrapper.h
DELETED
data/out/CurrentPersonWrapper.m
DELETED
data/out/HealthDataWrapper.h
DELETED
data/out/HealthDataWrapper.m
DELETED
data/out/NotSameWrapper.h
DELETED
data/out/NotSameWrapper.m
DELETED
data/out/PersonWrapper.h
DELETED
data/out/PersonWrapper.m
DELETED
data/out/_BloodPressureWrapper.h
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#import "HealthDataWrapper.h"
|
|
2
|
-
|
|
3
|
-
@class BloodPressure;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@interface _BloodPressureWrapper : HealthDataWrapper
|
|
7
|
-
@property(nonatomic, strong) NSNumber *bloodPressure;
|
|
8
|
-
|
|
9
|
-
- (BloodPressure *)entity;
|
|
10
|
-
|
|
11
|
-
- (instancetype)initWithEntity:(BloodPressure *)entity;
|
|
12
|
-
|
|
13
|
-
- (void)updateEntity:(BloodPressure *)entity;
|
|
14
|
-
@end
|
data/out/_BloodPressureWrapper.m
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#import "_BloodPressureWrapper.h"
|
|
2
|
-
#import "BloodPressure.h"
|
|
3
|
-
|
|
4
|
-
@interface _BloodPressureWrapper ()
|
|
5
|
-
@end
|
|
6
|
-
|
|
7
|
-
@implementation _BloodPressureWrapper {
|
|
8
|
-
}
|
|
9
|
-
- (BloodPressure *)entity {
|
|
10
|
-
return (BloodPressure *) [super entity];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
- (instancetype)initWithEntity:(BloodPressure *)entity {
|
|
14
|
-
self = [super initWithEntity:entity];
|
|
15
|
-
if (self) {
|
|
16
|
-
self.bloodPressure = entity.bloodPressure;
|
|
17
|
-
}
|
|
18
|
-
return self;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
- (void)updateEntity:(BloodPressure *)entity {
|
|
22
|
-
[super updateEntity:entity];
|
|
23
|
-
entity.bloodPressure = self.bloodPressure;
|
|
24
|
-
}
|
|
25
|
-
@end
|
data/out/_CurrentPersonWrapper.h
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
@class CurrentPerson;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@interface _CurrentPersonWrapper : NSObject
|
|
7
|
-
|
|
8
|
-
@property(readonly, strong, nonatomic) CurrentPerson *entity;
|
|
9
|
-
|
|
10
|
-
- (instancetype)initWithEntity:(CurrentPerson *)entity;
|
|
11
|
-
|
|
12
|
-
- (void)updateEntity:(CurrentPerson *)entity;
|
|
13
|
-
@end
|
data/out/_CurrentPersonWrapper.m
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
#import "_CurrentPersonWrapper.h"
|
|
2
|
-
#import "CurrentPerson.h"
|
|
3
|
-
|
|
4
|
-
@interface _CurrentPersonWrapper ()
|
|
5
|
-
@end
|
|
6
|
-
|
|
7
|
-
@implementation _CurrentPersonWrapper {
|
|
8
|
-
}
|
|
9
|
-
- (instancetype)initWithEntity:(CurrentPerson *)entity {
|
|
10
|
-
self = [super init];
|
|
11
|
-
if (self) {
|
|
12
|
-
_entity = entity;
|
|
13
|
-
}
|
|
14
|
-
return self;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
- (void)updateEntity:(CurrentPerson *)entity {
|
|
18
|
-
}
|
|
19
|
-
@end
|
data/out/_HealthDataWrapper.h
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
@class HealthData;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@interface _HealthDataWrapper : NSObject
|
|
7
|
-
@property(nonatomic, strong) NSNumber *height;
|
|
8
|
-
@property(nonatomic, strong) NSDate *timeStamp;
|
|
9
|
-
@property(nonatomic, strong) NSNumber *weight;
|
|
10
|
-
|
|
11
|
-
@property(readonly, strong, nonatomic) HealthData *entity;
|
|
12
|
-
|
|
13
|
-
- (instancetype)initWithEntity:(HealthData *)entity;
|
|
14
|
-
|
|
15
|
-
- (void)updateEntity:(HealthData *)entity;
|
|
16
|
-
@end
|
data/out/_HealthDataWrapper.m
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#import "_HealthDataWrapper.h"
|
|
2
|
-
#import "HealthData.h"
|
|
3
|
-
|
|
4
|
-
@interface _HealthDataWrapper ()
|
|
5
|
-
@end
|
|
6
|
-
|
|
7
|
-
@implementation _HealthDataWrapper {
|
|
8
|
-
}
|
|
9
|
-
- (instancetype)initWithEntity:(HealthData *)entity {
|
|
10
|
-
self = [super init];
|
|
11
|
-
if (self) {
|
|
12
|
-
_entity = entity;
|
|
13
|
-
self.height = entity.height;
|
|
14
|
-
self.timeStamp = entity.timeStamp;
|
|
15
|
-
self.weight = entity.weight;
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
- (void)updateEntity:(HealthData *)entity {
|
|
21
|
-
entity.height = self.height;
|
|
22
|
-
entity.timeStamp = self.timeStamp;
|
|
23
|
-
entity.weight = self.weight;
|
|
24
|
-
}
|
|
25
|
-
@end
|
data/out/_PersonWrapper.h
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
@class Person;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@interface _PersonWrapper : NSObject
|
|
7
|
-
@property(nonatomic, strong) NSDate *birthday;
|
|
8
|
-
@property(nonatomic, strong) NSString *name;
|
|
9
|
-
|
|
10
|
-
@property(readonly, strong, nonatomic) Person *entity;
|
|
11
|
-
|
|
12
|
-
- (instancetype)initWithEntity:(Person *)entity;
|
|
13
|
-
|
|
14
|
-
- (void)updateEntity:(Person *)entity;
|
|
15
|
-
@end
|
data/out/_PersonWrapper.m
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#import "_PersonWrapper.h"
|
|
2
|
-
#import "Person.h"
|
|
3
|
-
|
|
4
|
-
@interface _PersonWrapper ()
|
|
5
|
-
@end
|
|
6
|
-
|
|
7
|
-
@implementation _PersonWrapper {
|
|
8
|
-
}
|
|
9
|
-
- (instancetype)initWithEntity:(Person *)entity {
|
|
10
|
-
self = [super init];
|
|
11
|
-
if (self) {
|
|
12
|
-
_entity = entity;
|
|
13
|
-
self.birthday = entity.birthday;
|
|
14
|
-
self.name = entity.name;
|
|
15
|
-
}
|
|
16
|
-
return self;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
- (void)updateEntity:(Person *)entity {
|
|
20
|
-
entity.birthday = self.birthday;
|
|
21
|
-
entity.name = self.name;
|
|
22
|
-
}
|
|
23
|
-
@end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|