expo 0.4.4 → 0.5.0
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.
- checksums.yaml +14 -6
- data/lib/expo2.rb +4 -19
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OGNkYWM2OTNlZjgwNzRiMGE3NmM1ODM0ZmEwN2I3OTc3ZTY5OWNlZQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OGFiZDI0OTAxYzE3OTczNWU3NGNjMTA1M2JmM2VmM2U2Y2M1ZWViMA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OTRkYzcxNDcyOWM0ZjcyNGMzNjkyMDFkZDkwOGE0OWZkNmM4MWE4N2IyOGJm
|
10
|
+
YjBlMWQ1ZjllMWZlZTk5MDdhMDNjZWJhMTBkZjliNjAyMWQwOWYwMDYzZjhk
|
11
|
+
MDk2ODM5YzdmNDNlZTc0MjI3NWIxZGEwOGI4YjBkNDM2YzRkODA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MDc3ZTEyZmQ3N2Y5MGE3Yzc5YjhhMjE3NzYwNGUwZjIyMDI1ZWFkM2Y2ODgy
|
14
|
+
YmY3ZGQ0ZTlkY2Y2NGI5N2NlODY4ZDhjMTJkZDJhODY3ODZlOTUyNjcxNGQ3
|
15
|
+
NTU5MTgzMGEyMjNiNzAxMmY4MjNkODE4NDU2MThkZmNiNzIxYjA=
|
data/lib/expo2.rb
CHANGED
@@ -43,7 +43,7 @@ class Expo2
|
|
43
43
|
def go(object, context, index=nil)
|
44
44
|
preso = {}
|
45
45
|
perspective = if self.presenter
|
46
|
-
self.presenter.
|
46
|
+
self.presenter.to_proc.call(object)
|
47
47
|
else
|
48
48
|
object
|
49
49
|
end
|
@@ -79,12 +79,7 @@ class Expo2
|
|
79
79
|
# end
|
80
80
|
class SubExpo < Struct.new(:presenter, :key, :sub_expo, :block)
|
81
81
|
def go(object, context, index=nil, user_expo)
|
82
|
-
|
83
|
-
associated = if assoc.respond_to?(:new)
|
84
|
-
assoc.new(object)
|
85
|
-
else
|
86
|
-
assoc.call(object)
|
87
|
-
end
|
82
|
+
associated = self.presenter.to_proc.call(object)
|
88
83
|
sub = Expo2.new(self.sub_expo, &self.block)
|
89
84
|
if associated
|
90
85
|
{ self.key => sub.expo(associated, context) }
|
@@ -96,12 +91,7 @@ class Expo2
|
|
96
91
|
|
97
92
|
class MergeExpo < Struct.new(:presenter, :sub_expo, :block)
|
98
93
|
def go(object, context, index=nil, user_expo)
|
99
|
-
|
100
|
-
associated = if assoc.respond_to?(:new)
|
101
|
-
assoc.new(object)
|
102
|
-
else
|
103
|
-
assoc.call(object)
|
104
|
-
end
|
94
|
+
associated = self.presenter.to_proc.call(object)
|
105
95
|
sub = Expo2.new(self.sub_expo, &self.block)
|
106
96
|
if associated
|
107
97
|
sub.expo(associated, context)
|
@@ -113,12 +103,7 @@ class Expo2
|
|
113
103
|
|
114
104
|
class SubCollection < Struct.new(:associator, :key, :sub_expo, :block)
|
115
105
|
def go(object, context, index=nil)
|
116
|
-
|
117
|
-
associated = if assoc.respond_to?(:new)
|
118
|
-
assoc.new(object)
|
119
|
-
else
|
120
|
-
assoc.call(object)
|
121
|
-
end
|
106
|
+
associated = self.associator.to_proc.call(object)
|
122
107
|
sub = Expo2.new(self.sub_expo, &self.block)
|
123
108
|
{ self.key => sub.expo_collection(associated, context) }
|
124
109
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serguei Filimonov
|
@@ -10,7 +10,8 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2013-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description: Expo hopes to ease writing smaller, more cohesive objects in a Rails-like
|
14
|
+
setting.
|
14
15
|
email: serguei.filimonov@gmail.com
|
15
16
|
executables: []
|
16
17
|
extensions: []
|
@@ -27,12 +28,12 @@ require_paths:
|
|
27
28
|
- lib
|
28
29
|
required_ruby_version: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- - '>='
|
31
|
+
- - ! '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
35
|
requirements:
|
35
|
-
- - '>='
|
36
|
+
- - ! '>='
|
36
37
|
- !ruby/object:Gem::Version
|
37
38
|
version: '0'
|
38
39
|
requirements: []
|
@@ -40,5 +41,5 @@ rubyforge_project:
|
|
40
41
|
rubygems_version: 2.0.3
|
41
42
|
signing_key:
|
42
43
|
specification_version: 4
|
43
|
-
summary: Expo of object
|
44
|
+
summary: Expo of object perspectives
|
44
45
|
test_files: []
|