faceted 0.8.2 → 0.8.3

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.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: