oggy-looksee 0.0.1
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/.autotest +9 -0
- data/History.txt +3 -0
- data/Manifest.txt +18 -0
- data/README.rdoc +118 -0
- data/Rakefile +37 -0
- data/ext/looksee/extconf.rb +6 -0
- data/ext/looksee/looksee.c +126 -0
- data/ext/looksee/node-1.9.h +35 -0
- data/lib/looksee.rb +332 -0
- data/lib/looksee/shortcuts.rb +54 -0
- data/lib/looksee/version.rb +3 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/looksee_spec.rb +374 -0
- data/spec/spec_helper.rb +80 -0
- data/tasks/extconf.rake +13 -0
- data/tasks/extconf/looksee.rake +43 -0
- metadata +113 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'spec'
|
2
|
+
require 'mocha'
|
3
|
+
require 'looksee'
|
4
|
+
|
5
|
+
require 'set'
|
6
|
+
|
7
|
+
Spec::Runner.configure do |config|
|
8
|
+
config.mock_with :mocha
|
9
|
+
end
|
10
|
+
|
11
|
+
class Object
|
12
|
+
#
|
13
|
+
# Return this object's singleton class.
|
14
|
+
#
|
15
|
+
def singleton_class
|
16
|
+
class << self; self; end
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Return true if the given object include?-s this object.
|
21
|
+
#
|
22
|
+
def in?(object)
|
23
|
+
object.include?(self)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class String
|
28
|
+
#
|
29
|
+
# Remove a left margin delimited by '|'-characters. Useful for
|
30
|
+
# heredocs:
|
31
|
+
#
|
32
|
+
def demargin
|
33
|
+
gsub(/^ *\|/, '')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# Include these in example groups to add facilities to create
|
39
|
+
# temporary classes and modules, which are swept up at the end of each
|
40
|
+
# example.
|
41
|
+
#
|
42
|
+
# Call make_class('ClassName') or make_module('ModuleName') to create
|
43
|
+
# a temporary class, then access them with plain constants (ClassName,
|
44
|
+
# ModuleName).
|
45
|
+
#
|
46
|
+
module TemporaryClasses
|
47
|
+
def self.included(mod)
|
48
|
+
mod.before do
|
49
|
+
@temporary_modules = []
|
50
|
+
end
|
51
|
+
|
52
|
+
mod.after do
|
53
|
+
@temporary_modules.each do |mod|
|
54
|
+
Object.send :remove_const, mod.name
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Create a temporary class with the given name and superclass.
|
61
|
+
#
|
62
|
+
def temporary_class(name, superclass=Object, &block)
|
63
|
+
klass = Class.new(superclass)
|
64
|
+
Object.const_set(name, klass)
|
65
|
+
klass.class_eval(&block) if block
|
66
|
+
@temporary_modules << klass
|
67
|
+
klass
|
68
|
+
end
|
69
|
+
|
70
|
+
#
|
71
|
+
# Create a temporary module with the given name.
|
72
|
+
#
|
73
|
+
def temporary_module(name, &block)
|
74
|
+
mod = Module.new
|
75
|
+
Object.const_set(name, mod)
|
76
|
+
mod.class_eval(&block) if block
|
77
|
+
@temporary_modules << mod
|
78
|
+
mod
|
79
|
+
end
|
80
|
+
end
|
data/tasks/extconf.rake
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
namespace :extconf do
|
2
|
+
desc "Compiles the Ruby extension"
|
3
|
+
task :compile
|
4
|
+
end
|
5
|
+
|
6
|
+
task :compile => "extconf:compile"
|
7
|
+
|
8
|
+
task :test => :compile
|
9
|
+
|
10
|
+
BIN = "*.{bundle,jar,so,obj,pdb,lib,def,exp}"
|
11
|
+
$hoe.clean_globs |= ["ext/**/#{BIN}", "lib/**/#{BIN}", 'ext/**/Makefile']
|
12
|
+
$hoe.spec.require_paths = Dir['{lib,ext/*}']
|
13
|
+
$hoe.spec.extensions = FileList["ext/**/extconf.rb"].to_a
|
@@ -0,0 +1,43 @@
|
|
1
|
+
namespace :extconf do
|
2
|
+
extension = File.basename(__FILE__, '.rake')
|
3
|
+
|
4
|
+
ext = "ext/#{extension}"
|
5
|
+
ext_so = "#{ext}/#{extension}.#{Config::CONFIG['DLEXT']}"
|
6
|
+
ext_files = FileList[
|
7
|
+
"#{ext}/*.c",
|
8
|
+
"#{ext}/*.h",
|
9
|
+
"#{ext}/*.rl",
|
10
|
+
"#{ext}/extconf.rb",
|
11
|
+
"#{ext}/Makefile",
|
12
|
+
# "lib"
|
13
|
+
]
|
14
|
+
|
15
|
+
|
16
|
+
task :compile => extension do
|
17
|
+
if Dir.glob("**/#{extension}.{o,so,dll}").length == 0
|
18
|
+
STDERR.puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
19
|
+
STDERR.puts "Gem actually failed to build. Your system is"
|
20
|
+
STDERR.puts "NOT configured properly to build looksee."
|
21
|
+
STDERR.puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
22
|
+
exit(1)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "Builds just the #{extension} extension"
|
27
|
+
task extension.to_sym => ["#{ext}/Makefile", ext_so ]
|
28
|
+
|
29
|
+
file "#{ext}/Makefile" => ["#{ext}/extconf.rb"] do
|
30
|
+
Dir.chdir(ext) do ruby "extconf.rb" end
|
31
|
+
end
|
32
|
+
|
33
|
+
file ext_so => ext_files do
|
34
|
+
Dir.chdir(ext) do
|
35
|
+
sh(RUBY_PLATFORM =~ /win32/ ? 'nmake' : 'make') do |ok, res|
|
36
|
+
if !ok
|
37
|
+
require "fileutils"
|
38
|
+
FileUtils.rm Dir.glob('*.{so,o,dll,bundle}')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
metadata
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: oggy-looksee
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- George Ogata
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-07-05 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: newgem
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.5.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.2.7
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: mocha
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.9.5
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: hoe
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.3.2
|
54
|
+
version:
|
55
|
+
description: Looksee lets you examine the method lookup path of objects in ways not possible in plain ruby.
|
56
|
+
email:
|
57
|
+
- george.ogata@gmail.com
|
58
|
+
executables: []
|
59
|
+
|
60
|
+
extensions:
|
61
|
+
- ext/looksee/extconf.rb
|
62
|
+
extra_rdoc_files:
|
63
|
+
- History.txt
|
64
|
+
- Manifest.txt
|
65
|
+
files:
|
66
|
+
- .autotest
|
67
|
+
- History.txt
|
68
|
+
- Manifest.txt
|
69
|
+
- README.rdoc
|
70
|
+
- Rakefile
|
71
|
+
- ext/looksee/extconf.rb
|
72
|
+
- ext/looksee/looksee.c
|
73
|
+
- ext/looksee/node-1.9.h
|
74
|
+
- lib/looksee.rb
|
75
|
+
- lib/looksee/shortcuts.rb
|
76
|
+
- lib/looksee/version.rb
|
77
|
+
- script/console
|
78
|
+
- script/destroy
|
79
|
+
- script/generate
|
80
|
+
- spec/looksee_spec.rb
|
81
|
+
- spec/spec_helper.rb
|
82
|
+
- tasks/extconf.rake
|
83
|
+
- tasks/extconf/looksee.rake
|
84
|
+
has_rdoc: false
|
85
|
+
homepage: http://github.com/oggy/looksee
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options:
|
88
|
+
- --main
|
89
|
+
- README.rdoc
|
90
|
+
require_paths:
|
91
|
+
- lib
|
92
|
+
- ext/looksee
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
98
|
+
version:
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0"
|
104
|
+
version:
|
105
|
+
requirements: []
|
106
|
+
|
107
|
+
rubyforge_project: looksee
|
108
|
+
rubygems_version: 1.2.0
|
109
|
+
signing_key:
|
110
|
+
specification_version: 3
|
111
|
+
summary: Looksee lets you examine the method lookup path of objects in ways not possible in plain ruby.
|
112
|
+
test_files: []
|
113
|
+
|