keytar 1.4.0 → 1.4.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/VERSION +1 -1
- data/keytar.gemspec +6 -6
- data/lib/keytar/key_builder.rb +4 -5
- data/spec/keytar/key_builder_spec.rb +7 -0
- data/spec/keytar/keytar_spec.rb +11 -1
- metadata +19 -21
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.1
|
data/keytar.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{keytar}
|
8
|
-
s.version = "1.4.
|
8
|
+
s.version = "1.4.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date = %q{2011-
|
11
|
+
s.authors = [%q{Schneems}]
|
12
|
+
s.date = %q{2011-08-08}
|
13
13
|
s.description = %q{
|
14
14
|
Keytar is a Ruby on Rails wrapper for KeyBuilder.
|
15
15
|
Use KeyBuilder to automatically generate keys based on class name instead of cluttering model
|
@@ -38,9 +38,9 @@ Gem::Specification.new do |s|
|
|
38
38
|
"spec/spec_helper.rb"
|
39
39
|
]
|
40
40
|
s.homepage = %q{http://github.com/Schnems/keytar}
|
41
|
-
s.licenses = [
|
42
|
-
s.require_paths = [
|
43
|
-
s.rubygems_version = %q{1.6
|
41
|
+
s.licenses = [%q{MIT}]
|
42
|
+
s.require_paths = [%q{lib}]
|
43
|
+
s.rubygems_version = %q{1.8.6}
|
44
44
|
s.summary = %q{A crazy simple library for building keys (in _key_ value store, not house keys) for Ruby on Rails}
|
45
45
|
s.test_files = [
|
46
46
|
"spec/keytar/key_builder_spec.rb",
|
data/lib/keytar/key_builder.rb
CHANGED
@@ -40,21 +40,20 @@ module KeyBuilder
|
|
40
40
|
options.keys.each do |key|
|
41
41
|
options["key_#{key}".to_sym] = options[key] if key.to_s !~ /^key_/
|
42
42
|
end
|
43
|
-
|
44
43
|
names.each do |name|
|
45
44
|
# define (cache) class method
|
46
45
|
(class << self;self ;end).instance_eval do
|
47
46
|
define_method("#{name}_key") do |*args|
|
48
|
-
options.merge
|
49
|
-
build_key(
|
47
|
+
build_options = options.merge(:name => name, :base => self.to_s.downcase, :args => args)
|
48
|
+
build_key(build_options)
|
50
49
|
end
|
51
50
|
end
|
52
51
|
|
53
52
|
# define (cache) instance method
|
54
53
|
class_eval do
|
55
54
|
define_method("#{name}_key") do |*args|
|
56
|
-
options.merge
|
57
|
-
build_key(
|
55
|
+
build_options = options.merge(:name => name, :args => args)
|
56
|
+
build_key(build_options)
|
58
57
|
end
|
59
58
|
end
|
60
59
|
end
|
@@ -14,6 +14,13 @@ describe KeyBuilder do
|
|
14
14
|
@options = {:name => "foo", :args => nil}
|
15
15
|
end
|
16
16
|
|
17
|
+
describe 'manually build key' do
|
18
|
+
it 'works' do
|
19
|
+
foo = Foo.new
|
20
|
+
foo.build_key(:name => "method", :args => "args").should eq("foos:method:args")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
17
24
|
describe 'build_key' do
|
18
25
|
it 'calls other class methods' do
|
19
26
|
Foo.should_receive(:build_key_hash)
|
data/spec/keytar/keytar_spec.rb
CHANGED
@@ -33,6 +33,15 @@ class BarBaz < ActiveRecord::Base
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe Keytar do
|
36
|
+
describe 'class and instance interference' do
|
37
|
+
it 'should not happen' do
|
38
|
+
bar = Bar.create(:name => "whatever")
|
39
|
+
orig_key = Bar.awesome_key(bar.id)
|
40
|
+
bar.awesome_key(bar.id)
|
41
|
+
second_key = Bar.awesome_key(bar.id)
|
42
|
+
second_key.should eq(orig_key)
|
43
|
+
end
|
44
|
+
end
|
36
45
|
|
37
46
|
describe 'cache_key' do
|
38
47
|
it 'allows us to pre-define class methods' do
|
@@ -166,7 +175,7 @@ describe Keytar do
|
|
166
175
|
end
|
167
176
|
|
168
177
|
it 'should change key_unique' do
|
169
|
-
Foo.class_eval { def timeish; (Time.now.to_i * 0.01).floor; end}
|
178
|
+
Foo.class_eval { def timeish; (Time.now.to_i * 0.01).floor.to_s; end}
|
170
179
|
key_unique = :timeish
|
171
180
|
Foo.key_unique key_unique
|
172
181
|
Foo.key_unique.should == key_unique
|
@@ -257,4 +266,5 @@ describe Keytar do
|
|
257
266
|
BarBaz.last.id.should == @id
|
258
267
|
end
|
259
268
|
end
|
269
|
+
|
260
270
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: keytar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 1.4.
|
9
|
+
- 1
|
10
|
+
version: 1.4.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Schneems
|
@@ -15,11 +15,9 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
19
|
-
default_executable:
|
18
|
+
date: 2011-08-08 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
@@ -29,11 +27,11 @@ dependencies:
|
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
version: "0"
|
32
|
-
name: activesupport
|
33
30
|
version_requirements: *id001
|
31
|
+
name: activesupport
|
34
32
|
prerelease: false
|
33
|
+
type: :runtime
|
35
34
|
- !ruby/object:Gem::Dependency
|
36
|
-
type: :development
|
37
35
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
36
|
none: false
|
39
37
|
requirements:
|
@@ -45,11 +43,11 @@ dependencies:
|
|
45
43
|
- 0
|
46
44
|
- 4
|
47
45
|
version: 3.0.4
|
48
|
-
name: activerecord
|
49
46
|
version_requirements: *id002
|
47
|
+
name: activerecord
|
50
48
|
prerelease: false
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
49
|
type: :development
|
50
|
+
- !ruby/object:Gem::Dependency
|
53
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
52
|
none: false
|
55
53
|
requirements:
|
@@ -61,11 +59,11 @@ dependencies:
|
|
61
59
|
- 8
|
62
60
|
- 7
|
63
61
|
version: 0.8.7
|
64
|
-
name: rake
|
65
62
|
version_requirements: *id003
|
63
|
+
name: rake
|
66
64
|
prerelease: false
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
65
|
type: :development
|
66
|
+
- !ruby/object:Gem::Dependency
|
69
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
68
|
none: false
|
71
69
|
requirements:
|
@@ -77,11 +75,11 @@ dependencies:
|
|
77
75
|
- 5
|
78
76
|
- 2
|
79
77
|
version: 1.5.2
|
80
|
-
name: jeweler
|
81
78
|
version_requirements: *id004
|
79
|
+
name: jeweler
|
82
80
|
prerelease: false
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
81
|
type: :development
|
82
|
+
- !ruby/object:Gem::Dependency
|
85
83
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
84
|
none: false
|
87
85
|
requirements:
|
@@ -91,11 +89,11 @@ dependencies:
|
|
91
89
|
segments:
|
92
90
|
- 0
|
93
91
|
version: "0"
|
94
|
-
name: autotest-standalone
|
95
92
|
version_requirements: *id005
|
93
|
+
name: autotest-standalone
|
96
94
|
prerelease: false
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
95
|
type: :development
|
96
|
+
- !ruby/object:Gem::Dependency
|
99
97
|
requirement: &id006 !ruby/object:Gem::Requirement
|
100
98
|
none: false
|
101
99
|
requirements:
|
@@ -105,11 +103,11 @@ dependencies:
|
|
105
103
|
segments:
|
106
104
|
- 0
|
107
105
|
version: "0"
|
108
|
-
name: autotest-growl
|
109
106
|
version_requirements: *id006
|
107
|
+
name: autotest-growl
|
110
108
|
prerelease: false
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
109
|
type: :development
|
110
|
+
- !ruby/object:Gem::Dependency
|
113
111
|
requirement: &id007 !ruby/object:Gem::Requirement
|
114
112
|
none: false
|
115
113
|
requirements:
|
@@ -119,9 +117,10 @@ dependencies:
|
|
119
117
|
segments:
|
120
118
|
- 0
|
121
119
|
version: "0"
|
122
|
-
name: rspec
|
123
120
|
version_requirements: *id007
|
121
|
+
name: rspec
|
124
122
|
prerelease: false
|
123
|
+
type: :development
|
125
124
|
description: "\n Keytar is a Ruby on Rails wrapper for KeyBuilder.\n Use KeyBuilder to automatically generate keys based on class name instead of cluttering model\n definitions with tons of redundant key method declarations.\n "
|
126
125
|
email: richard.schneeman@gmail.com
|
127
126
|
executables: []
|
@@ -147,7 +146,6 @@ files:
|
|
147
146
|
- spec/keytar/key_builder_spec.rb
|
148
147
|
- spec/keytar/keytar_spec.rb
|
149
148
|
- spec/spec_helper.rb
|
150
|
-
has_rdoc: true
|
151
149
|
homepage: http://github.com/Schnems/keytar
|
152
150
|
licenses:
|
153
151
|
- MIT
|
@@ -177,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
175
|
requirements: []
|
178
176
|
|
179
177
|
rubyforge_project:
|
180
|
-
rubygems_version: 1.6
|
178
|
+
rubygems_version: 1.8.6
|
181
179
|
signing_key:
|
182
180
|
specification_version: 3
|
183
181
|
summary: A crazy simple library for building keys (in _key_ value store, not house keys) for Ruby on Rails
|