lazyeval 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG ADDED
@@ -0,0 +1,3 @@
1
+ * 0.0.3
2
+ - ruby 1.9 support
3
+ - bundler instead of jeweler
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in lazyeval.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,21 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lazyeval (0.0.3)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rake (10.0.4)
10
+ thoughtbot-shoulda (2.11.1)
11
+ yard (0.8.6.1)
12
+
13
+ PLATFORMS
14
+ ruby
15
+
16
+ DEPENDENCIES
17
+ bundler (~> 1.3)
18
+ lazyeval!
19
+ rake
20
+ thoughtbot-shoulda
21
+ yard
@@ -1,4 +1,6 @@
1
- Copyright (c) 2009 Vitaly Kushner
1
+ Copyright (c) 2009-2013 Vitaly Kushner
2
+
3
+ MIT License
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
data/README.markdown CHANGED
@@ -20,17 +20,20 @@ accessed.
20
20
  user_name = User.lazy { |user| user.find(:first).user_name } # no db access
21
21
  puts user_name # db will be accessed here
22
22
 
23
- ## Note on Patches/Pull Requests
23
+ ## Contributing
24
24
 
25
- * Fork the project.
26
- * Make your feature addition or bug fix.
27
- * Add tests for it. This is important so I don't break it in a future version
28
- unintentionally.
29
- * Commit, do not mess with rakefile, version, or history.
30
- (if you want to have your own version, that is fine but bump version in a
31
- commit by itself I can ignore when I pull)
32
- * Send me a pull request. Bonus points for topic branches.
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Add tests for it. This is important so I don't break it in a future version
28
+ unintentionally.
29
+ 4. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 5. Push to the branch (`git push origin my-new-feature`)
31
+ 6. Create new Pull Request
32
+
33
+ > NOTE: do not mess with rakefile, version, or history. (if you want to have
34
+ > your own version, that is fine but bump version in a commit by itself I can
35
+ > ignore when I pull)
33
36
 
34
37
  ## Copyright
35
38
 
36
- Copyright (c) 2010 Vitaly Kushner. See LICENSE for details.
39
+ Copyright (c) 2009-2013 Vitaly Kushner. See LICENSE.txt for details.
data/Rakefile CHANGED
@@ -1,27 +1,4 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "lazyeval"
8
- gem.summary = %Q{This gem provides a very simple lazy evaluation for Ruby}
9
- gem.description = %Q{This GEM allows to call methods lazily. The actual work will not be
10
- performed until the result is used. There's no promise/force semantics, just a
11
- single call (or block) is stored and executed the first time the (lazy) result
12
- is accessed.
13
- }
14
- gem.email = "vitaly@astrails.com"
15
- gem.homepage = "http://github.com/vitaly/lazyeval"
16
- gem.authors = ["Vitaly Kushner"]
17
- gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
18
- gem.add_development_dependency "yard", ">= 0"
19
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
20
- end
21
- Jeweler::GemcutterTasks.new
22
- rescue LoadError
23
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
24
- end
1
+ require "bundler/gem_tasks"
25
2
 
26
3
  require 'rake/testtask'
27
4
  Rake::TestTask.new(:test) do |test|
@@ -43,8 +20,6 @@ rescue LoadError
43
20
  end
44
21
  end
45
22
 
46
- task :test => :check_dependencies
47
-
48
23
  task :default => :test
49
24
 
50
25
  begin
data/lazyeval.gemspec CHANGED
@@ -1,85 +1,28 @@
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 -*-
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'lazyeval/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{lazyeval}
8
- s.version = "0.0.2"
7
+ s.name = "lazyeval"
8
+ s.version = Lazy::VERSION
9
+ s.authors = ["Vitaly Kushner"]
10
+ s.email = ["vitaly@astrails.com"]
11
+ s.description = %q{This GEM allows to call methods lazily. The actual
12
+ work will not be performed until the result is used. There's no
13
+ promise/force semantics, just a single call (or block) is stored and
14
+ executed the first time the (lazy) result is accessed. }
15
+ s.summary = %q{This gem provides a very simple lazy evaluation for Ruby}
16
+ s.homepage = %q{http://github.com/vitaly/lazyeval}
17
+ s.license = "MIT"
9
18
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Vitaly Kushner"]
12
- s.date = %q{2010-05-11}
13
- s.description = %q{This GEM allows to call methods lazily. The actual work will not be
14
- performed until the result is used. There's no promise/force semantics, just a
15
- single call (or block) is stored and executed the first time the (lazy) result
16
- is accessed.
17
- }
18
- s.email = %q{vitaly@astrails.com}
19
- s.extra_rdoc_files = [
20
- "LICENSE",
21
- "README.markdown"
22
- ]
23
- s.files = [
24
- ".document",
25
- ".gitignore",
26
- ".yardoc/checksums",
27
- ".yardoc/objects/Lazy.dat",
28
- ".yardoc/objects/Lazy/initialize_i.dat",
29
- ".yardoc/objects/Lazy/method_missing_i.dat",
30
- ".yardoc/objects/Object.dat",
31
- ".yardoc/objects/Object/lazy_i.dat",
32
- ".yardoc/objects/root.dat",
33
- ".yardoc/proxy_types",
34
- "LICENSE",
35
- "README.markdown",
36
- "Rakefile",
37
- "VERSION",
38
- "doc/Lazy.html",
39
- "doc/Object.html",
40
- "doc/_index.html",
41
- "doc/class_list.html",
42
- "doc/css/common.css",
43
- "doc/css/full_list.css",
44
- "doc/css/style.css",
45
- "doc/file.README.html",
46
- "doc/file_list.html",
47
- "doc/frames.html",
48
- "doc/index.html",
49
- "doc/js/app.js",
50
- "doc/js/full_list.js",
51
- "doc/js/jquery.js",
52
- "doc/method_list.html",
53
- "doc/top-level-namespace.html",
54
- "lazyeval.gemspec",
55
- "lib/lazyeval.rb",
56
- "test/helper.rb",
57
- "test/test_lazyeval.rb"
58
- ]
59
- s.homepage = %q{http://github.com/vitaly/lazyeval}
60
- s.rdoc_options = ["--charset=UTF-8"]
19
+ s.files = `git ls-files`.split($/)
20
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
61
22
  s.require_paths = ["lib"]
62
- s.rubygems_version = %q{1.3.5}
63
- s.summary = %q{This gem provides a very simple lazy evaluation for Ruby}
64
- s.test_files = [
65
- "test/helper.rb",
66
- "test/test_lazyeval.rb"
67
- ]
68
23
 
69
- if s.respond_to? :specification_version then
70
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
71
- s.specification_version = 3
72
-
73
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
74
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
75
- s.add_development_dependency(%q<yard>, [">= 0"])
76
- else
77
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
78
- s.add_dependency(%q<yard>, [">= 0"])
79
- end
80
- else
81
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
82
- s.add_dependency(%q<yard>, [">= 0"])
83
- end
24
+ s.add_development_dependency 'bundler', '~> 1.3'
25
+ s.add_development_dependency 'rake'
26
+ s.add_development_dependency 'thoughtbot-shoulda'
27
+ s.add_development_dependency 'yard'
84
28
  end
85
-
@@ -0,0 +1,3 @@
1
+ class Lazy
2
+ VERSION = '0.0.3'
3
+ end
data/lib/lazyeval.rb CHANGED
@@ -4,8 +4,8 @@ class Object
4
4
  end
5
5
  end
6
6
 
7
- class Lazy
8
- undef_method(*(instance_methods - %w/__id__ __send__ respond_to? debugger/))
7
+ class Lazy < (::RUBY_VERSION < '1.9') ? Object : BasicObject
8
+ undef_method(*(instance_methods - %w/__id__ __send__ respond_to? debugger/)) if ::RUBY_VERSION < '1.9'
9
9
 
10
10
  def initialize(obj, &block)
11
11
  @obj, @block = obj, block
@@ -22,7 +22,7 @@ class Lazy
22
22
  @res = @args ? @obj.send(*@args, &@block) : @block.call(@obj)
23
23
  @done = true
24
24
  end
25
-
25
+
26
26
  @res.send(*args, &block)
27
27
  end
28
28
  end
@@ -5,7 +5,7 @@ class TestLazyeval < Test::Unit::TestCase
5
5
  src = [:a, :b]
6
6
  x = src.lazy.shift
7
7
  assert_equal [:a, :b], src
8
- assert_equal x, :a # :a.==(x) will fail, as x is a proxy. x.==(a) works
8
+ assert x === :a
9
9
  assert_equal [:b], src
10
10
  end
11
11
 
@@ -14,7 +14,7 @@ class TestLazyeval < Test::Unit::TestCase
14
14
  x = src.lazy { |x| x.shift*3 }
15
15
 
16
16
  assert_equal [1, 2], src
17
- assert_equal x, 3
17
+ assert x === 3
18
18
  assert_equal [2], src
19
19
  end
20
20
  end
metadata CHANGED
@@ -1,52 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: lazyeval
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.3
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Vitaly Kushner
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2010-05-11 00:00:00 +03:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2013-06-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.3'
22
+ requirement: !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ version: '1.3'
28
+ type: :development
29
+ prerelease: false
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirement: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ - !ruby/object:Gem::Dependency
16
47
  name: thoughtbot-shoulda
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirement: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
17
60
  type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
25
- - !ruby/object:Gem::Dependency
61
+ prerelease: false
62
+ - !ruby/object:Gem::Dependency
26
63
  name: yard
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirement: !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
27
76
  type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
34
- version:
35
- description: |
36
- This GEM allows to call methods lazily. The actual work will not be
37
- performed until the result is used. There's no promise/force semantics, just a
38
- single call (or block) is stored and executed the first time the (lazy) result
39
- is accessed.
40
-
41
- email: vitaly@astrails.com
77
+ prerelease: false
78
+ description: ! "This GEM allows to call methods lazily. The actual\n work will not
79
+ be performed until the result is used. There's no\n promise/force semantics, just
80
+ a single call (or block) is stored and\n executed the first time the (lazy) result
81
+ is accessed. "
82
+ email:
83
+ - vitaly@astrails.com
42
84
  executables: []
43
-
44
85
  extensions: []
45
-
46
- extra_rdoc_files:
47
- - LICENSE
48
- - README.markdown
49
- files:
86
+ extra_rdoc_files: []
87
+ files:
50
88
  - .document
51
89
  - .gitignore
52
90
  - .yardoc/checksums
@@ -57,10 +95,12 @@ files:
57
95
  - .yardoc/objects/Object/lazy_i.dat
58
96
  - .yardoc/objects/root.dat
59
97
  - .yardoc/proxy_types
60
- - LICENSE
98
+ - CHANGELOG
99
+ - Gemfile
100
+ - Gemfile.lock
101
+ - LICENSE.txt
61
102
  - README.markdown
62
103
  - Rakefile
63
- - VERSION
64
104
  - doc/Lazy.html
65
105
  - doc/Object.html
66
106
  - doc/_index.html
@@ -79,36 +119,34 @@ files:
79
119
  - doc/top-level-namespace.html
80
120
  - lazyeval.gemspec
81
121
  - lib/lazyeval.rb
122
+ - lib/lazyeval/version.rb
82
123
  - test/helper.rb
83
124
  - test/test_lazyeval.rb
84
- has_rdoc: true
85
125
  homepage: http://github.com/vitaly/lazyeval
86
- licenses: []
87
-
126
+ licenses:
127
+ - MIT
88
128
  post_install_message:
89
- rdoc_options:
90
- - --charset=UTF-8
91
- require_paths:
129
+ rdoc_options: []
130
+ require_paths:
92
131
  - lib
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:
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
105
144
  requirements: []
106
-
107
145
  rubyforge_project:
108
- rubygems_version: 1.3.5
146
+ rubygems_version: 1.8.25
109
147
  signing_key:
110
148
  specification_version: 3
111
149
  summary: This gem provides a very simple lazy evaluation for Ruby
112
- test_files:
150
+ test_files:
113
151
  - test/helper.rb
114
152
  - test/test_lazyeval.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.2