notesgrip 0.0.4
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 +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +22 -0
- data/README.rdoc +135 -0
- data/Rakefile +2 -0
- data/Sample/sample_NotesDatabase.rb +77 -0
- data/Sample/sample_NotesSession.rb +17 -0
- data/Sample/sample_NotesView.rb +63 -0
- data/lib/notesgrip/DocCollection.rb +53 -0
- data/lib/notesgrip/GripWrapper.rb +43 -0
- data/lib/notesgrip/NotesDatabase.rb +468 -0
- data/lib/notesgrip/NotesDocument.rb +258 -0
- data/lib/notesgrip/NotesItem.rb +172 -0
- data/lib/notesgrip/NotesRichTextItem.rb +256 -0
- data/lib/notesgrip/NotesSession.rb +317 -0
- data/lib/notesgrip/NotesView.rb +447 -0
- data/lib/notesgrip/version.rb +3 -0
- data/lib/notesgrip.rb +17 -0
- data/notesgrip.gemspec +23 -0
- metadata +92 -0
@@ -0,0 +1,317 @@
|
|
1
|
+
module Notesgrip
|
2
|
+
# ====================================================
|
3
|
+
# ================= NotesSession Class ===============
|
4
|
+
# ====================================================
|
5
|
+
class NotesSession < GripWrapper
|
6
|
+
@@ns = nil
|
7
|
+
|
8
|
+
def initialize()
|
9
|
+
if @@ns
|
10
|
+
@raw_object = @ns
|
11
|
+
else
|
12
|
+
@raw_object = WIN32OLE.new('Notes.NotesSession')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def AddressBooks()
|
17
|
+
rawdb_arr = @raw_object.AddressBooks()
|
18
|
+
db_arr = []
|
19
|
+
rawdb_arr.each {|raw_db|
|
20
|
+
db_arr.push NotesDatabase.new(raw_db)
|
21
|
+
}
|
22
|
+
db_arr
|
23
|
+
end
|
24
|
+
|
25
|
+
def International()
|
26
|
+
raw_international = @raw_object.International
|
27
|
+
NotesInternational.new(raw_international)
|
28
|
+
end
|
29
|
+
|
30
|
+
def CurrentDatabase
|
31
|
+
db = @raw_object.CurrentDatabase
|
32
|
+
db ? NotesDatabase.new(db) : nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def SavedData
|
36
|
+
raw_saveddb = @raw_object.SavedData
|
37
|
+
raw_saveddb ? NotesDocument.new(raw_saveddb) : nil
|
38
|
+
end
|
39
|
+
|
40
|
+
def URLDatabase
|
41
|
+
db = @raw_object.URLDatabase
|
42
|
+
db ? NotesDatabase.new(db) : nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def UserGroupNameList
|
46
|
+
raw_name_arr = @raw_object.UserGroupNameList
|
47
|
+
name_arr = []
|
48
|
+
raw_name_arr.each {|raw_name|
|
49
|
+
name_arr.push NotesName.new(raw_name)
|
50
|
+
}
|
51
|
+
name_arr
|
52
|
+
end
|
53
|
+
|
54
|
+
def UserNameList
|
55
|
+
raw_name_arr = @raw_object.UserNameList
|
56
|
+
name_arr = []
|
57
|
+
raw_name_arr.each {|raw_name|
|
58
|
+
name_arr.push NotesName.new(raw_name)
|
59
|
+
}
|
60
|
+
name_arr
|
61
|
+
end
|
62
|
+
|
63
|
+
def UserNameObject
|
64
|
+
NotesName.new(@raw_object.UserNameObject)
|
65
|
+
end
|
66
|
+
|
67
|
+
def CreateAdministrationProcess( server )
|
68
|
+
admin_process = @raw_object.CreateAdministrationProcess( server )
|
69
|
+
NotesAdministrationProcess.new(admin_process)
|
70
|
+
end
|
71
|
+
|
72
|
+
def CreateColorObject()
|
73
|
+
NotesColorObject.new(@raw_object.CreateColorObject())
|
74
|
+
end
|
75
|
+
|
76
|
+
def CreateDateRange()
|
77
|
+
NotesDateRange.new(@raw_object.CreateDateRange())
|
78
|
+
end
|
79
|
+
|
80
|
+
def CreateDateTime( dateTime)
|
81
|
+
NotesDateTime.new(@raw_object.CreateDateTime( dateTime))
|
82
|
+
end
|
83
|
+
|
84
|
+
def CreateLog(programName)
|
85
|
+
NotesLog.new(@raw_object.CreateLog(programName))
|
86
|
+
end
|
87
|
+
|
88
|
+
def CreateName( name, language=nil )
|
89
|
+
NotesName.new(@raw_object.CreateName(name, language))
|
90
|
+
end
|
91
|
+
|
92
|
+
def CreateNewsletter(notesDocumentCollection)
|
93
|
+
NotesNewsletter.new(@raw_object.CreateNewsletter(toRaw(notesDocumentCollection)))
|
94
|
+
end
|
95
|
+
|
96
|
+
def CreateRegistration()
|
97
|
+
NotesRegistration.new(@raw_object.CreateRegistration())
|
98
|
+
end
|
99
|
+
|
100
|
+
def CreateRichTextParagraphStyle()
|
101
|
+
NotesRichTextParagraphStyle.new(@raw_object.CreateRichTextParagraphStyle())
|
102
|
+
end
|
103
|
+
|
104
|
+
def CreateRichTextStyl()
|
105
|
+
NotesRichTextStyle.new(@raw_object.CreateRichTextStyl())
|
106
|
+
end
|
107
|
+
|
108
|
+
def CreateStream()
|
109
|
+
NotesStream.new(@raw_object.CreateStream())
|
110
|
+
end
|
111
|
+
|
112
|
+
def Evaluate(formula, doc)
|
113
|
+
@raw_object.Evaluate(formula, toRaw(doc))
|
114
|
+
end
|
115
|
+
|
116
|
+
def FreeTimeSearch( window, duration, names, firstfit=nil)
|
117
|
+
dateRangeArr = @raw_object.FreeTimeSearch( window, duration, names, firstfit)
|
118
|
+
ret_list = []
|
119
|
+
dateRangeArr.each {|notesDateRange|
|
120
|
+
ret_list.push NotesDateRange.new(notesDateRange)
|
121
|
+
}
|
122
|
+
ret_list
|
123
|
+
end
|
124
|
+
|
125
|
+
def GetDatabase(server_name, db_filename)
|
126
|
+
raw_db = @raw_object.GetDatabase(server_name, db_filename)
|
127
|
+
NotesDatabase.new(raw_db)
|
128
|
+
end
|
129
|
+
alias database GetDatabase
|
130
|
+
|
131
|
+
def GetDbDirectory(server_name)
|
132
|
+
raw_db_directory = @raw_object.GetDbDirectory(server_name)
|
133
|
+
NotesDbDirectory.new(raw_db_directory)
|
134
|
+
end
|
135
|
+
|
136
|
+
def GetDirectory()
|
137
|
+
NotesDirectory.new(@raw_object.GetDirectory())
|
138
|
+
end
|
139
|
+
|
140
|
+
def GetEnvironmentString( name, system=false )
|
141
|
+
@raw_object.GetEnvironmentString( name, system)
|
142
|
+
end
|
143
|
+
|
144
|
+
def GetEnvironmentValue(name, system=false )
|
145
|
+
@raw_object.GetEnvironmentValue(name, system)
|
146
|
+
end
|
147
|
+
|
148
|
+
|
149
|
+
POLICYSETTINGS_ARCHIVE = 2
|
150
|
+
POLICYSETTINGS_DESKTOP = 4
|
151
|
+
POLICYSETTINGS_REGISTRATION = 0
|
152
|
+
POLICYSETTINGS_SECURITY = 3
|
153
|
+
POLICYSETTINGS_SETUP = 1
|
154
|
+
def GetUserPolicySettings( server , name , type , explicitPolicy=nil )
|
155
|
+
doc = @raw_object.GetUserPolicySettings( server , name , type , explicitPolicy )
|
156
|
+
NotesDocument.new(doc)
|
157
|
+
end
|
158
|
+
|
159
|
+
def HashPassword()
|
160
|
+
@raw_object.HashPassword()
|
161
|
+
end
|
162
|
+
|
163
|
+
def InitializeUsingNotesUserName( name, password )
|
164
|
+
@raw_object.InitializeUsingNotesUserName( name, password )
|
165
|
+
end
|
166
|
+
|
167
|
+
def Resolve( url )
|
168
|
+
obj = @raw_object.Resolve( url )
|
169
|
+
case url
|
170
|
+
when /\?OpenDatabase/i
|
171
|
+
NotesDocument.new(obj)
|
172
|
+
when /\?OpenView/i
|
173
|
+
NotesView.new(obj)
|
174
|
+
when /\?OpenForm/i
|
175
|
+
NotesForm.new(obj)
|
176
|
+
when /\?OpenDocument/i
|
177
|
+
doc = NotesDocument.new(obj)
|
178
|
+
when /\?OpenAgent/i
|
179
|
+
NotesAgent.new(obj)
|
180
|
+
else
|
181
|
+
obj
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
def SendConsoleCommand( serverName, consoleCommand )
|
186
|
+
@raw_object.SendConsoleCommand( serverName, consoleCommand )
|
187
|
+
end
|
188
|
+
|
189
|
+
def SetEnvironmentVar( name, valueV, issystemvar=false )
|
190
|
+
@raw_object.SetEnvironmentVar( name, valueV, issystemvar )
|
191
|
+
end
|
192
|
+
|
193
|
+
def UpdateProcessedDoc( notesDocument )
|
194
|
+
@raw_object.UpdateProcessedDoc( toRaw(notesDocument) )
|
195
|
+
end
|
196
|
+
|
197
|
+
def VerifyPassword( password, hashedPassword )
|
198
|
+
@raw_object.VerifyPassword( password, hashedPassword )
|
199
|
+
end
|
200
|
+
|
201
|
+
# ----Additional Methods --------
|
202
|
+
NOTES_DATABASE = 1247
|
203
|
+
TEMPLATE = 1248
|
204
|
+
REPLICA_CANDIDATE = 1245
|
205
|
+
TEMPLATE_CANDIDATE = 1246
|
206
|
+
def each_database(serverName = "")
|
207
|
+
db_directory = @raw_object.GetDbDirectory( serverName )
|
208
|
+
raw_db = db_directory.GetFirstDatabase(NOTES_DATABASE)
|
209
|
+
while raw_db
|
210
|
+
next_db = db_directory.GetNextDatabase
|
211
|
+
yield NotesDatabase.new(raw_db)
|
212
|
+
raw_db = next_db
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
end
|
217
|
+
|
218
|
+
# ====================================================
|
219
|
+
# ================= NotesDbDirectory Class ===============
|
220
|
+
# ====================================================
|
221
|
+
class NotesDbDirectory < GripWrapper
|
222
|
+
def nitialize(raw_doc)
|
223
|
+
super(raw_doc)
|
224
|
+
end
|
225
|
+
|
226
|
+
def CreateDatabase(dbfile)
|
227
|
+
servername = @raw_object.Name
|
228
|
+
raw_db = NotesSession.new.GetDatabase(servername, dbfile)
|
229
|
+
unless raw_db.IsOpen
|
230
|
+
raw_db.Create(servername, dbfile, true)
|
231
|
+
end
|
232
|
+
NotesDatabase.new(raw_db)
|
233
|
+
end
|
234
|
+
|
235
|
+
def GetFirstDatabase(fileType=NOTES_DATABASE)
|
236
|
+
raw_db = @raw_object.GetFirstDatabase(fileType)
|
237
|
+
NotesDatabase.new(raw_db)
|
238
|
+
end
|
239
|
+
|
240
|
+
|
241
|
+
def GetNextDatabase()
|
242
|
+
raw_db = @raw_object.GetNextDatabase()
|
243
|
+
return nil unless raw_db
|
244
|
+
NotesDatabase.new(raw_db)
|
245
|
+
end
|
246
|
+
|
247
|
+
def each_database(fileType=NOTES_DATABASE)
|
248
|
+
db = GetFirstDatabase(fileType)
|
249
|
+
while db
|
250
|
+
yield db
|
251
|
+
db = GetNextDatabase()
|
252
|
+
end
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
# ====================================================
|
257
|
+
# ================= NotesDateTime Class ===============
|
258
|
+
# ====================================================
|
259
|
+
class NotesDateTime < GripWrapper
|
260
|
+
# ---- Additional Methods -----
|
261
|
+
def inspect
|
262
|
+
"<#{self.class}, #{self.LocalTime} #{self.TimeOnly}>"
|
263
|
+
end
|
264
|
+
end
|
265
|
+
|
266
|
+
# ====================================================
|
267
|
+
# ================= NotesLog Class ===============
|
268
|
+
# ====================================================
|
269
|
+
class NotesLog < GripWrapper
|
270
|
+
end
|
271
|
+
|
272
|
+
# ====================================================
|
273
|
+
# ================= NotesName Class ===============
|
274
|
+
# ====================================================
|
275
|
+
class NotesName < GripWrapper
|
276
|
+
def inspect
|
277
|
+
"<#{self.class}, #{self.Common}>"
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
# ====================================================
|
282
|
+
# ================= NotesStream Class ===============
|
283
|
+
# ====================================================
|
284
|
+
class NotesStream < GripWrapper
|
285
|
+
end
|
286
|
+
|
287
|
+
# ====================================================
|
288
|
+
# ================= NotesColorObject Class ===============
|
289
|
+
# ====================================================
|
290
|
+
class NotesColorObject < GripWrapper
|
291
|
+
end
|
292
|
+
|
293
|
+
# ====================================================
|
294
|
+
# ======== NotesAdministrationProcess Class ===============
|
295
|
+
# ====================================================
|
296
|
+
class NotesAdministrationProcess < GripWrapper
|
297
|
+
end
|
298
|
+
|
299
|
+
# ====================================================
|
300
|
+
# ======== NotesInternational Class ===============
|
301
|
+
# ====================================================
|
302
|
+
class NotesInternational < GripWrapper
|
303
|
+
end
|
304
|
+
|
305
|
+
# ====================================================
|
306
|
+
# ======== NotesNewsLetter Class ===============
|
307
|
+
# ====================================================
|
308
|
+
class NotesNewsLetter < GripWrapper
|
309
|
+
end
|
310
|
+
|
311
|
+
# ====================================================
|
312
|
+
# ======== NotesRegistration Class ===============
|
313
|
+
# ====================================================
|
314
|
+
class NotesRegistration < GripWrapper
|
315
|
+
end
|
316
|
+
end
|
317
|
+
|