characterizable 0.0.8 → 0.0.9
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/characterizable.gemspec +60 -0
- data/lib/characterizable.rb +9 -2
- data/test/test_characterizable.rb +7 -0
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.9
|
@@ -0,0 +1,60 @@
|
|
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 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{characterizable}
|
8
|
+
s.version = "0.0.9"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Andy Rossmeissl", "Seamus Abshere"]
|
12
|
+
s.date = %q{2010-07-06}
|
13
|
+
s.description = %q{Characterize the relationship between "attributes" (getters/setters) of instances of a class}
|
14
|
+
s.email = %q{seamus@abshere.net}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"characterizable.gemspec",
|
27
|
+
"lib/characterizable.rb",
|
28
|
+
"test/helper.rb",
|
29
|
+
"test/test_characterizable.rb"
|
30
|
+
]
|
31
|
+
s.homepage = %q{http://github.com/seamusabshere/characterizable}
|
32
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
33
|
+
s.require_paths = ["lib"]
|
34
|
+
s.rubygems_version = %q{1.3.6}
|
35
|
+
s.summary = %q{Characterize instances of a class}
|
36
|
+
s.test_files = [
|
37
|
+
"test/helper.rb",
|
38
|
+
"test/test_characterizable.rb"
|
39
|
+
]
|
40
|
+
|
41
|
+
if s.respond_to? :specification_version then
|
42
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
43
|
+
s.specification_version = 3
|
44
|
+
|
45
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
46
|
+
s.add_runtime_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
47
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
|
48
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
49
|
+
else
|
50
|
+
s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
51
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
52
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
53
|
+
end
|
54
|
+
else
|
55
|
+
s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
|
56
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
57
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
data/lib/characterizable.rb
CHANGED
@@ -49,9 +49,9 @@ module Characterizable
|
|
49
49
|
memo
|
50
50
|
end
|
51
51
|
end
|
52
|
-
def slice(*
|
52
|
+
def slice(*keep)
|
53
53
|
inject(self.class.new(*survivor_args)) do |memo, ary|
|
54
|
-
if
|
54
|
+
if keep.include?(ary[0])
|
55
55
|
memo[ary[0]] = ary[1]
|
56
56
|
end
|
57
57
|
memo
|
@@ -78,6 +78,13 @@ module Characterizable
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
81
|
+
def slice(*keep)
|
82
|
+
copy = self.class.new *survivor_args
|
83
|
+
copy.keys.each do |key|
|
84
|
+
copy.delete key unless keep.include? key
|
85
|
+
end
|
86
|
+
copy
|
87
|
+
end
|
81
88
|
def target
|
82
89
|
survivor_args.first
|
83
90
|
end
|
@@ -317,4 +317,11 @@ class TestCharacterizable < Test::Unit::TestCase
|
|
317
317
|
end
|
318
318
|
assert_equal [:bar, :foo], Fickle.characteristics.keys.sort { |a, b| a.to_s <=> b.to_s }
|
319
319
|
end
|
320
|
+
|
321
|
+
should 'allow characterizations to be sliced' do
|
322
|
+
a = Automobile.new
|
323
|
+
a.make = 'Ford'
|
324
|
+
assert_equal({ :make => 'Ford' }, a.characteristics)
|
325
|
+
assert_equal({}, a.characteristics.slice(:dummy))
|
326
|
+
end
|
320
327
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 9
|
9
|
+
version: 0.0.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Andy Rossmeissl
|
@@ -74,6 +74,7 @@ files:
|
|
74
74
|
- README.rdoc
|
75
75
|
- Rakefile
|
76
76
|
- VERSION
|
77
|
+
- characterizable.gemspec
|
77
78
|
- lib/characterizable.rb
|
78
79
|
- test/helper.rb
|
79
80
|
- test/test_characterizable.rb
|