faceted 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  faceted
2
2
  =======
3
3
 
4
- Faceted provides set of tools, patterns, and modules for use in API implementations.
4
+ Faceted provides a set of tools, patterns, and modules for use in API implementations.
5
5
 
6
6
  It was written and is maintained by Corey Ehmke (@bantik) and Max Thom Stahl (@villainous) at Trunk Club.
7
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.2
1
+ 0.8.3
data/faceted.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "faceted"
8
- s.version = "0.8.2"
8
+ s.version = "0.8.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Corey Ehmke", "Max Thom Stahl"]
@@ -8,6 +8,7 @@ module Faceted
8
8
  base.extend ActiveModel::Naming
9
9
  base.send(:attr_accessor, :errors)
10
10
  base.send(:attr_accessor, :success)
11
+ base.send(:attr_accessor, :fields)
11
12
  base.extend ClassMethods
12
13
  base.extend Faceted::Model::ModelClassMethods
13
14
  end
@@ -17,6 +18,7 @@ module Faceted
17
18
  module ClassMethods
18
19
 
19
20
  def collects(name, args={})
21
+ @fields = [name]
20
22
  @collects = eval "#{scope}#{args[:class_name] || name.to_s.classify}"
21
23
  define_method :"#{name.downcase}" do
22
24
  objects
@@ -36,13 +38,15 @@ module Faceted
36
38
  # Instance methods =========================================================
37
39
 
38
40
  def initialize(args={})
39
- ! args.empty? && args.symbolize_keys.delete_if{|k,v| v.nil?}.each{|k,v| self.send("#{k}=", v) if self.respond_to?("#{k}=") && ! v.blank? }
41
+ ! args.empty? && args.symbolize_keys.delete_if{|k,v| v.nil?}.each do |k,v|
42
+ self.send("#{k}=", v) if self.respond_to?("#{k}=") && ! v.blank?
43
+ end
40
44
  self.errors = []
41
45
  self.success = true
42
46
  end
43
47
 
44
48
  def to_hash
45
- objects.map{|o| o.to_hash}
49
+ self.class.fields.inject({}){ |h,f| h[f] = self.send(f).map{|o| o.to_hash}; h }
46
50
  end
47
51
 
48
52
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faceted
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -181,7 +181,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
181
  version: '0'
182
182
  segments:
183
183
  - 0
184
- hash: -2280659299618275167
184
+ hash: -13865521977452324
185
185
  required_rubygems_version: !ruby/object:Gem::Requirement
186
186
  none: false
187
187
  requirements: