things-client 0.2.2 → 0.2.3
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.
- data/VERSION +1 -1
- data/lib/things/person.rb +4 -0
- data/lib/things/reference/record.rb +6 -1
- data/spec/things/area_spec.rb +17 -0
- metadata +28 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/lib/things/person.rb
CHANGED
@@ -67,7 +67,12 @@ module Things
|
|
67
67
|
self.reference = Things::App.instance.make(:new => self.class.identifier, :with_properties => { :name => name })
|
68
68
|
properties.each_pair { |name, property| self.reference.send(name).set(property) }
|
69
69
|
else
|
70
|
-
|
70
|
+
# update
|
71
|
+
properties = self.class.properties - [:id_]
|
72
|
+
# If :area is present, push it to end the because if other
|
73
|
+
# properties are removed, Things removes the Area altogether
|
74
|
+
properties.push(properties.delete(:area)) if properties.include?(:area)
|
75
|
+
properties.each do |property|
|
71
76
|
if value = self.send(property)
|
72
77
|
self.reference.send(property).set(value.respond_to?(:reference) ? value.reference : value)
|
73
78
|
else
|
data/spec/things/area_spec.rb
CHANGED
@@ -161,6 +161,23 @@ describe "Things::Area" do
|
|
161
161
|
@area.delete
|
162
162
|
end
|
163
163
|
|
164
|
+
# Reported by http://github.com/marcinbunsch/things-client/issues/1
|
165
|
+
it "should maintain association to area on update" do
|
166
|
+
@area.save
|
167
|
+
@area = Things::Area.find(@area.name)
|
168
|
+
@todo = Things::Todo.new(:name => 'TestTODO')
|
169
|
+
@todo.area= @area
|
170
|
+
@todo.save
|
171
|
+
@todo.area.should == @area
|
172
|
+
@todo = Things::Todo.find(@todo.name)
|
173
|
+
@todo.area= @area
|
174
|
+
@todo.save
|
175
|
+
@todo = Things::Todo.find(@todo.name)
|
176
|
+
@todo.area.name.should == @area.name
|
177
|
+
@area.delete
|
178
|
+
@todo.delete
|
179
|
+
end
|
180
|
+
|
164
181
|
end
|
165
182
|
|
166
183
|
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: things-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 2
|
8
|
+
- 3
|
9
|
+
version: 0.2.3
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Marcin Bunsch
|
@@ -9,29 +14,37 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-22 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 2
|
30
|
+
- 9
|
23
31
|
version: 1.2.9
|
24
|
-
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: rb-appscript
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
38
|
requirements:
|
31
39
|
- - ">="
|
32
40
|
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 5
|
44
|
+
- 3
|
33
45
|
version: 0.5.3
|
34
|
-
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
35
48
|
description:
|
36
49
|
email: marcin@applicake.com
|
37
50
|
executables: []
|
@@ -85,18 +98,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
98
|
requirements:
|
86
99
|
- - ">="
|
87
100
|
- !ruby/object:Gem::Version
|
101
|
+
segments:
|
102
|
+
- 0
|
88
103
|
version: "0"
|
89
|
-
version:
|
90
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
105
|
requirements:
|
92
106
|
- - ">="
|
93
107
|
- !ruby/object:Gem::Version
|
108
|
+
segments:
|
109
|
+
- 0
|
94
110
|
version: "0"
|
95
|
-
version:
|
96
111
|
requirements: []
|
97
112
|
|
98
113
|
rubyforge_project:
|
99
|
-
rubygems_version: 1.3.
|
114
|
+
rubygems_version: 1.3.6
|
100
115
|
signing_key:
|
101
116
|
specification_version: 3
|
102
117
|
summary: A Ruby client for Things' Applescript API. Things is a GTD app for OS X.
|