win 0.3.1 → 0.3.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/HISTORY +8 -0
- data/README.rdoc +2 -2
- data/Rakefile +16 -50
- data/VERSION +1 -1
- data/lib/version.rb +8 -0
- data/lib/win/dde.rb +46 -46
- data/lib/win/error.rb +2 -2
- data/lib/win/gui/dialog.rb +2 -2
- data/lib/win/gui/input.rb +12 -12
- data/lib/win/gui/message.rb +29 -29
- data/lib/win/gui/window.rb +28 -28
- data/lib/win/library.rb +10 -6
- data/tasks/common.rake +14 -0
- data/tasks/doc.rake +14 -0
- data/tasks/gem.rake +39 -0
- data/tasks/git.rake +34 -0
- data/tasks/spec.rake +19 -0
- data/tasks/version.rake +71 -0
- metadata +45 -31
- data/.document +0 -5
- data/win.gemspec +0 -87
data/lib/win/gui/window.rb
CHANGED
@@ -94,7 +94,7 @@ module Win
|
|
94
94
|
# The IsWindow function determines whether the specified window handle identifies an existing window.
|
95
95
|
# [*Syntax*] BOOL IsWindow( HWND hWnd );
|
96
96
|
#
|
97
|
-
# hWnd::
|
97
|
+
# hWnd:: <in> Handle to the window to test.
|
98
98
|
#
|
99
99
|
# *Returns*:: If the window handle identifies an existing window, the return value is (*true*).
|
100
100
|
# If the window handle does not identify an existing window, the return value is (*false*).
|
@@ -113,7 +113,7 @@ module Win
|
|
113
113
|
# The IsWindowVisible function retrieves the visibility state of the specified window.
|
114
114
|
# [*Syntax*] BOOL IsWindowVisible( HWND hWnd );
|
115
115
|
#
|
116
|
-
# hWnd::
|
116
|
+
# hWnd:: <in> Handle to the window to test.
|
117
117
|
#
|
118
118
|
# *Returns*:: If the specified window, its parent window, its parent's parent window, and so forth,
|
119
119
|
# have the WS_VISIBLE style set, return value is *true*. Because the return value specifies
|
@@ -136,7 +136,7 @@ module Win
|
|
136
136
|
# Tests whether the specified window is maximized.
|
137
137
|
# [*Syntax*] BOOL IsZoomed( HWND hWnd );
|
138
138
|
#
|
139
|
-
# hWnd::
|
139
|
+
# hWnd:: <in> Handle to the window to test.
|
140
140
|
#
|
141
141
|
# *Returns*:: If the window is zoomed (maximized), the return value is *true*.
|
142
142
|
# If the window is not zoomed (maximized), the return value is *false*.
|
@@ -150,7 +150,7 @@ module Win
|
|
150
150
|
# Tests whether the specified window is minimized.
|
151
151
|
# [*Syntax*] BOOL IsIconic( HWND hWnd );
|
152
152
|
#
|
153
|
-
# hWnd::
|
153
|
+
# hWnd:: <in> Handle to the window to test.
|
154
154
|
#
|
155
155
|
# *Returns*:: If the window is iconic (minimized), the return value is *true*.
|
156
156
|
# If the window is not iconic (minimized), the return value is *false*.
|
@@ -168,8 +168,8 @@ module Win
|
|
168
168
|
#
|
169
169
|
# [*Syntax*] BOOL IsChild( HWND hWndParent, HWND hWnd);
|
170
170
|
#
|
171
|
-
# hWndParent::
|
172
|
-
# hWnd::
|
171
|
+
# hWndParent:: <in> Handle to the parent window.
|
172
|
+
# hWnd:: <in> Handle to the window to be tested.
|
173
173
|
#
|
174
174
|
# *Returns*:: If the window is a child or descendant window of the specified parent window,
|
175
175
|
# the return value is *true*. If the window is not a child or descendant window of
|
@@ -188,14 +188,14 @@ module Win
|
|
188
188
|
#
|
189
189
|
# [*Syntax*] HWND FindWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName );
|
190
190
|
#
|
191
|
-
# lpClassName::
|
191
|
+
# lpClassName:: <in> Pointer to a null-terminated string that specifies the class name or a class
|
192
192
|
# atom created by a previous call to the RegisterClass or RegisterClassEx function.
|
193
193
|
# The atom must be in the low-order word of lpClassName; the high-order word must be zero.
|
194
194
|
# If lpClassName points to a string, it specifies the window class name. The class name
|
195
195
|
# can be any name registered with RegisterClass or RegisterClassEx, or any of the
|
196
196
|
# predefined control-class names.
|
197
197
|
# If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
|
198
|
-
# lpWindowName::
|
198
|
+
# lpWindowName:: <in> Pointer to a null-terminated string that specifies the window name (the window's title).
|
199
199
|
# If this parameter is NULL, all window names match.
|
200
200
|
# *Returns*:: If the function succeeds, the return value is a handle to the window that has the specified
|
201
201
|
# class name and window name. If the function fails, the return value is *nil*.
|
@@ -232,24 +232,24 @@ module Win
|
|
232
232
|
#
|
233
233
|
# [*Syntax*] HWND FindWindowEx( HWND hwndParent, HWND hwndChildAfter, LPCTSTR lpszClass, LPCTSTR lpszWindow );
|
234
234
|
#
|
235
|
-
# hwndParent::
|
235
|
+
# hwndParent:: <in> Handle to the parent window whose child windows are to be searched.
|
236
236
|
# If hwndParent is NULL, the function uses the desktop window as the parent window.
|
237
237
|
# The function searches among windows that are child windows of the desktop.
|
238
238
|
# Microsoft Windows 2000 and Windows XP: If hwndParent is HWND_MESSAGE, the function
|
239
239
|
# searches all message-only windows.
|
240
|
-
# hwndChildAfter::
|
240
|
+
# hwndChildAfter:: <in> Handle to a child window. The search begins with the next child window in the Z order.
|
241
241
|
# The child window must be a direct child window of hwndParent, not just a descendant window.
|
242
242
|
# If hwndChildAfter is NULL, the search begins with the first child window of hwndParent.
|
243
243
|
# Note that if both hwndParent and hwndChildAfter are NULL, the function searches all
|
244
244
|
# top-level and message-only windows.
|
245
|
-
# lpszClass::
|
245
|
+
# lpszClass:: <in> Pointer to a null-terminated string that specifies the class name or a class atom created
|
246
246
|
# by a previous call to the RegisterClass or RegisterClassEx function. The atom must be placed in
|
247
247
|
# the low-order word of lpszClass; the high-order word must be zero.
|
248
248
|
# If lpszClass is a string, it specifies the window class name. The class name can be any name
|
249
249
|
# registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names,
|
250
250
|
# or it can be MAKEINTATOM(0x800). In this latter case, 0x8000 is the atom for a menu class. For
|
251
251
|
# more information, see the Remarks section of this topic.
|
252
|
-
# lpszWindow::
|
252
|
+
# lpszWindow:: <in> Pointer to a null-terminated string that specifies the window name (the window's title).
|
253
253
|
# If this parameter is NULL, all window names match.
|
254
254
|
#
|
255
255
|
# *Returns*:: If the function succeeds, the return value is a handle to the window that has the specified
|
@@ -321,9 +321,9 @@ module Win
|
|
321
321
|
# GetClassName retrieves the name of the class to which the specified window belongs.
|
322
322
|
# [*Syntax*] int GetClassName( HWND hWnd, LPTSTR lpClassName, int nMaxCount );
|
323
323
|
# *Original* Parameters:
|
324
|
-
# hWnd::
|
325
|
-
# lpClassName::
|
326
|
-
# nMaxCount::
|
324
|
+
# hWnd:: <in> Handle to the window and, indirectly, the class to which the window belongs.
|
325
|
+
# lpClassName:: <out> Pointer to the buffer that is to receive the class name string.
|
326
|
+
# nMaxCount:: <in> Specifies the length, in TCHAR, of the buffer pointed to by the lpClassName parameter.
|
327
327
|
# The class name string is truncated if it is longer than the buffer and is always null-terminated.
|
328
328
|
# *Original* Return:: Length, in characters, of the copied string, not including the terminating null character,
|
329
329
|
# indicates success. Zero indicates that the window has no title bar or text, if the title
|
@@ -376,7 +376,7 @@ module Win
|
|
376
376
|
#
|
377
377
|
# [*Syntax*]: BOOL CloseWindow( HWND hWnd );
|
378
378
|
#
|
379
|
-
# hWnd::
|
379
|
+
# hWnd:: <in> Handle to the window to be minimized.
|
380
380
|
#
|
381
381
|
# *Returns*:: If the function succeeds, the return value is nonzero (*true* in snake_case method). If the function
|
382
382
|
# fails, the return value is zero (*false). To get extended error information, call GetLastError.
|
@@ -400,7 +400,7 @@ module Win
|
|
400
400
|
#
|
401
401
|
# [*Syntax*]: BOOL DestroyWindow( HWND hWnd );
|
402
402
|
#
|
403
|
-
# hWnd::
|
403
|
+
# hWnd:: <in> Handle to the window to be destroyed.
|
404
404
|
#
|
405
405
|
# *Returns*:: If the function succeeds, the return value is nonzero (snake_case method: *true*). If the function
|
406
406
|
# fails, the return value is zero (*false*). To get extended error information, call GetLastError.
|
@@ -420,8 +420,8 @@ module Win
|
|
420
420
|
# [*Syntax*] DWORD GetWindowThreadProcessId( HWND hWnd, LPDWORD lpdwProcessId );
|
421
421
|
#
|
422
422
|
# *Original* Parameters:
|
423
|
-
# hWnd::
|
424
|
-
# lpdwProcessId::
|
423
|
+
# hWnd:: <in> Handle to the window.
|
424
|
+
# lpdwProcessId:: <out> Pointer to a variable that receives the process identifier. If this parameter
|
425
425
|
# is not NULL, GetWindowThreadProcessId copies the identifier of the process to the
|
426
426
|
# variable; otherwise, it does not.
|
427
427
|
# *Original* Return:: The identifier of the thread that created the window.
|
@@ -450,8 +450,8 @@ module Win
|
|
450
450
|
# [*Syntax*] BOOL GetWindowRect( HWND hWnd, LPRECT lpRect );
|
451
451
|
#
|
452
452
|
# *Original* Parameters:
|
453
|
-
# hWnd::
|
454
|
-
# lpRect::
|
453
|
+
# hWnd:: <in> Handle to the window.
|
454
|
+
# lpRect:: <out> Pointer to a structure that receives the screen coordinates of the upper-left and
|
455
455
|
# lower-right corners of the window.
|
456
456
|
# *Original* Return:: Nonzero indicates success. Zero indicates failure. For error info, call GetLastError.
|
457
457
|
# ---
|
@@ -482,8 +482,8 @@ module Win
|
|
482
482
|
#
|
483
483
|
# [*Syntax*] BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam );
|
484
484
|
#
|
485
|
-
# hWnd::
|
486
|
-
# lParam::
|
485
|
+
# hWnd:: <in> Handle to a top-level window.
|
486
|
+
# lParam:: <in> Specifies the application-defined value given in EnumWindows or EnumDesktopWindows.
|
487
487
|
# *Return* *Value*:: To continue enumeration, the callback function must return TRUE;
|
488
488
|
# to stop enumeration, it must return FALSE.
|
489
489
|
# ---
|
@@ -505,8 +505,8 @@ module Win
|
|
505
505
|
# [*Syntax*] BOOL EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam );
|
506
506
|
#
|
507
507
|
# *Original* Parameters:
|
508
|
-
# lpEnumFunc::
|
509
|
-
# lParam::
|
508
|
+
# lpEnumFunc:: <in> Pointer to an application-defined callback function of EnumWindowsProc type.
|
509
|
+
# lParam:: <in> Specifies an application-defined value(message) to be passed to the callback function.
|
510
510
|
# *Original* Return:: Nonzero if the function succeeds, zero if the function fails. GetLastError for error info.
|
511
511
|
# If callback returns zero, the return value is also zero. In this case, the callback
|
512
512
|
# function should call SetLastError to obtain a meaningful error code to be returned to
|
@@ -578,11 +578,11 @@ module Win
|
|
578
578
|
# [*Syntax*] BOOL EnumChildWindows( HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam );
|
579
579
|
#
|
580
580
|
# *Original* Parameters:
|
581
|
-
# hWndParent::
|
581
|
+
# hWndParent:: <in> Handle to the parent window whose child windows are to be enumerated. If this parameter
|
582
582
|
# is NULL, this function is equivalent to EnumWindows.
|
583
583
|
# Windows 95/98/Me: hWndParent cannot be NULL.
|
584
|
-
# lpEnumFunc::
|
585
|
-
# lParam::
|
584
|
+
# lpEnumFunc:: <in> Pointer to an application-defined callback. For more information, see EnumChildProc.
|
585
|
+
# lParam:: <in> Specifies an application-defined value to be passed to the callback function.
|
586
586
|
#
|
587
587
|
# *Return*:: Not used!
|
588
588
|
# ---
|
data/lib/win/library.rb
CHANGED
@@ -307,11 +307,11 @@ module Win
|
|
307
307
|
# will be called. Results coming from &def_block are then transformed and returned.
|
308
308
|
# So, your *def_block* should specify all the behavior of the method being defined. You can use *def_block* to:
|
309
309
|
# - Change original signature of API function, provide argument defaults, check argument types
|
310
|
-
# - Pack arguments into strings/structs for
|
311
|
-
# - Allocate buffers/structs for pointers required by API functions
|
312
|
-
# - Unpack
|
313
|
-
# - Explicitly return results of API call that are returned in
|
314
|
-
# - Convert attached runtime blocks into callback functions and stuff them into
|
310
|
+
# - Pack arguments into strings/structs for <in> or <in/out> parameters that expect a pointer
|
311
|
+
# - Allocate buffers/structs for pointers required by API functions <out> parameters
|
312
|
+
# - Unpack <out> and <in/out> parameters returned as pointers
|
313
|
+
# - Explicitly return results of API call that are returned in <out> and <in/out> parameters
|
314
|
+
# - Convert attached runtime blocks into callback functions and stuff them into <in> callback parameters
|
315
315
|
# - do other stuff that you think is appropriate to make Windows API function behavior more Ruby-like...
|
316
316
|
# ---
|
317
317
|
# Accepts following options:
|
@@ -449,13 +449,17 @@ module Win
|
|
449
449
|
def self.included(klass)
|
450
450
|
klass.extend FFI::Library
|
451
451
|
|
452
|
-
|
452
|
+
# Extracting host class's eigenclass
|
453
|
+
# :stopdoc:
|
454
|
+
eigenklass = class << klass; self; end # :nodoc:
|
455
|
+
|
453
456
|
eigenklass.class_eval do
|
454
457
|
define_method(:namespace) {klass} # Defining new class method for host pointing to itself
|
455
458
|
alias_method :attach_callback, :callback
|
456
459
|
|
457
460
|
include ClassMethods
|
458
461
|
end
|
462
|
+
# :startdoc:
|
459
463
|
|
460
464
|
klass.ffi_lib 'user32', 'kernel32' # Default libraries
|
461
465
|
klass.ffi_convention :stdcall
|
data/tasks/common.rake
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#task :default => 'test:run'
|
2
|
+
#task 'gem:release' => 'test:run'
|
3
|
+
|
4
|
+
#Bundler not ready for prime time just yet
|
5
|
+
#desc 'Bundle dependencies'
|
6
|
+
#task :bundle do
|
7
|
+
# output = `bundle check 2>&1`
|
8
|
+
#
|
9
|
+
# unless $?.to_i == 0
|
10
|
+
# puts output
|
11
|
+
# system "bundle install"
|
12
|
+
# puts
|
13
|
+
# end
|
14
|
+
#end
|
data/tasks/doc.rake
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
desc 'Alias to doc:rdoc'
|
2
|
+
task :doc => 'doc:rdoc'
|
3
|
+
|
4
|
+
namespace :doc do
|
5
|
+
require 'rake/rdoctask'
|
6
|
+
Rake::RDocTask.new do |rdoc|
|
7
|
+
# Rake::RDocTask.new(:rdoc => "rdoc", :clobber_rdoc => "clobber", :rerdoc => "rerdoc") do |rdoc|
|
8
|
+
rdoc.rdoc_dir = DOC_PATH.basename.to_s
|
9
|
+
rdoc.title = "#{NAME} #{VERSION} Documentation"
|
10
|
+
rdoc.main = "README.doc"
|
11
|
+
rdoc.rdoc_files.include('README*')
|
12
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
13
|
+
end
|
14
|
+
end
|
data/tasks/gem.rake
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
desc "Alias to gem:release"
|
2
|
+
task :release => 'gem:release'
|
3
|
+
|
4
|
+
desc "Alias to gem:install"
|
5
|
+
task :install => 'gem:install'
|
6
|
+
|
7
|
+
desc "Alias to gem:build"
|
8
|
+
task :gem => 'gem:build'
|
9
|
+
|
10
|
+
namespace :gem do
|
11
|
+
gem_file = "#{NAME}-#{VERSION}.gem"
|
12
|
+
|
13
|
+
desc "(Re-)Build gem"
|
14
|
+
task :build do
|
15
|
+
puts "Remove existing gem package"
|
16
|
+
rm_rf PKG_PATH
|
17
|
+
puts "Build new gem package"
|
18
|
+
system "gem build #{NAME}.gemspec"
|
19
|
+
puts "Move built gem to package dir"
|
20
|
+
mkdir_p PKG_PATH
|
21
|
+
mv gem_file, PKG_PATH
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Cleanup already installed gem(s)"
|
25
|
+
task :cleanup do
|
26
|
+
puts "Cleaning up installed gem(s)"
|
27
|
+
system "gem cleanup #{NAME}"
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Build and install gem"
|
31
|
+
task :install => :build do
|
32
|
+
system "gem install #{PKG_PATH}/#{gem_file}"
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "Build and push gem to Gemcutter"
|
36
|
+
task :release => [:build, 'git:tag'] do
|
37
|
+
system "gem push #{PKG_PATH}/#{gem_file}"
|
38
|
+
end
|
39
|
+
end
|
data/tasks/git.rake
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
desc "Alias to git:commit"
|
2
|
+
task :git => 'git:commit'
|
3
|
+
|
4
|
+
namespace :git do
|
5
|
+
|
6
|
+
desc "Stage and commit your work [with message]"
|
7
|
+
task :commit, [:message] do |t, args|
|
8
|
+
puts "Staging new (unversioned) files"
|
9
|
+
system "git add --all"
|
10
|
+
if args.message
|
11
|
+
puts "Committing with message: #{args.message}"
|
12
|
+
system %Q[git commit -a -m "#{args.message}" --author arvicco]
|
13
|
+
else
|
14
|
+
puts "Committing"
|
15
|
+
system %Q[git commit -a -m "No message" --author arvicco]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
desc "Push local changes to Github"
|
20
|
+
task :push => :commit do
|
21
|
+
puts "Pushing local changes to remote"
|
22
|
+
system "git push"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Create (release) tag on Github"
|
26
|
+
task :tag => :push do
|
27
|
+
tag = VERSION
|
28
|
+
puts "Creating git tag: #{tag}"
|
29
|
+
system %Q{git tag -a -m "Release tag #{tag}" #{tag}}
|
30
|
+
puts "Pushing #{tag} to remote"
|
31
|
+
system "git push origin #{tag}"
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
data/tasks/spec.rake
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
desc 'Alias to spec:spec'
|
2
|
+
task :spec => 'spec:spec'
|
3
|
+
|
4
|
+
namespace :spec do
|
5
|
+
require 'spec/rake/spectask'
|
6
|
+
|
7
|
+
desc "Run all specs"
|
8
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
9
|
+
t.spec_opts = ['--options', %Q{"#{BASE_PATH}/spec/spec.opts"}]
|
10
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Run specs with RCov"
|
14
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
15
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
16
|
+
t.rcov = true
|
17
|
+
t.rcov_opts = ['--exclude', 'spec']
|
18
|
+
end
|
19
|
+
end
|
data/tasks/version.rake
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
class Version
|
2
|
+
attr_accessor :major, :minor, :patch, :build
|
3
|
+
|
4
|
+
def initialize(version_string)
|
5
|
+
raise "Invalid version #{version_string}" unless version_string =~ /^(\d+)\.(\d+)\.(\d+)(?:\.(.*?))?$/
|
6
|
+
@major = $1.to_i
|
7
|
+
@minor = $2.to_i
|
8
|
+
@patch = $3.to_i
|
9
|
+
@build = $4
|
10
|
+
end
|
11
|
+
|
12
|
+
def bump_major(x)
|
13
|
+
@major += x.to_i
|
14
|
+
@minor = 0
|
15
|
+
@patch = 0
|
16
|
+
@build = nil
|
17
|
+
end
|
18
|
+
|
19
|
+
def bump_minor(x)
|
20
|
+
@minor += x.to_i
|
21
|
+
@patch = 0
|
22
|
+
@build = nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def bump_patch(x)
|
26
|
+
@patch += x.to_i
|
27
|
+
@build = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def update(major, minor, patch, build=nil)
|
31
|
+
@major = major
|
32
|
+
@minor = minor
|
33
|
+
@patch = patch
|
34
|
+
@build = build
|
35
|
+
end
|
36
|
+
|
37
|
+
def write(desc = nil)
|
38
|
+
CLASS_NAME::VERSION_FILE.open('w') {|file| file.puts to_s }
|
39
|
+
(BASE_PATH + 'HISTORY').open('a') do |file|
|
40
|
+
file.puts "\n== #{to_s} / #{Time.now.strftime '%Y-%m-%d'}\n"
|
41
|
+
file.puts "\n* #{desc}\n" if desc
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def to_s
|
46
|
+
[major, minor, patch, build].compact.join('.')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
desc 'Set version: [x.y.z] - explicitly, [1/10/100] - bump major/minor/patch, [.build] - build'
|
51
|
+
task :version, [:command, :desc] do |t, args|
|
52
|
+
version = Version.new(VERSION)
|
53
|
+
case args.command
|
54
|
+
when /^(\d+)\.(\d+)\.(\d+)(?:\.(.*?))?$/ # Set version explicitly
|
55
|
+
version.update($1, $2, $3, $4)
|
56
|
+
when /^\.(.*?)$/ # Set build
|
57
|
+
version.build = $1
|
58
|
+
when /^(\d{1})$/ # Bump patch
|
59
|
+
version.bump_patch $1
|
60
|
+
when /^(\d{1})0$/ # Bump minor
|
61
|
+
version.bump_minor $1
|
62
|
+
when /^(\d{1})00$/ # Bump major
|
63
|
+
version.bump_major $1
|
64
|
+
else # Unknown command, just display VERSION
|
65
|
+
puts "#{NAME} #{version}"
|
66
|
+
next
|
67
|
+
end
|
68
|
+
|
69
|
+
puts "Writing version #{version} to VERSION file"
|
70
|
+
version.write args.desc
|
71
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 3
|
9
|
+
version: 0.3.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- arvicco
|
@@ -14,39 +14,37 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-17 00:00:00 +04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
21
|
+
name: rspec
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
segments:
|
28
|
-
-
|
29
|
-
-
|
30
|
-
-
|
31
|
-
version:
|
32
|
-
type: :
|
28
|
+
- 1
|
29
|
+
- 2
|
30
|
+
- 9
|
31
|
+
version: 1.2.9
|
32
|
+
type: :development
|
33
33
|
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
-
name:
|
35
|
+
name: cucumber
|
36
36
|
prerelease: false
|
37
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
segments:
|
42
|
-
-
|
43
|
-
|
44
|
-
- 9
|
45
|
-
version: 1.2.9
|
42
|
+
- 0
|
43
|
+
version: "0"
|
46
44
|
type: :development
|
47
45
|
version_requirements: *id002
|
48
46
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
47
|
+
name: ffi
|
50
48
|
prerelease: false
|
51
49
|
requirement: &id003 !ruby/object:Gem::Requirement
|
52
50
|
requirements:
|
@@ -54,10 +52,12 @@ dependencies:
|
|
54
52
|
- !ruby/object:Gem::Version
|
55
53
|
segments:
|
56
54
|
- 0
|
57
|
-
|
58
|
-
|
55
|
+
- 6
|
56
|
+
- 0
|
57
|
+
version: 0.6.0
|
58
|
+
type: :runtime
|
59
59
|
version_requirements: *id003
|
60
|
-
description:
|
60
|
+
description: Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI
|
61
61
|
email: arvitallian@gmail.com
|
62
62
|
executables: []
|
63
63
|
|
@@ -65,25 +65,18 @@ extensions: []
|
|
65
65
|
|
66
66
|
extra_rdoc_files:
|
67
67
|
- LICENSE
|
68
|
+
- HISTORY
|
68
69
|
- README.rdoc
|
69
70
|
files:
|
70
|
-
- .
|
71
|
-
- .gitignore
|
72
|
-
- LICENSE
|
73
|
-
- README.rdoc
|
74
|
-
- Rakefile
|
75
|
-
- VERSION
|
76
|
-
- features/step_definitions/win_steps.rb
|
77
|
-
- features/support/env.rb
|
78
|
-
- features/win.feature
|
71
|
+
- lib/version.rb
|
79
72
|
- lib/win/dde.rb
|
80
73
|
- lib/win/error.rb
|
81
74
|
- lib/win/extensions.rb
|
82
|
-
- lib/win/gui.rb
|
83
75
|
- lib/win/gui/dialog.rb
|
84
76
|
- lib/win/gui/input.rb
|
85
77
|
- lib/win/gui/message.rb
|
86
78
|
- lib/win/gui/window.rb
|
79
|
+
- lib/win/gui.rb
|
87
80
|
- lib/win/library.rb
|
88
81
|
- spec/spec.opts
|
89
82
|
- spec/spec_helper.rb
|
@@ -96,14 +89,33 @@ files:
|
|
96
89
|
- spec/win/gui/message_spec.rb
|
97
90
|
- spec/win/gui/window_spec.rb
|
98
91
|
- spec/win/library_spec.rb
|
99
|
-
-
|
92
|
+
- features/step_definitions/win_steps.rb
|
93
|
+
- features/support/env.rb
|
94
|
+
- features/win.feature
|
95
|
+
- tasks/common.rake
|
96
|
+
- tasks/doc.rake
|
97
|
+
- tasks/gem.rake
|
98
|
+
- tasks/git.rake
|
99
|
+
- tasks/spec.rake
|
100
|
+
- tasks/version.rake
|
101
|
+
- Rakefile
|
102
|
+
- README.rdoc
|
103
|
+
- LICENSE
|
104
|
+
- VERSION
|
105
|
+
- HISTORY
|
106
|
+
- .gitignore
|
100
107
|
has_rdoc: true
|
101
108
|
homepage: http://github.com/arvicco/win
|
102
109
|
licenses: []
|
103
110
|
|
104
111
|
post_install_message:
|
105
112
|
rdoc_options:
|
106
|
-
- --charset
|
113
|
+
- --charset
|
114
|
+
- UTF-8
|
115
|
+
- --main
|
116
|
+
- README.rdoc
|
117
|
+
- --title
|
118
|
+
- win
|
107
119
|
require_paths:
|
108
120
|
- lib
|
109
121
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -122,13 +134,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
134
|
version: "0"
|
123
135
|
requirements: []
|
124
136
|
|
125
|
-
rubyforge_project:
|
137
|
+
rubyforge_project: ""
|
126
138
|
rubygems_version: 1.3.6
|
127
139
|
signing_key:
|
128
140
|
specification_version: 3
|
129
141
|
summary: Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI
|
130
142
|
test_files:
|
143
|
+
- spec/spec.opts
|
131
144
|
- spec/spec_helper.rb
|
145
|
+
- spec/test_apps/locknote/LockNote.exe
|
132
146
|
- spec/win/dde_spec.rb
|
133
147
|
- spec/win/error_spec.rb
|
134
148
|
- spec/win/extensions_spec.rb
|
data/.document
DELETED
data/win.gemspec
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{win}
|
8
|
-
s.version = "0.3.1"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["arvicco"]
|
12
|
-
s.date = %q{2010-04-06}
|
13
|
-
s.description = %q{Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI }
|
14
|
-
s.email = %q{arvitallian@gmail.com}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".gitignore",
|
22
|
-
"LICENSE",
|
23
|
-
"README.rdoc",
|
24
|
-
"Rakefile",
|
25
|
-
"VERSION",
|
26
|
-
"features/step_definitions/win_steps.rb",
|
27
|
-
"features/support/env.rb",
|
28
|
-
"features/win.feature",
|
29
|
-
"lib/win/dde.rb",
|
30
|
-
"lib/win/error.rb",
|
31
|
-
"lib/win/extensions.rb",
|
32
|
-
"lib/win/gui.rb",
|
33
|
-
"lib/win/gui/dialog.rb",
|
34
|
-
"lib/win/gui/input.rb",
|
35
|
-
"lib/win/gui/message.rb",
|
36
|
-
"lib/win/gui/window.rb",
|
37
|
-
"lib/win/library.rb",
|
38
|
-
"spec/spec.opts",
|
39
|
-
"spec/spec_helper.rb",
|
40
|
-
"spec/test_apps/locknote/LockNote.exe",
|
41
|
-
"spec/win/dde_spec.rb",
|
42
|
-
"spec/win/error_spec.rb",
|
43
|
-
"spec/win/extensions_spec.rb",
|
44
|
-
"spec/win/gui/dialog_spec.rb",
|
45
|
-
"spec/win/gui/input_spec.rb",
|
46
|
-
"spec/win/gui/message_spec.rb",
|
47
|
-
"spec/win/gui/window_spec.rb",
|
48
|
-
"spec/win/library_spec.rb",
|
49
|
-
"win.gemspec"
|
50
|
-
]
|
51
|
-
s.homepage = %q{http://github.com/arvicco/win}
|
52
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
53
|
-
s.require_paths = ["lib"]
|
54
|
-
s.rubygems_version = %q{1.3.6}
|
55
|
-
s.summary = %q{Rubyesque interfaces and wrappers for Windows API functions pre-defined using FFI}
|
56
|
-
s.test_files = [
|
57
|
-
"spec/spec_helper.rb",
|
58
|
-
"spec/win/dde_spec.rb",
|
59
|
-
"spec/win/error_spec.rb",
|
60
|
-
"spec/win/extensions_spec.rb",
|
61
|
-
"spec/win/gui/dialog_spec.rb",
|
62
|
-
"spec/win/gui/input_spec.rb",
|
63
|
-
"spec/win/gui/message_spec.rb",
|
64
|
-
"spec/win/gui/window_spec.rb",
|
65
|
-
"spec/win/library_spec.rb"
|
66
|
-
]
|
67
|
-
|
68
|
-
if s.respond_to? :specification_version then
|
69
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
70
|
-
s.specification_version = 3
|
71
|
-
|
72
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
73
|
-
s.add_runtime_dependency(%q<ffi>, [">= 0.6.0"])
|
74
|
-
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
75
|
-
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
76
|
-
else
|
77
|
-
s.add_dependency(%q<ffi>, [">= 0.6.0"])
|
78
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
79
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
80
|
-
end
|
81
|
-
else
|
82
|
-
s.add_dependency(%q<ffi>, [">= 0.6.0"])
|
83
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
84
|
-
s.add_dependency(%q<cucumber>, [">= 0"])
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|