win32ole-pp 1.1.0 → 1.2.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.
@@ -1,3 +1,8 @@
1
+ == 1.2.0 / 2007-07/16
2
+
3
+ * ignore RuntimeError on #ole_obj_help and fallback to original #to_s.
4
+ * add '*' to pointer type.
5
+
1
6
  == 1.1.0 / 2007-02-25
2
7
 
3
8
  * minor bug fix.
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2007 MIYAMUKO Katsuyuki <mailto:miyamuko@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,9 +1,15 @@
1
- CHANGELOG.txt
2
1
  History.txt
2
+ License.txt
3
3
  Manifest.txt
4
4
  README.txt
5
5
  Rakefile
6
+ examples/idl.rb
7
+ examples/oletype.rb
6
8
  examples/test.rb
9
+ helper/helper.rb
10
+ helper/rake.rb
11
+ helper/rake_sh_filter.rb
12
+ helper/util.rb
7
13
  lib/win32ole_pp.rb
8
14
  lib/win32ole_pp/extentions.rb
9
15
  lib/win32ole_pp/extentions/common.rb
@@ -17,6 +23,7 @@ lib/win32ole_pp/init.rb
17
23
  lib/win32ole_pp/pp.rb
18
24
  lib/win32ole_pp/to_s.rb
19
25
  lib/win32ole_pp/version.rb
26
+ scripts/rdoc_filter.rb
20
27
  setup.rb
21
28
  test/helper.rb
22
29
  test/test_version.rb
data/README.txt CHANGED
@@ -1,21 +1,12 @@
1
- == win32ole-pp
1
+ == win32ole-pp - Pretty Printer for WIN32OLE
2
2
 
3
- * Author: MIYAMUKO Katsuyuki <mailto:miyamuko@gmail.com>
4
- * Home URL: http://win32ole-pp.rubyforge.org
5
- * Project URL: http://rubyforge.org/projects/win32ole-pp
6
-
7
- === DESCRIPTION:
3
+ === DESCRIPTION
8
4
 
9
5
  win32ole-pp provides smart #to_s and pretty printer for WIN32OLE object.
10
6
 
11
7
  This library helps to develop/debug WIN32OLE applications.
12
8
 
13
- === FEATURES:
14
-
15
- * add WIN32OLE#pretty_print method for pp.
16
- * override WIN32OLE#to_s.
17
-
18
- === SYNOPSIS:
9
+ === SYNOPSIS
19
10
 
20
11
  require "pp"
21
12
  require "win32ole"
@@ -121,36 +112,26 @@ This library helps to develop/debug WIN32OLE applications.
121
112
  end
122
113
 
123
114
 
124
- === REQUIREMENTS:
115
+ === REQUIREMENTS
125
116
 
126
117
  * pp (standard library)
127
118
  * win32ole (standard library)
128
119
 
129
- === INSTALL:
120
+ === INSTALL
130
121
 
131
122
  gem install win32ole-pp
132
123
 
133
- === LICENSE:
134
-
135
- win32ole-pp is released under the MIT license.
124
+ === COPYRIGHT
136
125
 
137
126
  Copyright (c) 2007 MIYAMUKO Katsuyuki.
138
127
 
139
- Permission is hereby granted, free of charge, to any person obtaining
140
- a copy of this software and associated documentation files (the
141
- 'Software'), to deal in the Software without restriction, including
142
- without limitation the rights to use, copy, modify, merge, publish,
143
- distribute, sublicense, and/or sell copies of the Software, and to
144
- permit persons to whom the Software is furnished to do so, subject to
145
- the following conditions:
146
-
147
- The above copyright notice and this permission notice shall be
148
- included in all copies or substantial portions of the Software.
149
-
150
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
151
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
152
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
153
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
154
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
155
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
156
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
128
+ win32ole-pp is released under an MIT license.
129
+ See {License.txt}[link:files/License_txt.html] for full license.
130
+
131
+
132
+ === OTHER STUFF
133
+
134
+ Author:: MIYAMUKO Katsuyuki <mailto:miyamuko@gmail.com>
135
+ Home URL:: http://win32ole-pp.rubyforge.org
136
+ Project URL:: http://rubyforge.org/projects/win32ole-pp
137
+ Blog (Japanese):: {id:miyamuko}[http://d.hatena.ne.jp/miyamuko/]
data/Rakefile CHANGED
@@ -1,92 +1,157 @@
1
1
  # -*- ruby -*-
2
2
 
3
3
  require 'rubygems'
4
- require 'hoe'
4
+ require 'rake'
5
+ require 'rake/clean'
6
+ require 'rake/testtask'
7
+ require 'rake/packagetask'
8
+ require 'rake/gempackagetask'
9
+ require 'rake/rdoctask'
5
10
  require 'rake/contrib/rubyforgepublisher'
6
- require './lib/win32ole_pp/version.rb'
11
+ require 'fileutils'
12
+ require 'hoe'
7
13
 
14
+ require './lib/win32ole_pp/version.rb'
15
+ require 'helper/helper.rb'
8
16
 
17
+ AUTHOR = 'MIYAMUKO Katsuyuki' # can also be an array of Authors
18
+ EMAIL = "miyamuko@gmail.com"
19
+ GEM_NAME = 'win32ole-pp'
9
20
  RUBYFORGE_PROJECT = 'win32ole-pp'
10
-
11
- # command filter hack.
12
- $shell_command_filter = []
13
- alias sh_original sh
14
- def sh(*cmd, &block)
15
- cmd = $shell_command_filter.inject(cmd){|c,filter| filter.call(c) or c }
16
- sh_original(*cmd, &block)
17
- end
18
-
19
- # rake publish_docs SCP=pscp
20
- if ENV["SCP"] and ENV["SCP"] != "scp"
21
- $shell_command_filter << lambda {|cmd|
22
- cmd[0] = cmd[0].sub(/\Ascp/, ENV["SCP"]).sub(/-rq/, "-r") if cmd[0] =~ /\Ascp /
23
- cmd
24
- }
25
- end
26
-
27
- def remove_task(task_name)
28
- Rake.application.instance_eval {
29
- @tasks.delete(task_name.to_s)
30
- }
21
+ HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
22
+ DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
23
+ NEWS_FILE = "news.txt"
24
+
25
+ VERS = WIN32OLE_PP::VERSION::STRING
26
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/.cache', NEWS_FILE]
27
+
28
+ @config_file = "~/.rubyforge/user-config.yml"
29
+ @config = nil
30
+ def rubyforge_username
31
+ unless @config
32
+ begin
33
+ @config = YAML.load(File.read(File.expand_path(@config_file)))
34
+ rescue
35
+ puts "ERROR: No rubyforge config file found: #{@config_file}"
36
+ puts "Run 'rubyforge setup' to prepare your env for access to Rubyforge"
37
+ exit
38
+ end
39
+ end
40
+ @rubyforge_username ||= @config["username"]
31
41
  end
32
42
 
33
- def with_temporary_rename(from, to)
34
- mv from, to
35
- yield
36
- ensure
37
- mv to, from
43
+ class Hoe
44
+ def extra_deps
45
+ @extra_deps.reject!{|x| Array(x).first == 'hoe' }
46
+ @extra_deps
47
+ end
38
48
  end
39
49
 
40
-
41
- Hoe.new(RUBYFORGE_PROJECT, WIN32OLE_PP::VERSION::STRING) do |p|
50
+ hoe = Hoe.new(RUBYFORGE_PROJECT, VERS) do |p|
42
51
  p.rubyforge_name = RUBYFORGE_PROJECT
43
- p.author = ["MIYAMUKO Katsuyuki"]
44
- p.email = "miyamuko@gmail.com"
45
- p.url = "http://win32ole-pp.rubyforge.org/"
52
+ p.author = [AUTHOR]
53
+ p.email = EMAIL
54
+ p.url = HOMEPATH
46
55
 
47
- p.summary = p.paragraphs_of('README.txt', 3..3)[0]
48
- p.description = p.paragraphs_of('README.txt', 3..4).join("\n\n")
56
+ p.summary = p.paragraphs_of('README.txt', 2..2)[0]
57
+ p.description = p.paragraphs_of('README.txt', 2..3).join("\n\n")
49
58
  p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
50
59
 
51
60
  p.need_zip = true
52
61
  p.need_tar = false
53
62
  end
54
63
 
64
+ desc 'Release the website and new gem version'
65
+ task :deploy => [:check_manifest!, :check_version, :publish_docs, :release]
66
+
67
+ task :check_manifest! => [:check_manifest] do
68
+ unless $?.success?
69
+ puts "----"
70
+ puts "Please update Manifest.txt."
71
+ exit 1
72
+ end
73
+ end
74
+
75
+ task :check_version do
76
+ unless ENV['VERSION']
77
+ puts 'Must pass a VERSION=x.y.z release version'
78
+ exit
79
+ end
80
+ unless ENV['VERSION'] == VERS
81
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
82
+ exit
83
+ end
84
+ histver = File.read("History.txt")[/^== (\d+\.\d+\.\d+)/, 1]
85
+ unless ENV['VERSION'] == histver
86
+ puts "Please update your History.txt to match the release version, currently #{histver}"
87
+ exit
88
+ end
89
+ end
90
+
91
+ # remove HTML comment and so on.
92
+ task :docs do
93
+ ruby "scripts/rdoc_filter.rb doc/**/*.html"
94
+ end
95
+
55
96
 
56
97
  #
57
98
  # new task
58
99
  #
59
100
 
60
101
  desc 'Uninstall the gem package'
61
- task :uninstall_gem do
62
- sh "gem.bat uninstall #{RUBYFORGE_PROJECT}"
102
+ task_for_windows :uninstall_gem do
103
+ sh "gem.bat uninstall #{ENV['GEMOPTS']} #{GEM_NAME}"
63
104
  end
64
105
 
65
106
 
66
107
  #
67
- # overwrite hoe defined tasks for Windows
108
+ # overwrite hoe defined tasks.
68
109
  #
69
110
 
70
- remove_task(:install_gem)
71
- desc 'Install the package as a gem'
72
- task :install_gem => [:clean, :package] do
73
- sh "gem.bat install pkg/*.gem"
111
+ task_for_windows :install_gem do
112
+ sh "gem.bat install #{ENV['GEMOPTS']} pkg/*.gem"
74
113
  end
75
114
 
76
- remove_task(:ridocs)
77
- desc "Generate ri locally for testing"
78
- task :ridocs => :clean do
115
+ task_for_windows :ridocs do
79
116
  sh "rdoc.bat --ri -o ri ."
80
117
  end
81
118
 
82
- remove_task(:publish_docs)
83
- desc 'Publish RDoc to RubyForge'
84
- task :publish_docs => [:clean, :docs] do
85
- config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
119
+ task_for_windows :publish_docs do
86
120
  with_temporary_rename("doc", "html") {
87
- Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, config["username"]).upload
121
+ Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, rubyforge_username).upload
122
+ }
123
+ end
124
+
125
+ # rake publish_docs SCP=pscp
126
+ if ENV["SCP"] and ENV["SCP"] != "scp"
127
+ add_sh_filter_for(/\Ascp /) {|cmd|
128
+ cmd[0].sub!(/\Ascp/, ENV["SCP"])
129
+ cmd[0].sub!(/-rq/, "-r")
130
+ cmd
88
131
  }
89
132
  end
90
133
 
91
134
 
135
+ task :create_news do
136
+ subject, title, body, urls = hoe.announcement
137
+ open(NEWS_FILE, "w") do |w|
138
+ w.puts subject
139
+ w.puts "#{title}\n\n#{body}\n\n"
140
+ w.puts "--"
141
+ w.puts "Home URL: #{HOMEPATH}"
142
+ w.puts "Project URL: #{DOWNLOAD_PATH}"
143
+ end
144
+ puts File.read(NEWS_FILE)
145
+ end
146
+
147
+ override_task :post_news do
148
+ subject, body = File.read(NEWS_FILE).split(/\n/, 2)
149
+ require 'rubyforge'
150
+ rf = RubyForge.new
151
+ rf.login
152
+ rf.post_news(RUBYFORGE_PROJECT, subject, body)
153
+ puts "Posted to rubyforge `#{subject}'."
154
+ rm_f NEWS_FILE
155
+ end
156
+
92
157
  # vim: syntax=Ruby
@@ -0,0 +1,25 @@
1
+ require "pp"
2
+ require "win32ole"
3
+
4
+ $LOAD_PATH << File.join(File.dirname(__FILE__), "../lib")
5
+ require "win32ole_pp"
6
+
7
+ ignore = [
8
+ :AddRef,
9
+ :QueryInterface,
10
+ :Release,
11
+ :GetTypeInfoCount,
12
+ :GetTypeInfo,
13
+ :GetIDsOfNames,
14
+ :Invoke,
15
+ ]
16
+
17
+ progid = ARGV[0] || 'InternetExplorer.Application'
18
+ WIN32OLE.new(progid).ole_methods.reject{|e| ignore.include?(e.name.intern) }.each do |e|
19
+ print "["
20
+ print %Q{id(%d), helpstring("%s")} % [e.dispid, e.helpstring]
21
+ print ", %s" % [e.invoke_kind] if e.invoke_kind != "FUNC"
22
+ puts "]"
23
+ puts e.display_string
24
+ puts
25
+ end
@@ -0,0 +1,8 @@
1
+ require "pp"
2
+ require "win32ole"
3
+
4
+ $LOAD_PATH << File.join(File.dirname(__FILE__), "../lib")
5
+ require "win32ole_pp"
6
+
7
+ progid = ARGV[0] || 'InternetExplorer.Application'
8
+ pp WIN32OLE.new(progid).ole_obj_help
@@ -0,0 +1,3 @@
1
+ require "helper/util"
2
+ require "helper/rake"
3
+ require "helper/rake_sh_filter"
@@ -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
@@ -12,6 +12,14 @@ module WIN32OLE_PP
12
12
  "%s:0x%x" % [self.class, object_id << 1]
13
13
  end
14
14
  end
15
+
16
+ def type(type, type_detail)
17
+ if type_detail.include?("PTR")
18
+ "#{type}*"
19
+ else
20
+ type
21
+ end
22
+ end
15
23
  end
16
24
 
17
25
  module PrettyPrint
@@ -39,6 +47,8 @@ module WIN32OLE_PP
39
47
 
40
48
  def to_s_ext
41
49
  "#<%s>" % [address_banner(display_string)]
50
+ rescue
51
+ to_s_original
42
52
  end
43
53
  end
44
54
 
@@ -6,9 +6,9 @@ module WIN32OLE_PP
6
6
  include WIN32OLE_PP::Extentions::Common::InitializeHook
7
7
 
8
8
  def initialize_ext(ole, event = nil)
9
- @ole_class = ole.ole_obj_help.name
10
- @event = event
11
9
  initialize_original(ole, event)
10
+ @ole_class = ole.ole_obj_help.name rescue ole.to_s_original
11
+ @event = event
12
12
  end
13
13
  end
14
14
 
@@ -6,8 +6,12 @@ module WIN32OLE_PP
6
6
  include WIN32OLE_PP::Extentions::Common::ToStringBase
7
7
  include WIN32OLE_PP::Extentions::Common::ToStringHook
8
8
 
9
+ def display_type
10
+ type(return_type, return_type_detail)
11
+ end
12
+
9
13
  def display_string
10
- "%s %s(%s)" % [return_type, name, params.map{|e| e.display_string} * ', ']
14
+ "%s %s(%s)" % [display_type, name, params.map{|e| e.display_string} * ', ']
11
15
  end
12
16
  end
13
17
 
@@ -6,16 +6,22 @@ module WIN32OLE_PP
6
6
  include WIN32OLE_PP::Extentions::Common::ToStringBase
7
7
  include WIN32OLE_PP::Extentions::Common::ToStringHook
8
8
 
9
+ def display_type
10
+ type = type(ole_type, ole_type_detail)
11
+ end
12
+
13
+ def qualifier
14
+ k = %W(in out retval optional)
15
+ v = [input?, output?, retval?, optional?]
16
+ k.zip(v).select{|e| e[1]}.map{|e| e[0]}
17
+ end
18
+
9
19
  def display_string
10
- type = []
11
- type << "in" if input?
12
- type << "out" if output?
13
- type << "retval" if retval?
14
- type << "optional" if optional?
15
- if type.empty?
16
- "%s %s" % [ole_type, name]
20
+ q = qualifier
21
+ if q.empty?
22
+ "%s %s" % [display_type, name]
17
23
  else
18
- "[%s] %s %s" % [type * ", ", ole_type, name]
24
+ "[%s] %s %s" % [q * ", ", display_type, name]
19
25
  end
20
26
  end
21
27
  end
@@ -17,17 +17,17 @@ module WIN32OLE_PP
17
17
  PROPERTIES = [
18
18
  :name,
19
19
  :guid,
20
- :helpstring,
21
- :helpcontext,
22
- :helpfile,
23
- :major_version,
24
- :minor_version,
25
- :ole_methods,
26
20
  :ole_type,
27
21
  :typekind,
28
22
  :progid,
29
23
  :src_type,
30
24
  :visible?,
25
+ :major_version,
26
+ :minor_version,
27
+ :helpstring,
28
+ :helpcontext,
29
+ :helpfile,
30
+ :ole_methods,
31
31
  :variables,
32
32
  ]
33
33
 
@@ -1 +1,3 @@
1
+ require "win32ole_pp/extentions.rb"
2
+
1
3
  WIN32OLE_PP::include_extentions(:Initializer)
@@ -1,7 +1,7 @@
1
1
  module WIN32OLE_PP
2
2
  module VERSION
3
3
  MAJOR = 1
4
- MINOR = 1
4
+ MINOR = 2
5
5
  TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
@@ -0,0 +1,59 @@
1
+ class Filter
2
+
3
+ def initialize
4
+ @filter = []
5
+ end
6
+
7
+ def define_replace(regexp, replace, key)
8
+ @filter << [regexp, lambda { replace }, key]
9
+ end
10
+
11
+ def define_insert_before(tag, snippet, key)
12
+ @filter << [tag, lambda { snippet + tag }, key]
13
+ end
14
+
15
+ def define_insert_after(tag, snippet, key)
16
+ @filter << [tag, lambda { tag + snippet }, key]
17
+ end
18
+
19
+ def update!(file)
20
+ b = File.read(file)
21
+ a = @filter.inject(b) {|bb,subs|
22
+ re, sub, key = *subs
23
+ if key and bb =~ /#{Regexp.quote(key)}/
24
+ bb
25
+ else
26
+ bb.gsub(re, &sub)
27
+ end
28
+ }
29
+ if b != a
30
+ puts file
31
+ File.open(file, "w") {|w| w.puts a }
32
+ end
33
+ end
34
+
35
+ end
36
+
37
+ f = Filter.new
38
+ f.define_replace(/\A\s+/m, "", nil)
39
+ f.define_replace(/\s*<!--.*?-->\s*<html/m, "<html", nil)
40
+ f.define_insert_before("</body>", <<GOOGLE, '<div id="google-analytics">')
41
+
42
+ <!-- Google Analytics -->
43
+ <div id="google-analytics">
44
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
45
+ </script>
46
+ <script type="text/javascript">
47
+ _uacct = "UA-1161245-6";
48
+ urchinTracker();
49
+ </script>
50
+ </div>
51
+
52
+ GOOGLE
53
+
54
+ tag = %Q{\n<meta name="verify-v1" content="4xi61YK06FtgbbYoHU2oPltUGvJZLrQogTtv+vaPYTI=" />\n}
55
+ f.define_insert_after("<head>", tag, '<meta name="verify-v1"')
56
+
57
+ ARGV.each do |html|
58
+ f.update!(html)
59
+ end
@@ -18,9 +18,9 @@ class TestWin32oleMethod < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  def test_to_s
21
- assert_match(re("#<WIN32OLE_METHOD:0x14c73da: IDriveCollection Drives\\(\\)>"),
21
+ assert_match(re("#<WIN32OLE_METHOD:0x14c73da: IDriveCollection\\* Drives\\(\\)>"),
22
22
  @method_drives.to_s)
23
- assert_match(re("#<WIN32OLE_METHOD:0x14c72f4: IFolder CreateFolder\\(\\[in\\] BSTR Path\\)>"),
23
+ assert_match(re("#<WIN32OLE_METHOD:0x14c72f4: IFolder\\* CreateFolder\\(\\[in\\] BSTR Path\\)>"),
24
24
  @method_create_folder.to_s)
25
25
  assert_match(re("#<WIN32OLE_METHOD:0x14c6cd2: VOID DeleteFolder\\(\\[in\\] BSTR FolderSpec, \\[in, optional\\] BOOL Force\\)>"),
26
26
  @method_delete_folder.to_s)
@@ -23,17 +23,17 @@ class TestWin32oleType < Test::Unit::TestCase
23
23
  #<WIN32OLE_TYPE:0x14b6e2c: ScriptControlConstants
24
24
  name=.*?,
25
25
  guid=.*?,
26
- helpstring=.*?,
27
- helpcontext=.*?,
28
- helpfile=.*?,
29
- major_version=.*?,
30
- minor_version=.*?,
31
- ole_methods=.*?,
32
26
  ole_type=.*?,
33
27
  typekind=.*?,
34
28
  progid=.*?,
35
29
  src_type=.*?,
36
30
  visible\\?=.*?,
31
+ major_version=.*?,
32
+ minor_version=.*?,
33
+ helpstring=.*?,
34
+ helpcontext=.*?,
35
+ helpfile=.*?,
36
+ ole_methods=.*?,
37
37
  variables=
38
38
  \\[#<WIN32OLE_VARIABLE:0x14b69d6: GlobalModule
39
39
  name=.*?,
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: win32ole-pp
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.1.0
7
- date: 2007-02-25 00:00:00 +09:00
6
+ version: 1.2.0
7
+ date: 2007-07-16 00:00:00 +09:00
8
8
  summary: "win32ole-pp provides smart #to_s and pretty printer for WIN32OLE object."
9
9
  require_paths:
10
10
  - lib
11
11
  email: miyamuko@gmail.com
12
- homepage: http://win32ole-pp.rubyforge.org/
12
+ homepage: http://win32ole-pp.rubyforge.org
13
13
  rubyforge_project: win32ole-pp
14
14
  description: "win32ole-pp provides smart #to_s and pretty printer for WIN32OLE object. This library helps to develop/debug WIN32OLE applications."
15
15
  autorequire:
@@ -29,12 +29,18 @@ post_install_message:
29
29
  authors:
30
30
  - MIYAMUKO Katsuyuki
31
31
  files:
32
- - CHANGELOG.txt
33
32
  - History.txt
33
+ - License.txt
34
34
  - Manifest.txt
35
35
  - README.txt
36
36
  - Rakefile
37
+ - examples/idl.rb
38
+ - examples/oletype.rb
37
39
  - examples/test.rb
40
+ - helper/helper.rb
41
+ - helper/rake.rb
42
+ - helper/rake_sh_filter.rb
43
+ - helper/util.rb
38
44
  - lib/win32ole_pp.rb
39
45
  - lib/win32ole_pp/extentions.rb
40
46
  - lib/win32ole_pp/extentions/common.rb
@@ -48,6 +54,7 @@ files:
48
54
  - lib/win32ole_pp/pp.rb
49
55
  - lib/win32ole_pp/to_s.rb
50
56
  - lib/win32ole_pp/version.rb
57
+ - scripts/rdoc_filter.rb
51
58
  - setup.rb
52
59
  - test/helper.rb
53
60
  - test/test_version.rb
@@ -65,23 +72,19 @@ test_files:
65
72
  - test/test_win32ole_param.rb
66
73
  - test/test_win32ole_type.rb
67
74
  - test/test_win32ole_variable.rb
68
- rdoc_options: []
69
-
70
- extra_rdoc_files: []
71
-
75
+ rdoc_options:
76
+ - --main
77
+ - README.txt
78
+ extra_rdoc_files:
79
+ - History.txt
80
+ - License.txt
81
+ - Manifest.txt
82
+ - README.txt
72
83
  executables: []
73
84
 
74
85
  extensions: []
75
86
 
76
87
  requirements: []
77
88
 
78
- dependencies:
79
- - !ruby/object:Gem::Dependency
80
- name: hoe
81
- version_requirement:
82
- version_requirements: !ruby/object:Gem::Version::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 1.2.0
87
- version:
89
+ dependencies: []
90
+
@@ -1,14 +0,0 @@
1
- 2007-02-25 MIYAMUKO Katsuyuki
2
-
3
- * win32ole-pp 1.1.0 released!
4
-
5
- * extentions/win32ole_method.rb,
6
- extentions/win32ole_param.rb,
7
- extentions/win32ole_type.rb,
8
- extentions/win32ole_variable.rb (pretty_print): adjust property order.
9
-
10
- * extentions/common.rb (address_banner): fix wrong object address.
11
-
12
- 2007-02-12 MIYAMUKO Katsuyuki
13
-
14
- * win32ole-pp 1.0.0 released!