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 +1 -1
- data/VERSION +1 -1
- data/faceted.gemspec +1 -1
- data/lib/faceted/collector.rb +6 -2
- metadata +2 -2
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.
|
1
|
+
0.8.3
|
data/faceted.gemspec
CHANGED
data/lib/faceted/collector.rb
CHANGED
@@ -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
|
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
|
-
|
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.
|
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: -
|
184
|
+
hash: -13865521977452324
|
185
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
186
|
none: false
|
187
187
|
requirements:
|