catalyst_automation 0.0.0.4 → 0.0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/catalyst_automation.rb +106 -41
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfbce1b22f9594c47cb9442d2e8ed8ca155f84a6
4
- data.tar.gz: 35eeda8a39846a92ce14ab0950e40ed6121151da
3
+ metadata.gz: 1a84486d4ea2c2a7921d65a7f09816f384849fb9
4
+ data.tar.gz: 320b180bd1147dc3e5590f0c1ecb2c87df68e54c
5
5
  SHA512:
6
- metadata.gz: 5764274032f0cf351ecb8c1edc5e63b3011b590cf9bd61ec0d803cb0e52a956dca3842efbfbfd6c8e8ab567a033f4c511705074eabfe773d1e932706afb168ae
7
- data.tar.gz: f9a3aaf234e95496d26ab26165e8b83f929a001a2727526038a3dfabf0898ce13df75d0fc9ebb3d5662ac0a1f523457614a17de3407cb02964fd9ca8244f562e
6
+ metadata.gz: e2c402702a10feb993cfa11d31870a4f849c9982baa0754413a136dce2d6a675fd095b7f9e8e4d0554ab51d52d9194d1c24ee6e1ad5ece0cf4da73d95532f9f2
7
+ data.tar.gz: b58276c27a3cbeba968522ac8ec95c671b2d856672ae2b1bcde30388b818828512efdd20c8e9c3bfc0772bec60f6734a83917ed6196671e00d2d4fef860acb99
@@ -3,35 +3,48 @@ require 'json'
3
3
  require 'bson'
4
4
  require 'site_prism'
5
5
 
6
-
7
6
  module CatalystAutomation
8
7
 
9
8
  class WithJson
10
-
11
- def self.initialize(pages)
12
- pages_json = JSON.parse(pages, sections)
9
+
10
+ def self.initialize(test_data, pages, actions, sections)
11
+ test_data_json = JSON.parse(test_data)
12
+ pages_json = JSON.parse(pages)
13
+ #actions_json = JSON.parse(actions)
13
14
  sections_json = JSON.parse(sections)
14
- Base.create_pages(pages_json, sections_json)
15
+
16
+ Base.create_test_data(test_data_json)
15
17
  Base.create_sections(sections_json)
18
+ Base.create_iframes(pages_json, sections_json)
19
+ Base.create_pages(pages_json, sections_json)
20
+ Base.create_iframe_actions(actions_json)
21
+ #Base.create_actions(actions_json)
16
22
  end
17
-
23
+
18
24
  end
19
25
 
20
26
  class WithDataBase
21
-
27
+
22
28
  def self.initialize(conn_str)
23
29
  Base.connect_db(conn_str) do |db|
30
+ db_test_data = Base.get_db_info(db, :test_data)
24
31
  db_pages = Base.get_db_info(db, :pages)
32
+ #db_actions = Base.get_db_info(db, :actions)
25
33
  db_sections = Base.get_db_info(db, :sections)
26
- Base.create_pages(db_pages, db_sections)
34
+
35
+ Base.create_test_data(db_test_data)
27
36
  Base.create_sections(db_sections)
37
+ Base.create_iframes(db_pages, db_sections)
38
+ Base.create_pages(db_pages, db_sections)
39
+ #Base.create_iframe_actions(db_actions)
40
+ #Base.create_actions(db_actions)
28
41
  end
29
42
  end
30
-
43
+
31
44
  end
32
-
45
+
33
46
  class Base
34
-
47
+
35
48
  def self.create_const(const_name, key, const_type)
36
49
  Object.const_set(const_name[(const_name.class.eql?(Symbol) ? key : key.to_s)], const_type)
37
50
  end
@@ -57,7 +70,7 @@ module CatalystAutomation
57
70
  end
58
71
  end
59
72
  end
60
-
73
+
61
74
  def self.set_iframes(const_name, key, db_pages)
62
75
  Object.const_get(const_name[(const_name.kind_of?(Symbol) ? :name : "name")]).class_eval do
63
76
  const_name[(const_name.kind_of?(Symbol) ? :iframes : "iframes")].each do |iframe|
@@ -66,12 +79,13 @@ module CatalystAutomation
66
79
  if iframe[:iframe_id].to_s.eql?(db_page[:_id].to_s)
67
80
  m_iframe_name = db_page[const_name.kind_of?(Symbol) ? :name : "name"]
68
81
  end
82
+
69
83
  end
70
84
  send(:iframe, iframe[(const_name.kind_of?(Symbol) ? :name : "name")], Object.const_get(m_iframe_name), iframe[(const_name.kind_of?(Symbol) ? :path : "path")])
71
- end
85
+ end
72
86
  end
73
87
  end
74
-
88
+
75
89
  def self.connect_db(conn_str)
76
90
  db_conn = Mongo::Client.new(conn_str)
77
91
  begin
@@ -80,7 +94,7 @@ module CatalystAutomation
80
94
  raise error
81
95
  end
82
96
  end
83
-
97
+
84
98
  def self.get_db_info(db_con, info)
85
99
  m_info = []
86
100
  db_info = db_con.database[info].find()
@@ -89,7 +103,7 @@ module CatalystAutomation
89
103
  end
90
104
  return m_info
91
105
  end
92
-
106
+
93
107
  def self.create_sections(db_pages)
94
108
  db_pages.each do |section|
95
109
  create_const(section, :name, Class.new(SitePrism::Section))
@@ -119,31 +133,82 @@ module CatalystAutomation
119
133
  end
120
134
  end
121
135
  end
122
-
123
- def self.connect_db(conn_str)
124
- db_conn = Mongo::Client.new(conn_str)
125
- begin
126
- yield db_conn
127
- rescue => error
128
- raise error
129
- end
130
- end
131
-
132
- def self.get_db_info(db_con, info)
133
- m_info = []
134
- db_info = db_con.database[info].find()
135
- db_info.each_entry do |entry|
136
- m_info << entry
137
- end
138
- return m_info
139
- end
140
-
141
- def self.create_sections(db_pages)
142
- db_pages.each do |section|
143
- create_const(section, :name, Class.new(SitePrism::Section))
144
- set_elements(section, :name)
136
+
137
+ # def self.create_iframe_actions(db_actions)
138
+ # db_actions.each do |page|
139
+ # if page[page.class.eql?(Symbol) ? :type : "type"].eql? "iframe_action"
140
+ # Object.const_get(page[(page.class.eql?(Symbol) ? :name : "name")]).class_eval do
141
+ # page[(page.class.eql?(Symbol) ? :actions : "actions")].each do |iaction|
142
+ # define_method iaction[page.kind_of?(Symbol) ? :name : "name"].to_sym do
143
+ # iaction[page.kind_of?(Symbol) ? :action_methods : "action_methods"].each do |action_method|
144
+ # m_iframe = iaction[page.kind_of?(Symbol) ? :iframe_name : "iframe_name"]
145
+ # m_func = action_method[page.kind_of?(Symbol) ? :name : "name"].split('_').last
146
+ # elem_array = action_method[page.kind_of?(Symbol) ? :name : "name"].split('_')
147
+ # elem_array.pop
148
+ # func_name = ""
149
+ # elem_array.each do |e|
150
+ # func_name = func_name + "#{e}_"
151
+ # end
152
+ # func_name = func_name[0...-1]
153
+ # func_name = "#{func_name}.#{m_func}"
154
+ # param = action_method[page.kind_of?(Symbol) ? :param : "param"]
155
+ # if !param.eql?("no_param")
156
+ # eval("#{m_iframe} { |frame| frame.#{func_name}(#{param})}")
157
+ # else
158
+ # eval("#{m_iframe} { |frame| frame.#{func_name}}")
159
+ # end
160
+ # end
161
+ # end
162
+ # end
163
+ # end
164
+ # end
165
+ # end
166
+ # #end
167
+ # end
168
+
169
+ # def self.create_actions(db_actions)
170
+ # db_actions.each do |page|
171
+ # if page[page.class.eql?(Symbol) ? :type : "type"].eql? "page_action"
172
+ # Object.const_get(page[(page.class.eql?(Symbol) ? :name : "name")]).class_eval do
173
+ # page[page.class.eql?(Symbol) ? :actions : "actions"].each do |action|
174
+ # define_method action[page.kind_of?(Symbol) ? :name : "name"].to_sym do
175
+ # action[page.kind_of?(Symbol) ? :action_methods : "action_methods"].each do |method|
176
+ # m_func = method[page.kind_of?(Symbol) ? :name : "name"].split('_').last
177
+ # elem_array = method[page.kind_of?(Symbol) ? :name : "name"].split('_')
178
+ # elem_array.pop
179
+ # func_name = ""
180
+ # elem_array.each do |e|
181
+ # func_name = func_name + "#{e}_"
182
+ # end
183
+ # func_name = func_name[0...-1]
184
+ # func_name = "#{func_name}.#{m_func}"
185
+ # param = method[page.kind_of?(Symbol) ? :param : "param"]
186
+ # if !param.eql?("no_param")
187
+ # eval("#{func_name}(#{param})")
188
+ # else
189
+ # eval("#{func_name}")
190
+ # end
191
+ # end
192
+ # end
193
+ # end
194
+ # end
195
+ # end
196
+ # end
197
+ # end
198
+
199
+ def self.create_test_data(db_test_data)
200
+ db_test_data.each do |data|
201
+ create_const(data, :name, Class.new)
202
+ Object.const_get(data[(data.class.eql?(Symbol) ? :name : "name")]).class_eval do
203
+ data[(data.class.eql?(Symbol) ? :attributes : "attributes")].each do |attrs|
204
+ name = attrs[(data.kind_of?(Symbol) ? :name : "name")]
205
+ value = attrs[(data.kind_of?(Symbol) ? :value : "value")]
206
+ define_method name.to_sym do
207
+ value
208
+ end
209
+ end
210
+ end
145
211
  end
146
212
  end
147
-
148
213
  end
149
- end
214
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: catalyst_automation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.4
4
+ version: 0.0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Broersma