git-ds 0.9.7.4 → 0.9.7.5

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/ChangeLog CHANGED
@@ -1,3 +1,6 @@
1
+ 2011-07-08 : mkfs <mkfs@thoughtgang.org>
2
+ * Added methods to optimize adding model items
3
+
1
4
  2011-07-07 : mkfs <mkfs@thoughtgang.org>
2
5
  * Fixed bug in handling of nested transactions
3
6
 
@@ -239,6 +239,19 @@ if a staging index already exists.
239
239
  exec { index.add(path, data, on_fs) }
240
240
  end
241
241
 
242
+ =begin rdoc
243
+ Add files to the database *without* using ExecCmd or Transaction. Care must
244
+ be taken in using this as it does not sync/build the staging index, so it must
245
+ be wrapped in an ExecCmd or Transaction, or the index must be synced/built
246
+ after all of the fast_add calls are complete.
247
+
248
+ See Database#add.
249
+ =end
250
+ def fast_add(path, data='', on_fs=false)
251
+ # TODO: verify that this will suffice
252
+ index.add(path, data, on_fs)
253
+ end
254
+
242
255
  =begin rdoc
243
256
  Delete an object from the database.
244
257
  =end
@@ -89,6 +89,15 @@ Property BLOB.
89
89
  =end
90
90
  def set(model, parent_path, value)
91
91
  raise InvalidPropertyValueError.new(name, value) if not valid? value
92
+ val = convert_value(value)
93
+ write(model, path(parent_path), val + "\n")
94
+ val
95
+ end
96
+
97
+ =begin rdoc
98
+ Convert value to its internal (in-Git) representation.
99
+ =end
100
+ def convert_value(value)
92
101
  val = value.to_s
93
102
 
94
103
  if value.kind_of?(Array)
@@ -97,8 +106,6 @@ Property BLOB.
97
106
  val = value.inspect
98
107
  end
99
108
 
100
- write(model, path(parent_path), val + "\n")
101
-
102
109
  val
103
110
  end
104
111
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-ds
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
9
  - 7
10
- - 4
11
- version: 0.9.7.4
10
+ - 5
11
+ version: 0.9.7.5
12
12
  platform: ruby
13
13
  authors:
14
14
  - TG Community
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-07-07 00:00:00 -04:00
19
+ date: 2011-07-08 00:00:00 -04:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency