win32-captureie 0.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.
- data/History.txt +3 -0
- data/License.txt +20 -0
- data/Manifest.txt +45 -0
- data/README.txt +49 -0
- data/Rakefile +4 -0
- data/TODO.txt +78 -0
- data/bin/prtie +62 -0
- data/config/hoe.rb +72 -0
- data/config/requirements.rb +17 -0
- data/lib/win32/capture_ie/base.rb +4 -0
- data/lib/win32/capture_ie/bitmap.rb +115 -0
- data/lib/win32/capture_ie/browser.rb +119 -0
- data/lib/win32/capture_ie/cli/base.rb +7 -0
- data/lib/win32/capture_ie/cli/prt_ie.rb +100 -0
- data/lib/win32/capture_ie/commands/base.rb +39 -0
- data/lib/win32/capture_ie/commands/prt_ie.rb +66 -0
- data/lib/win32/capture_ie/ffi/base.rb +22 -0
- data/lib/win32/capture_ie/ffi/gdi32.rb +165 -0
- data/lib/win32/capture_ie/ffi/struct.rb +246 -0
- data/lib/win32/capture_ie/ffi/user32.rb +101 -0
- data/lib/win32/capture_ie/ffi.rb +3 -0
- data/lib/win32/capture_ie/screen_captor.rb +131 -0
- data/lib/win32/capture_ie/version.rb +11 -0
- data/lib/win32/capture_ie/window.rb +47 -0
- data/lib/win32/capture_ie.rb +92 -0
- data/script/destroy +14 -0
- data/script/destroy.cmd +1 -0
- data/script/generate +14 -0
- data/script/generate.cmd +1 -0
- data/script/rdoc_filter.rb +75 -0
- data/script/txt2html +74 -0
- data/script/txt2html.cmd +1 -0
- data/setup.rb +1585 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/win32/capture_ie_spec.rb +11 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/deployment2.rake +90 -0
- data/tasks/environment.rake +7 -0
- data/tasks/helper/rake.rb +58 -0
- data/tasks/helper/rake_sh_filter.rb +23 -0
- data/tasks/helper/util.rb +19 -0
- data/tasks/helper.rb +3 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/website.rake +17 -0
- metadata +95 -0
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
desc 'Release the website and new gem version'
|
2
|
+
task :deploy => [:check_version, :website, :release] do
|
3
|
+
puts "Remember to create SVN tag:"
|
4
|
+
puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
5
|
+
"svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
6
|
+
puts "Suggested comment:"
|
7
|
+
puts "Tagging release #{CHANGES}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
11
|
+
task :local_deploy => [:website_generate, :install_gem]
|
12
|
+
|
13
|
+
task :check_version do
|
14
|
+
unless ENV['VERSION']
|
15
|
+
puts 'Must pass a VERSION=x.y.z release version'
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
unless ENV['VERSION'] == VERS
|
19
|
+
puts "Please update your version.rb to match the release version, currently #{VERS}"
|
20
|
+
exit
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
|
25
|
+
task :install_gem_no_doc => [:clean, :package] do
|
26
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
|
27
|
+
end
|
28
|
+
|
29
|
+
namespace :manifest do
|
30
|
+
desc 'Recreate Manifest.txt to include ALL files'
|
31
|
+
task :refresh do
|
32
|
+
`rake check_manifest | patch -p0 > Manifest.txt`
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require "tasks/helper"
|
2
|
+
require "rake/contrib/rubyforgepublisher"
|
3
|
+
|
4
|
+
task :check_version do
|
5
|
+
histver = File.read("History.txt")[/^== (\d+\.\d+\.\d+)/, 1]
|
6
|
+
unless ENV['VERSION'] == histver
|
7
|
+
puts "Please update your History.txt to match the release version, currently #{histver}"
|
8
|
+
exit
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# new task
|
14
|
+
#
|
15
|
+
|
16
|
+
desc 'Uninstall the gem package'
|
17
|
+
task_for_windows :uninstall_gem do
|
18
|
+
sh "gem.bat uninstall #{ENV['GEMOPTS']} #{GEM_NAME}"
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
#
|
23
|
+
# overwrite hoe defined tasks.
|
24
|
+
#
|
25
|
+
|
26
|
+
remove_tasks(:clobber_docs, :docs, :redocs)
|
27
|
+
Rake::RDocTask.new(:docs) do |rd|
|
28
|
+
rd.main = "README.txt"
|
29
|
+
rd.rdoc_dir = RDOC_DIR
|
30
|
+
files = File.read("Manifest.txt").split.grep(/^(lib|bin)|txt$/)
|
31
|
+
files -= ['Manifest.txt']
|
32
|
+
rd.rdoc_files.push(*files)
|
33
|
+
|
34
|
+
rd.options << "-t #{GEM_NAME}-#{VERS} Documentation"
|
35
|
+
rd.options << '--charset=UTF-8'
|
36
|
+
end
|
37
|
+
|
38
|
+
# remove HTML comment and so on.
|
39
|
+
task :docs do
|
40
|
+
ruby "script/rdoc_filter.rb #{RDOC_DIR}/**/*.html"
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
task_for_windows :install_gem do
|
45
|
+
sh "gem.bat install #{ENV['GEMOPTS']} pkg/*.gem"
|
46
|
+
end
|
47
|
+
|
48
|
+
override_task :install_gem_no_doc do
|
49
|
+
sh "gem.bat install #{ENV['GEMOPTS']} --no-rdoc --no-ri pkg/*.gem"
|
50
|
+
end
|
51
|
+
|
52
|
+
task_for_windows :ridocs do
|
53
|
+
sh "rdoc.bat --ri -o ri ."
|
54
|
+
end
|
55
|
+
|
56
|
+
task_for_windows :publish_docs do
|
57
|
+
Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, @rubyforge_username).upload
|
58
|
+
end
|
59
|
+
|
60
|
+
# rake publish_docs SCP=pscp
|
61
|
+
if ENV["SCP"] and ENV["SCP"] != "scp"
|
62
|
+
add_sh_filter_for(/\Ascp /) {|cmd|
|
63
|
+
cmd[0].sub!(/\Ascp/, ENV["SCP"])
|
64
|
+
cmd[0].sub!(/-rq/, "-r")
|
65
|
+
cmd
|
66
|
+
}
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
task :create_news do
|
71
|
+
subject, title, body, urls = hoe.announcement
|
72
|
+
open(NEWS_FILE, "w") do |w|
|
73
|
+
w.puts subject
|
74
|
+
w.puts "#{title}\n\n#{body}\n\n"
|
75
|
+
w.puts "--"
|
76
|
+
w.puts "Home URL: #{HOMEPATH}"
|
77
|
+
w.puts "Project URL: #{DOWNLOAD_PATH}"
|
78
|
+
end
|
79
|
+
puts File.read(NEWS_FILE)
|
80
|
+
end
|
81
|
+
|
82
|
+
override_task :post_news do
|
83
|
+
subject, body = File.read(NEWS_FILE).split(/\n/, 2)
|
84
|
+
require 'rubyforge'
|
85
|
+
rf = RubyForge.new
|
86
|
+
rf.login
|
87
|
+
rf.post_news(RUBYFORGE_PROJECT, subject, body)
|
88
|
+
puts "Posted to rubyforge `#{subject}'."
|
89
|
+
rm_f NEWS_FILE
|
90
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "rake"
|
3
|
+
|
4
|
+
def tasks
|
5
|
+
Rake.application.instance_eval { @tasks }
|
6
|
+
end
|
7
|
+
|
8
|
+
def current_scope
|
9
|
+
Rake.application.instance_eval { @scope.last }
|
10
|
+
end
|
11
|
+
|
12
|
+
def task_defined?(task_name)
|
13
|
+
Rake::Task.task_defined?(task_name)
|
14
|
+
end
|
15
|
+
|
16
|
+
def remove_tasks(*task_names)
|
17
|
+
task_names.flatten.each do |task_name|
|
18
|
+
remove_task(task_name)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def remove_task(task_name)
|
23
|
+
tasks.delete(task_name.to_s)
|
24
|
+
end
|
25
|
+
|
26
|
+
def lookup_task(task_name)
|
27
|
+
Rake::Task[task_name] rescue nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def rakecall(task_name)
|
31
|
+
lookup_task(task_name).invoke
|
32
|
+
end
|
33
|
+
|
34
|
+
def override_task(task_args, &block)
|
35
|
+
task_name, deps = Rake.application.resolve_args(task_args)
|
36
|
+
original = lookup_task(task_name)
|
37
|
+
orgproc = lambda {} # nop
|
38
|
+
if original
|
39
|
+
Rake.application.last_comment = original.comment
|
40
|
+
deps |= original.prerequisites
|
41
|
+
orgproc = lambda{ original.execute }
|
42
|
+
end
|
43
|
+
|
44
|
+
remove_task(task_name)
|
45
|
+
Rake::Task.define_task(task_name => deps) do |t|
|
46
|
+
block.call(t, orgproc)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def task_for_windows(task_args, &block)
|
51
|
+
override_task(task_args) do |t, org|
|
52
|
+
if windows?
|
53
|
+
block.call(t)
|
54
|
+
else
|
55
|
+
org.call
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module FileUtils
|
2
|
+
SHELL_COMMAND_FILTER = []
|
3
|
+
|
4
|
+
alias sh_original sh
|
5
|
+
def sh(*cmd, &block)
|
6
|
+
cmd = SHELL_COMMAND_FILTER.inject(cmd){|c,filter| filter.call(c) or c }
|
7
|
+
sh_original(*cmd, &block)
|
8
|
+
end
|
9
|
+
|
10
|
+
def add_sh_filter(&block)
|
11
|
+
SHELL_COMMAND_FILTER << block
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_sh_filter_for(pattern, &block)
|
15
|
+
add_sh_filter {|cmd|
|
16
|
+
if cmd[0] =~ pattern
|
17
|
+
block.call(cmd)
|
18
|
+
else
|
19
|
+
cmd
|
20
|
+
end
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
def windows?
|
2
|
+
RUBY_PLATFORM =~ /win/
|
3
|
+
end
|
4
|
+
|
5
|
+
def with_temporary_rename(from, to)
|
6
|
+
mv from, to
|
7
|
+
yield
|
8
|
+
ensure
|
9
|
+
mv to, from
|
10
|
+
end
|
11
|
+
|
12
|
+
def has_dot?
|
13
|
+
if windows?
|
14
|
+
v = `dot -V 2>&1` rescue nil
|
15
|
+
v and v =~ /Graphviz/
|
16
|
+
else
|
17
|
+
`which dot` =~ /\/dot/
|
18
|
+
end
|
19
|
+
end
|
data/tasks/helper.rb
ADDED
data/tasks/rspec.rake
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
begin
|
2
|
+
require 'spec'
|
3
|
+
rescue LoadError
|
4
|
+
require 'rubygems'
|
5
|
+
require 'spec'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'spec/rake/spectask'
|
9
|
+
rescue LoadError
|
10
|
+
puts <<-EOS
|
11
|
+
To use rspec for testing you must install rspec gem:
|
12
|
+
gem install rspec
|
13
|
+
EOS
|
14
|
+
exit(0)
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run the specs under spec/models"
|
18
|
+
Spec::Rake::SpecTask.new do |t|
|
19
|
+
t.spec_opts = ['--options', "spec/spec.opts"]
|
20
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
21
|
+
end
|
data/tasks/website.rake
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
desc 'Generate website files'
|
2
|
+
task :website_generate => :ruby_env do
|
3
|
+
(Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
|
4
|
+
sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
desc 'Upload website files to rubyforge'
|
9
|
+
task :website_upload do
|
10
|
+
host = "#{rubyforge_username}@rubyforge.org"
|
11
|
+
remote_dir = "/var/www/gforge-projects/#{PATH}/"
|
12
|
+
local_dir = 'website'
|
13
|
+
sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
|
14
|
+
end
|
15
|
+
|
16
|
+
desc 'Generate and upload website files'
|
17
|
+
task :website => [:website_generate, :website_upload, :publish_docs]
|
metadata
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.4
|
3
|
+
specification_version: 1
|
4
|
+
name: win32-captureie
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2007-11-23 00:00:00 +09:00
|
8
|
+
summary: Win32::CaptureIE - Capture web pages using Internet Explorer
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email: miyamuko@gmail.com
|
12
|
+
homepage: http://win32-captureie.rubyforge.org
|
13
|
+
rubyforge_project: win32-captureie
|
14
|
+
description: Win32::CaptureIE - Capture web pages using Internet Explorer
|
15
|
+
autorequire:
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- MIYAMUKO Katsuyuki
|
31
|
+
files:
|
32
|
+
- History.txt
|
33
|
+
- License.txt
|
34
|
+
- Manifest.txt
|
35
|
+
- README.txt
|
36
|
+
- Rakefile
|
37
|
+
- TODO.txt
|
38
|
+
- bin/prtie
|
39
|
+
- config/hoe.rb
|
40
|
+
- config/requirements.rb
|
41
|
+
- lib/win32/capture_ie.rb
|
42
|
+
- lib/win32/capture_ie/base.rb
|
43
|
+
- lib/win32/capture_ie/bitmap.rb
|
44
|
+
- lib/win32/capture_ie/browser.rb
|
45
|
+
- lib/win32/capture_ie/cli/base.rb
|
46
|
+
- lib/win32/capture_ie/cli/prt_ie.rb
|
47
|
+
- lib/win32/capture_ie/commands/base.rb
|
48
|
+
- lib/win32/capture_ie/commands/prt_ie.rb
|
49
|
+
- lib/win32/capture_ie/ffi.rb
|
50
|
+
- lib/win32/capture_ie/ffi/base.rb
|
51
|
+
- lib/win32/capture_ie/ffi/gdi32.rb
|
52
|
+
- lib/win32/capture_ie/ffi/struct.rb
|
53
|
+
- lib/win32/capture_ie/ffi/user32.rb
|
54
|
+
- lib/win32/capture_ie/screen_captor.rb
|
55
|
+
- lib/win32/capture_ie/version.rb
|
56
|
+
- lib/win32/capture_ie/window.rb
|
57
|
+
- script/destroy
|
58
|
+
- script/destroy.cmd
|
59
|
+
- script/generate
|
60
|
+
- script/generate.cmd
|
61
|
+
- script/rdoc_filter.rb
|
62
|
+
- script/txt2html
|
63
|
+
- script/txt2html.cmd
|
64
|
+
- setup.rb
|
65
|
+
- spec/spec.opts
|
66
|
+
- spec/spec_helper.rb
|
67
|
+
- spec/win32/capture_ie_spec.rb
|
68
|
+
- tasks/deployment.rake
|
69
|
+
- tasks/deployment2.rake
|
70
|
+
- tasks/environment.rake
|
71
|
+
- tasks/helper.rb
|
72
|
+
- tasks/helper/rake.rb
|
73
|
+
- tasks/helper/rake_sh_filter.rb
|
74
|
+
- tasks/helper/util.rb
|
75
|
+
- tasks/rspec.rake
|
76
|
+
- tasks/website.rake
|
77
|
+
test_files: []
|
78
|
+
|
79
|
+
rdoc_options:
|
80
|
+
- --main
|
81
|
+
- README.txt
|
82
|
+
extra_rdoc_files:
|
83
|
+
- History.txt
|
84
|
+
- License.txt
|
85
|
+
- Manifest.txt
|
86
|
+
- README.txt
|
87
|
+
- TODO.txt
|
88
|
+
executables:
|
89
|
+
- prtie
|
90
|
+
extensions: []
|
91
|
+
|
92
|
+
requirements: []
|
93
|
+
|
94
|
+
dependencies: []
|
95
|
+
|