towsta 0.3.4 → 0.3.5
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/lib/towsta/synchronizer.rb +5 -0
- data/lib/towsta/version.rb +1 -1
- data/lib/towsta/vertical.rb +19 -2
- metadata +3 -3
data/lib/towsta/synchronizer.rb
CHANGED
@@ -68,6 +68,11 @@ module Towsta
|
|
68
68
|
Vertical.all << eval(structure[:name])
|
69
69
|
hash[:verticals][i][:horizontals].each {|horizontal| Vertical.all.last.new horizontal}
|
70
70
|
puts "vertical #{structure[:name]} was created with #{hash[:verticals][i][:horizontals].size} horizontals"
|
71
|
+
if hash[:verticals][i][:occurrences].any?
|
72
|
+
hash[:verticals][i][:occurrences].each do |occurrence|
|
73
|
+
Vertical.all.last.add_occurrence occurrence
|
74
|
+
end
|
75
|
+
end
|
71
76
|
end
|
72
77
|
true
|
73
78
|
end
|
data/lib/towsta/version.rb
CHANGED
data/lib/towsta/vertical.rb
CHANGED
@@ -20,8 +20,8 @@ module Towsta
|
|
20
20
|
args[:slices].each do |attr, kind|
|
21
21
|
eval "def #{attr}= value; #{Vertical.parse_set attr, kind}; end;"
|
22
22
|
eval "def #{attr}; #{Vertical.parse_get attr, kind}; end;"
|
23
|
-
eval "def self.find_by_#{attr} value;
|
24
|
-
eval "def self.find_all_by_#{attr} value;
|
23
|
+
eval "def self.find_by_#{attr} value; #{Vertical.parse_find attr, kind}; nil; end;"
|
24
|
+
eval "def self.find_all_by_#{attr} value; #{Vertical.parse_find_all attr, kind}; end;"
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.count
|
@@ -114,6 +114,12 @@ module Towsta
|
|
114
114
|
nil
|
115
115
|
end
|
116
116
|
|
117
|
+
def self.add_occurrence occurrence
|
118
|
+
self.send(:define_singleton_method, "occurrences_of_#{occurrence[:name].downcase}") do
|
119
|
+
eval occurrence[:items].inspect
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
117
123
|
end
|
118
124
|
klass.all = []
|
119
125
|
klass.attributes = args[:slices].keys
|
@@ -134,9 +140,20 @@ module Towsta
|
|
134
140
|
return "@#{attr} = Vertical.to_dt(value);" if kind == 'datetime'
|
135
141
|
return "@#{attr} = Vertical.to_d(value);" if kind == 'date'
|
136
142
|
return "@#{attr} = User.find value.to_i;" if kind == 'user'
|
143
|
+
return "@#{attr} = value.split(', ');" if kind == 'list'
|
137
144
|
"@#{attr} = value;"
|
138
145
|
end
|
139
146
|
|
147
|
+
def self.parse_find attr, kind
|
148
|
+
return "self.all.each {|e| return e if e.#{attr} == value};" unless kind == 'list'
|
149
|
+
"self.all.each {|e| return e if e.#{attr}.include?(value)};"
|
150
|
+
end
|
151
|
+
|
152
|
+
def self.parse_find_all attr, kind
|
153
|
+
return "found =[]; self.all.each {|e| found << e if e.#{attr} == value}; found;" unless kind == 'list'
|
154
|
+
"found =[]; self.all.each {|e| found << e if e.#{attr}.include?(value)}; found;"
|
155
|
+
end
|
156
|
+
|
140
157
|
def self.to_dt value
|
141
158
|
begin; DateTime.strptime(value, '%m/%d/%Y %H:%M').to_time;
|
142
159
|
rescue; nil; end;
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 5
|
9
|
+
version: 0.3.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Mortaro
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-04-
|
17
|
+
date: 2011-04-28 00:00:00 -03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|