zeevex_proxy 0.9.2 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - jruby
6
+ script: "bundle exec rake spec"
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in zeevex_proxy.gemspec
4
4
  gemspec
5
+
6
+ group :development do
7
+ gem 'pry'
8
+ end
data/Rakefile CHANGED
@@ -7,15 +7,17 @@ require 'rspec/core/rake_task'
7
7
  RSpec::Core::RakeTask.new(:spec)
8
8
 
9
9
  namespace :spec do
10
+ PLATFORMS = %w{1.9.3-p448 2.0.0-p247 1.8.7-p374 jruby-1.7.4}
11
+
10
12
  desc "Run on three Rubies"
11
13
  task :platforms do
12
- current = %x{rvm-prompt v}
14
+ # current = %x[rbenv version | awk '{print $1}']
13
15
 
14
16
  fail = false
15
- %w{1.8.7 1.9.3}.each do |version|
17
+ PLATFORMS.each do |version|
16
18
  puts "Switching to #{version}"
17
19
  Bundler.with_clean_env do
18
- system %{bash -c 'source ~/.rvm/scripts/rvm && rvm #{version} && bundle exec rake spec'}
20
+ system %{bash -c 'eval "$(rbenv init -)" && rbenv use #{version} && rbenv rehash && rbenv which ruby && ruby -v && rbenv exec bundle exec rake spec'}
19
21
  end
20
22
  if $?.exitstatus != 0
21
23
  fail = true
@@ -23,10 +25,17 @@ namespace :spec do
23
25
  end
24
26
  end
25
27
 
26
- system %{rvm #{current}}
27
-
28
28
  exit (fail ? 1 : 0)
29
29
  end
30
+
31
+ task :platform_setup do
32
+ PLATFORMS.each do |version|
33
+ puts "Switching to #{version}"
34
+ Bundler.with_clean_env do
35
+ system %{bash -c 'eval "$(rbenv init -)" && rbenv use #{version} && rbenv rehash && gem install bundler && bundle install'}
36
+ end
37
+ end
38
+ end
30
39
  end
31
40
 
32
41
  task :default => 'spec'
@@ -1,5 +1,5 @@
1
1
  module ZeevexProxy
2
- if defined? ::BasicObject
2
+ if Object.const_defined?("BasicObject")
3
3
  # A class with no predefined methods that behaves similarly to Builder's
4
4
  # BlankSlate. Used for proxy classes.
5
5
  class BasicObject < ::BasicObject
@@ -10,17 +10,20 @@ module ZeevexProxy
10
10
  def raise(*args)
11
11
  ::Object.send(:raise, *args)
12
12
  end
13
+
14
+ def initialize(*args); end
13
15
  end
14
16
  else
17
+ puts "Defining our own BasicObject"
15
18
  class BasicObject
16
- KEEP_METHODS = %w"__id__ __send__ method_missing __getobj__"
19
+ KEEP_METHODS = %w"__id__ __send__ method_missing __getobj__".map(&:to_sym)
17
20
 
18
21
  def self.remove_methods!
19
- m = (instance_methods) - KEEP_METHODS
22
+ m = (instance_methods.map(&:to_sym)) - KEEP_METHODS
20
23
  m.each{|m| undef_method(m)}
21
24
  end
22
25
 
23
- def initialize(*args)
26
+ def self.inherited(subclass)
24
27
  BasicObject.remove_methods!
25
28
  end
26
29
 
@@ -53,5 +56,9 @@ module ZeevexProxy
53
56
  __substitute_self__(obj.__send__(name, *args, &block), obj)
54
57
  end
55
58
 
59
+ def object_id
60
+ __getobj__.object_id
61
+ end
62
+
56
63
  end
57
64
  end
@@ -1,3 +1,3 @@
1
1
  module ZeevexProxy
2
- VERSION = "0.9.2"
2
+ VERSION = "0.9.4"
3
3
  end
@@ -30,8 +30,6 @@ describe ZeevexProxy::Base do
30
30
  "shouldn't see this one"
31
31
  end
32
32
  end
33
-
34
- class ProxyClass < ZeevexProxy::Base; end
35
33
  end
36
34
 
37
35
  after(:each) do
@@ -42,13 +40,17 @@ describe ZeevexProxy::Base do
42
40
  Responder.new
43
41
  end
44
42
 
43
+ let :proxyclass do
44
+ Class.new(ZeevexProxy::Base)
45
+ end
46
+
45
47
  let :proxy do
46
- ProxyClass.new object
48
+ proxyclass.new object
47
49
  end
48
50
 
49
51
  context "hygiene" do
50
52
  it "should not have instance methods previously defined on Object" do
51
- ProxyClass.instance_methods.should_not include(:responder_method)
53
+ proxyclass.instance_methods.map(&:to_sym).should_not include(:responder_method)
52
54
  end
53
55
  end
54
56
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeevex_proxy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
4
+ hash: 51
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 2
10
- version: 0.9.2
9
+ - 4
10
+ version: 0.9.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Robert Sanders
@@ -15,10 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-01-03 00:00:00 Z
18
+ date: 2013-08-09 00:00:00 -04:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
22
25
  none: false
23
26
  requirements:
24
27
  - - ~>
@@ -29,12 +32,12 @@ dependencies:
29
32
  - 9
30
33
  - 0
31
34
  version: 2.9.0
32
- prerelease: false
33
35
  type: :development
34
- name: rspec
35
- requirement: *id001
36
+ version_requirements: *id001
36
37
  - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ name: rake
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
38
41
  none: false
39
42
  requirements:
40
43
  - - ">="
@@ -43,10 +46,8 @@ dependencies:
43
46
  segments:
44
47
  - 0
45
48
  version: "0"
46
- prerelease: false
47
49
  type: :development
48
- name: rake
49
- requirement: *id002
50
+ version_requirements: *id002
50
51
  description: This is a Proxy object; there are many others like it, but this one is ours.
51
52
  email:
52
53
  - robert@zeevex.com
@@ -58,7 +59,7 @@ extra_rdoc_files: []
58
59
 
59
60
  files:
60
61
  - .gitignore
61
- - .rvmrc
62
+ - .travis.yml
62
63
  - Gemfile
63
64
  - Rakefile
64
65
  - lib/zeevex_proxy.rb
@@ -67,6 +68,7 @@ files:
67
68
  - spec/proxy_base_spec.rb
68
69
  - spec/spec_helper.rb
69
70
  - zeevex_proxy.gemspec
71
+ has_rdoc: true
70
72
  homepage: ""
71
73
  licenses: []
72
74
 
@@ -96,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
98
  requirements: []
97
99
 
98
100
  rubyforge_project: zeevex_proxy
99
- rubygems_version: 1.8.24
101
+ rubygems_version: 1.6.2
100
102
  signing_key:
101
103
  specification_version: 3
102
104
  summary: Our homegrown version of a Proxy object
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use ree@zeevex_gems --create