hashed 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Hashed
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/hashed.rb CHANGED
@@ -2,10 +2,14 @@ require "hashed/version"
2
2
  require "active_record"
3
3
 
4
4
  module Hashed
5
- def hashed(field = :id)
5
+ def hashed(opts = { field: :id, only_field: false })
6
+ opts = { field: opts } if opts.is_a? Symbol
6
7
  result = {}
7
8
 
8
- self.all.each { |row| result[row.send(field)] = row }
9
+ self.all.each do |row|
10
+ result[row.send(opts[:field])] = (opts[:only_field] ? row.send(opts[:only_field]) : row)
11
+ end
12
+
9
13
  result
10
14
  end
11
15
  end
@@ -10,4 +10,8 @@ describe Hashed do
10
10
  Post.find(2).created_at => Post.find(2) })
11
11
  end
12
12
 
13
+ it "return id-keyed hash with one value" do
14
+ Post.hashed(field: :id, only_field: :created_at).should eq({ 1 => Post.find(1).created_at, 2 => Post.find(2).created_at })
15
+ end
16
+
13
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70195897605540 !ruby/object:Gem::Requirement
16
+ requirement: &70130655171420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70195897605540
24
+ version_requirements: *70130655171420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3-ruby
27
- requirement: &70195897605120 !ruby/object:Gem::Requirement
27
+ requirement: &70130659624140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70195897605120
35
+ version_requirements: *70130659624140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activerecord
38
- requirement: &70195897604620 !ruby/object:Gem::Requirement
38
+ requirement: &70130659623640 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '3.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70195897604620
46
+ version_requirements: *70130659623640
47
47
  description: Makes hash from AR objects collection
48
48
  email:
49
49
  - rinat.crone@gmail.com
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  version: '0'
86
86
  requirements: []
87
87
  rubyforge_project: hashed
88
- rubygems_version: 1.8.10
88
+ rubygems_version: 1.8.11
89
89
  signing_key:
90
90
  specification_version: 3
91
91
  summary: Makes hash from AR objects collection