lazy_const 0.1.1 → 0.1.2

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/README.rdoc CHANGED
@@ -8,6 +8,8 @@ A simple way of defining lazy evaluated, const-like instances of a class.
8
8
 
9
9
  == Example
10
10
 
11
+ === Basic Usage
12
+
11
13
  class Group
12
14
  extend LazyConst
13
15
  lazy_const :EVERYONE do
@@ -32,6 +34,24 @@ A simple way of defining lazy evaluated, const-like instances of a class.
32
34
  end
33
35
  end
34
36
 
37
+ === Testing with RSpec
38
+
39
+ spec/spec_helper.rb:
40
+ require 'lazy_const/spec'
41
+
42
+ lib/some_class.rb:
43
+ class SomeClass
44
+ extend LazyConst
45
+ lazy_const :IMPORTANT_INSTACE do
46
+ new(:hotness)
47
+ end
48
+ end
49
+
50
+ spec/some_spec.rb:
51
+ describe MyClass do
52
+ defines_const :IMPORTANT_INSTANCE
53
+ # ...
54
+ end
35
55
 
36
56
  == Contributing to lazy_const
37
57
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -0,0 +1,62 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "lazy_const"
8
+ s.version = "0.1.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Ryan Graham"]
12
+ s.date = "2013-03-13"
13
+ s.description = "Allows you to define lazy evaluated, constant-like instances of your class."
14
+ s.email = "r.m.graham@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lazy_const.gemspec",
27
+ "lib/lazy_const.rb",
28
+ "lib/lazy_const/spec.rb",
29
+ "test/helper.rb",
30
+ "test/test_lazy_const.rb"
31
+ ]
32
+ s.homepage = "http://github.com/rmg/lazy_const"
33
+ s.licenses = ["MIT"]
34
+ s.require_paths = ["lib"]
35
+ s.rubygems_version = "1.8.23"
36
+ s.summary = "A little Ruby gem for defining lazy evaluated constants."
37
+
38
+ if s.respond_to? :specification_version then
39
+ s.specification_version = 3
40
+
41
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_development_dependency(%q<minitest>, [">= 0"])
43
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
44
+ s.add_development_dependency(%q<bundler>, [">= 0"])
45
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
46
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
47
+ else
48
+ s.add_dependency(%q<minitest>, [">= 0"])
49
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
50
+ s.add_dependency(%q<bundler>, [">= 0"])
51
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
52
+ s.add_dependency(%q<simplecov>, [">= 0"])
53
+ end
54
+ else
55
+ s.add_dependency(%q<minitest>, [">= 0"])
56
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
57
+ s.add_dependency(%q<bundler>, [">= 0"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
59
+ s.add_dependency(%q<simplecov>, [">= 0"])
60
+ end
61
+ end
62
+
data/lib/lazy_const.rb CHANGED
@@ -4,7 +4,7 @@ module LazyConst
4
4
 
5
5
  def lazy_const(name, &block)
6
6
  raise Error("lazy_const requires a block") unless block_given?
7
- LazyConst::CACHE.delete "#{self.name}.#{name}"
7
+ LazyConst::CACHE["#{self.name}.#{name}"] = nil
8
8
  define_singleton_method name do
9
9
  LazyConst::CACHE["#{self.name}.#{name}"] ||= block.call
10
10
  end
@@ -14,7 +14,7 @@ module LazyConst
14
14
  self.clear
15
15
  LazyConst::CACHE.keys.each do |class_dot_name|
16
16
  klass, name = class_dot_name.split('.')
17
- m = klass.constantize.send name.to_sym
17
+ m = klass.constantize.public_send name.to_sym
18
18
  end
19
19
  end
20
20
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: lazy_const
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ryan Graham
@@ -106,6 +106,7 @@ files:
106
106
  - README.rdoc
107
107
  - Rakefile
108
108
  - VERSION
109
+ - lazy_const.gemspec
109
110
  - lib/lazy_const.rb
110
111
  - lib/lazy_const/spec.rb
111
112
  - test/helper.rb
@@ -124,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
125
  - !ruby/object:Gem::Version
125
126
  segments:
126
127
  - 0
127
- hash: -1179012992254753023
128
+ hash: 982838098353150692
128
129
  version: '0'
129
130
  required_rubygems_version: !ruby/object:Gem::Requirement
130
131
  none: false